From 30d5462bb29ed76df2bc46cb681dcb645a669e52 Mon Sep 17 00:00:00 2001 From: Mark Milligan Date: Sat, 9 Jul 2022 09:26:32 -0500 Subject: [PATCH 1/3] chore: update google cloud setup for new node image requirement to containerd from docker --- setup/kubernetes/google.md | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/setup/kubernetes/google.md b/setup/kubernetes/google.md index a1fe017e6..88dd881a2 100644 --- a/setup/kubernetes/google.md +++ b/setup/kubernetes/google.md @@ -24,6 +24,10 @@ be sure to account for the number of developers you expect to use Coder, as well as the resources they need to run their workspaces. See our guide on on [compute resources](../../guides/admin/resources.md) for additional information. +> In GKE version 1.24 and later, Docker-based [node image types](https://cloud.google.com/kubernetes-engine/docs/concepts/node-images) are not supported. +> The examples below use `ubuntu_containerd` and `cos_containerd` to meet this +> requirement. Docker-based node images will prevent GKE cluster creation. + If you expect to provision GPUs to your Coder workspaces, you **must** use a general-purpose [N1 machine type](https://cloud.google.com/compute/docs/machine-types#gpus) in @@ -58,10 +62,11 @@ This option uses an Ubuntu node image to enable support of [Container-based Virtual Machines (CVMs)](../../admin/workspace-management/cvms.md), allowing system-level functionalities such as Docker in Docker. -> Please note that the sample script creates a `n1-highmem-4` instance; -> depending on your needs, you can choose a -> [larger size](https://cloud.google.com/compute/docs/machine-types#machine_type_comparison) -> instead. See [requirements](../requirements.md) for help estimating your +> Please note that the sample script creates a `e2-standard-4` instance with 2 +> nodes for evaluation purposes; depending on your needs, you can choose other +> sizes. See +> [machine type comparisons](https://cloud.google.com/compute/docs/machine-types#machine_type_comparison) +> in particular [general-purpose machine types like n1 and e2](https://cloud.google.com/compute/docs/general-purpose-machines). See [requirements](../requirements.md) for help estimating your > cluster size. ```console @@ -71,8 +76,8 @@ gcloud beta container --project "$PROJECT_ID" \ --no-enable-basic-auth \ --node-version "latest" \ --cluster-version "latest" \ - --machine-type "n1-highmem-4" \ - --image-type "UBUNTU" \ + --machine-type "e2-standard-4" \ + --image-type "ubuntu_containerd" \ --disk-type "pd-standard" \ --disk-size "50" \ --metadata disable-legacy-endpoints=true \ @@ -111,8 +116,8 @@ clusters create "$NEW_CLUSTER_NAME" \ --zone "$ZONE" \ --no-enable-basic-auth \ --cluster-version "latest" \ - --machine-type "n1-highmem-4" \ - --image-type "COS" \ + --machine-type "e2-standard-4" \ + --image-type "cos_containerd" \ --disk-type "pd-standard" \ --disk-size "50" \ --metadata disable-legacy-endpoints=true \ From 019d4f3376252289eef5bceef81c07ed1828de9b Mon Sep 17 00:00:00 2001 From: Mark Milligan Date: Sat, 9 Jul 2022 09:33:10 -0500 Subject: [PATCH 2/3] chore: update google cloud setup for new node image requirement to containerd from docker --- setup/kubernetes/google.md | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/setup/kubernetes/google.md b/setup/kubernetes/google.md index 88dd881a2..cd748ec0f 100644 --- a/setup/kubernetes/google.md +++ b/setup/kubernetes/google.md @@ -56,19 +56,21 @@ that makes the most sense for your location. > See See [Network Policies](../requirements.md#network-policies) for more > information. +The sample scripts below create an `e2-standard-4` instance with 2 nodes for +evaluation purposes, with a configuration to auto-scale to 8 nodes as more +developer workspace pods are created. Depending on your needs, you can choose +other sizes. See [machine type +comparisons](https://cloud.google.com/compute/docs/machine-types#machine_type_comparison) +in particular [general-purpose machine types like n1 and +e2](https://cloud.google.com/compute/docs/general-purpose-machines). See +[requirements](../requirements.md) for help estimating your cluster size. + ### Option 1: Cluster with full support of Coder features This option uses an Ubuntu node image to enable support of [Container-based Virtual Machines (CVMs)](../../admin/workspace-management/cvms.md), allowing system-level functionalities such as Docker in Docker. -> Please note that the sample script creates a `e2-standard-4` instance with 2 -> nodes for evaluation purposes; depending on your needs, you can choose other -> sizes. See -> [machine type comparisons](https://cloud.google.com/compute/docs/machine-types#machine_type_comparison) -> in particular [general-purpose machine types like n1 and e2](https://cloud.google.com/compute/docs/general-purpose-machines). See [requirements](../requirements.md) for help estimating your -> cluster size. - ```console gcloud beta container --project "$PROJECT_ID" \ clusters create "$NEW_CLUSTER_NAME" \ @@ -104,12 +106,6 @@ This option uses a Container-Optimized OS (COS) and meets Coder's minimum requirements. It does _not_ enable the use of [CVMs](../../admin/workspace-management/cvms.md). -> Please note that the sample script creates a `n1-highmem-4` instance; -> depending on your needs, you can choose a -> [larger size](https://cloud.google.com/compute/docs/machine-types#machine_type_comparison) -> instead. See [requirements](../requirements.md) for help estimating your -> cluster size. - ```console gcloud beta container --project "$PROJECT_ID" \ clusters create "$NEW_CLUSTER_NAME" \ From 02b37fae3741b558d512ba2b0fc7e28bb392217f Mon Sep 17 00:00:00 2001 From: Eric Paulsen Date: Sun, 10 Jul 2022 13:28:17 -0600 Subject: [PATCH 3/3] fix: lint --- setup/kubernetes/google.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/setup/kubernetes/google.md b/setup/kubernetes/google.md index cd748ec0f..a4a43c5fa 100644 --- a/setup/kubernetes/google.md +++ b/setup/kubernetes/google.md @@ -24,9 +24,10 @@ be sure to account for the number of developers you expect to use Coder, as well as the resources they need to run their workspaces. See our guide on on [compute resources](../../guides/admin/resources.md) for additional information. -> In GKE version 1.24 and later, Docker-based [node image types](https://cloud.google.com/kubernetes-engine/docs/concepts/node-images) are not supported. -> The examples below use `ubuntu_containerd` and `cos_containerd` to meet this -> requirement. Docker-based node images will prevent GKE cluster creation. +> In GKE version 1.24 and later, Docker-based [node image types](https://cloud.google.com/kubernetes-engine/docs/concepts/node-images) +> are not supported. The examples below use `ubuntu_containerd` and +> `cos_containerd` to meet this requirement. Docker-based node images will +> prevent GKE cluster creation. If you expect to provision GPUs to your Coder workspaces, you **must** use a general-purpose