This page shows you how to specify a node image for your nodes in Google Kubernetes Engine (GKE).
To learn about how node images work, and the types of node images that are available, see Node images.
Before you begin
Before you start, make sure you have performed the following tasks:
- Ensure that you have enabled the Google Kubernetes Engine API. Enable Google Kubernetes Engine API
- Ensure that you have installed the Cloud SDK.
Set up default gcloud
settings using one of the following methods:
- Using
gcloud init
, if you want to be walked through setting defaults. - Using
gcloud config
, to individually set your project ID, zone, and region.
Using gcloud init
If you receive the error One of [--zone, --region] must be supplied: Please specify
location
, complete this section.
-
Run
gcloud init
and follow the directions:gcloud init
If you are using SSH on a remote server, use the
--console-only
flag to prevent the command from launching a browser:gcloud init --console-only
-
Follow the instructions to authorize
gcloud
to use your Google Cloud account. - Create a new configuration or select an existing one.
- Choose a Google Cloud project.
- Choose a default Compute Engine zone for zonal clusters or a region for regional or Autopilot clusters.
Using gcloud config
- Set your default project ID:
gcloud config set project PROJECT_ID
- If you are working with zonal clusters, set your default compute zone:
gcloud config set compute/zone COMPUTE_ZONE
- If you are working with Autopilot or regional clusters, set your default compute region:
gcloud config set compute/region COMPUTE_REGION
- Update
gcloud
to the latest version:gcloud components update
Specifying a node image
You can select the node image you want to use when you create a new cluster, or you can change the node image for an existing cluster.
Creating a new cluster
gcloud
To create a new cluster with a specific node image, run the following command:
gcloud container clusters create CLUSTER_NAME --image-type IMAGE_NAME
Replace the following:
- CLUSTER_NAME: the name you choose for the cluster.
- IMAGE_NAME: the name of your node image type,
which can be one of the following values:
cos_containerd
: Container-Optimized OS with Containerdcos
: Container-Optimized OS with Dockerubuntu_containerd
: Ubuntu with Containerdubuntu
: Ubuntu with Dockerwindows_ltsc
: Windows Server LTSCwindows_sac
: Windows Server SAC
Console
Visit the Google Kubernetes Engine menu in Cloud Console.
Click add_box Create.
Configure your cluster as desired.
From the navigation pane, under Node Pools, click Nodes.
In the Image type drop-down list, select the desired node image.
Click Create.
Upgrading an existing cluster
gcloud
You can upgrade an existing cluster to use a specific node image by using
the gcloud container clusters upgrade
command. You can upgrade all node
pools in the cluster, or you can specify specific a node pool using
--node-pool
.
To upgrade an existing cluster to use a specific node image, run the following command:
gcloud container clusters upgrade CLUSTER_NAME --image-type IMAGE_NAME \
[--node-pool POOL_NAME]
Replace the following:
- CLUSTER_NAME: the name of your existing cluster.
- POOL_NAME: the name of the node pool you want to update.
- IMAGE_NAME: the name of your node image type,
which can be one of the following values:
cos_containerd
: Container-Optimized OS with Containerdcos
: Container-Optimized OS with Dockerubuntu_containerd
: Ubuntu with Containerdubuntu
: Ubuntu with Dockerwindows_ltsc
: Windows Server LTSCwindows_sac
: Windows Server SAC
Console
Visit the Google Kubernetes Engine menu in Cloud Console.
In the cluster list, click the name of the cluster you want to modify.
Click the Nodes tab.
Under Node Pools, click the name of the node pool you want to upgrade.
On the Node pool details page, click edit Edit.
Under Node version, click Change.
Select the desired node version and click Change to start the upgrade.