Skip to content

Commit 1c3ec87

Browse files
authored
docs: clean up k8s install steps and order (#8869)
1 parent eae15c0 commit 1c3ec87

File tree

1 file changed

+46
-50
lines changed

1 file changed

+46
-50
lines changed

docs/install/kubernetes.md

Lines changed: 46 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,10 @@ to log in and manage templates.
77

88
## Install Coder with Helm
99

10-
> **Warning**: Helm support is new and not yet complete. There may be changes
11-
> to the Helm chart between releases which require manual values updates. Please
12-
> file an issue if you run into any issues.
13-
1410
1. Create a namespace for Coder, such as `coder`:
1511

1612
```console
17-
$ kubectl create namespace coder
13+
kubectl create namespace coder
1814
```
1915

2016
1. Create a PostgreSQL deployment. Coder does not manage a database server for
@@ -57,12 +53,6 @@ to log in and manage templates.
5753
[Postgres operator](https://github.com/zalando/postgres-operator) to
5854
manage PostgreSQL deployments on your Kubernetes cluster.
5955

60-
1. Add the Coder Helm repo:
61-
62-
```console
63-
helm repo add coder-v2 https://helm.coder.com/v2
64-
```
65-
6656
1. Create a secret with the database URL:
6757

6858
```console
@@ -72,6 +62,12 @@ to log in and manage templates.
7262
--from-literal=url="postgres://coder:coder@coder-db-postgresql.coder.svc.cluster.local:5432/coder?sslmode=disable"
7363
```
7464

65+
1. Add the Coder Helm repo:
66+
67+
```console
68+
helm repo add coder-v2 https://helm.coder.com/v2
69+
```
70+
7571
1. Create a `values.yaml` with the configuration settings you'd like for your
7672
deployment. For example:
7773

@@ -112,20 +108,52 @@ to log in and manage templates.
112108
> [values.yaml](https://github.com/coder/coder/blob/main/helm/values.yaml)
113109
> file directly.
114110
115-
If you are deploying Coder on AWS EKS and service is set to `LoadBalancer`, AWS will default to the Classic load balancer. The load balancer external IP will be stuck in a pending status unless sessionAffinity is set to None.
111+
1. Run the following command to install the chart in your cluster.
116112

117-
```yaml
118-
coder:
119-
service:
120-
type: LoadBalancer
121-
sessionAffinity: None
113+
```console
114+
helm install coder coder-v2/coder \
115+
--namespace coder \
116+
--values values.yaml
122117
```
123118

119+
You can watch Coder start up by running `kubectl get pods -n coder`. Once Coder has
120+
started, the `coder-*` pods should enter the `Running` state.
121+
122+
1. Log in to Coder
123+
124+
Use `kubectl get svc -n coder` to get the IP address of the
125+
LoadBalancer. Visit this in the browser to set up your first account.
126+
127+
If you do not have a domain, you should set `CODER_ACCESS_URL`
128+
to this URL in the Helm chart and upgrade Coder (see below).
129+
This allows workspaces to connect to the proper Coder URL.
130+
131+
## Upgrading Coder via Helm
132+
133+
To upgrade Coder in the future or change values,
134+
you can run the following command:
135+
136+
```console
137+
helm repo update
138+
helm upgrade coder coder-v2/coder \
139+
--namespace coder \
140+
-f values.yaml
141+
```
142+
124143
## Load balancing considerations
125144

126145
### AWS
127146

128-
AWS however recommends a Network load balancer in lieu of the Classic load balancer. Use the following `values.yaml` settings to request a Network load balancer:
147+
If you are deploying Coder on AWS EKS and service is set to `LoadBalancer`, AWS will default to the Classic load balancer. The load balancer external IP will be stuck in a pending status unless sessionAffinity is set to None.
148+
149+
```yaml
150+
coder:
151+
service:
152+
type: LoadBalancer
153+
sessionAffinity: None
154+
```
155+
156+
AWS recommends a Network load balancer in lieu of the Classic load balancer. Use the following `values.yaml` settings to request a Network load balancer:
129157

130158
```yaml
131159
coder:
@@ -152,26 +180,6 @@ coder:
152180
value: 10.0.0.1/8 # this will be the CIDR range of your Load Balancer IP address
153181
```
154182

155-
1. Run the following command to install the chart in your cluster.
156-
157-
```console
158-
helm install coder coder-v2/coder \
159-
--namespace coder \
160-
--values values.yaml
161-
```
162-
163-
You can watch Coder start up by running `kubectl get pods -n coder`. Once Coder has
164-
started, the `coder-*` pods should enter the `Running` state.
165-
166-
1. Log in to Coder
167-
168-
Use `kubectl get svc -n coder` to get the IP address of the
169-
LoadBalancer. Visit this in the browser to set up your first account.
170-
171-
If you do not have a domain, you should set `CODER_ACCESS_URL`
172-
to this URL in the Helm chart and upgrade Coder (see below).
173-
This allows workspaces to connect to the proper Coder URL.
174-
175183
### Azure
176184

177185
In certain enterprise environments, the [Azure Application Gateway](https://learn.microsoft.com/en-us/azure/application-gateway/ingress-controller-overview) was needed. The Application Gateway supports:
@@ -212,18 +220,6 @@ postgres://<user>:<password>@databasehost:<port>/<db-name>?sslmode=require&sslce
212220

213221
> More information on connecting to PostgreSQL databases using certificates can be found [here](https://www.postgresql.org/docs/current/libpq-ssl.html#LIBPQ-SSL-CLIENTCERT).
214222

215-
## Upgrading Coder via Helm
216-
217-
To upgrade Coder in the future or change values,
218-
you can run the following command:
219-
220-
```console
221-
helm repo update
222-
helm upgrade coder coder-v2/coder \
223-
--namespace coder \
224-
-f values.yaml
225-
```
226-
227223
## Troubleshooting
228224

229225
You can view Coder's logs by getting the pod name from `kubectl get pods` and then running `kubectl logs <pod name>`. You can also

0 commit comments

Comments
 (0)