Fulfill Ulf's suggestions and minor design fixes

This commit is contained in:
Wolfgang Huß 2021-07-13 13:54:18 +02:00
parent d8c879b373
commit 1f6a0874c9
7 changed files with 40 additions and 30 deletions

View File

@ -63,7 +63,15 @@ Take one of the IPs of perhaps two or more droplets in your cluster from the lis
### Manage DNS With DigitalOcean
TODO: Describe what the purpose is and how to implement it …
***TODO:** How to configure the DigitalOcean DNS management service …*
To understand what makes sense to do when managing your DNS with DigitalOcean, you need to know how DNS works:
DNS means `Domain Name System`. It resolves domains like `example.com` into an IP like `123.123.123`.
DigitalOcean is not a domain registrar, but provides a DNS management service. If you use DigitalOcean's DNS management service, you can configure [your cluster](/deployment/kubernetes/README.md#dns) to always resolve the domain to the correct IP and automatically update it for that.
The IPs of the DigitalOcean machines are not necessarily stable, so the cluster's DNS service will update the DNS records managed by DigitalOcean to the new IP as needed.
***CAUTION:** If you are using an external DNS, you currently have to do this manually, which can cause downtime.*
## Deploy

View File

@ -15,7 +15,7 @@ Managed Kubernetes:
You can customize the network server with your configuration by duplicate the `values.template.yaml` to a new `values.yaml` file and change it to your need. All included variables will be available as environment variables in your deployed kubernetes pods.
Besides the `values.template.yaml` file we provide a `nginx.values.template.yaml` and `dns.values.template.yaml` for a similar procedure. The new `nginx.values.yaml` is the configuration for the ingress-nginx Helm chart, while the `dns.values.yaml` file is for automatically updating the dns values on digital ocean and therefore optional.
Besides the `values.template.yaml` file we provide a `nginx.values.template.yaml` and `dns.values.template.yaml` for a similar procedure. The new `nginx.values.yaml` is the configuration for the ingress-nginx Helm chart, while the `dns.values.yaml` file is for automatically updating the dns values on DigitalOcean and therefore optional.
## Installation
@ -27,7 +27,7 @@ Please refer to [cert-manager.io docs](https://cert-manager.io/docs/installation
***ATTENTION:*** *Be with the Terminal in your repository in the folder of this README.*
1. Create Namespace
#### 1. Create Namespace
```bash
# kubeconfig.yaml set globaly
@ -36,14 +36,14 @@ $ kubectl create namespace cert-manager
$ kubectl --kubeconfig=/../kubeconfig.yaml create namespace cert-manager
```
2. Add Helm repository and update
#### 2. Add Helm repository and update
```bash
$ helm repo add jetstack https://charts.jetstack.io
$ helm repo update
```
3. Install Cert-Manager Helm chart
#### 3. Install Cert-Manager Helm chart
```bash
# option 1
@ -66,14 +66,14 @@ $ helm --kubeconfig=/../kubeconfig.yaml \
### Ingress-Nginx
1. Add Helm repository and update
#### 1. Add Helm repository and update
```bash
$ helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
$ helm repo update
```
2. Install ingress-nginx
#### 2. Install ingress-nginx
```bash
# kubeconfig.yaml set globaly
@ -86,7 +86,7 @@ $ helm --kubeconfig=/../kubeconfig.yaml install ingress-nginx ingress-nginx/ingr
This is only necessary if you run DigitalOcean without load balancer ([see here for more info](https://stackoverflow.com/questions/54119399/expose-port-80-on-digital-oceans-managed-kubernetes-without-a-load-balancer/55968709)) .
1. Authenticate towards DO with your local `doctl`
#### 1. Authenticate towards DO with your local `doctl`
You will need a DO token for that.
@ -99,7 +99,7 @@ $ doctl auth init --context <new-context-name>
You will need an API token, which you can generate in the control panel at <https://cloud.digitalocean.com/account/api/tokens> .
2. Generate DO firewall
#### 2. Generate DO firewall
Get the `CLUSTER_UUID` value from the dashboard or from the ID column via `doctl kubernetes cluster list`:
@ -134,17 +134,19 @@ $ doctl compute firewall get <ID> --context <context-name>
### DNS
***TODO:** I thought this is necessary if we use the DigitalOcean DNS management service? See [Manage DNS With DigitalOcean](/deployment/kubernetes/DigitalOcean.md#manage-dns-with-digitalocean)*
This chart is only necessary (recommended is more precise) if you run DigitalOcean without load balancer.
You need to generate an access token with read + write for the `dns.values.yaml` at <https://cloud.digitalocean.com/account/api/tokens> and fill it in.
1. Add Helm repository and update
#### 1. Add Helm repository and update
```bash
$ helm repo add bitnami https://charts.bitnami.com/bitnami
$ helm repo update
```
2. Install DNS
#### 2. Install DNS
```bash
# kubeconfig.yaml set globaly