domino logo
About DominoArchitecture
Kubernetes
Cluster RequirementsDomino on EKSDomino Kubernetes Version CompatibilityDomino on GKEDomino on AKSDomino on OpenShiftNVIDIA DGX in DominoDomino in Multi-Tenant Kubernetes ClusterEncryption in Transit
Installation
Installation ProcessConfiguration ReferenceInstaller Configuration ExamplesPrivate or Offline InstallationCustom Certificatesfleetcommand-agent Release NotesInstall Script Downloads
Azure Deployments
Prepare to InstallProvision Infrastructure and Runtime EnvironmentDeploy DominoKubernetes Upgrade Guide
Google Cloud Deployments
Prepare to InstallProvision Infrastructure and Runtime EnvironmentDeploy DominoKubernetes Upgrade Guide
Amazon Web Services Deployments
Prepare to InstallProvision Infrastructure and Runtime EnvironmentDeploy DominoKubernetes Upgrade Guide
Configuration
Central ConfigurationNotificationsFeature FlagsChange The Default Project For New UsersProject Stage ConfigurationDomino Integration With Atlassian Jira
Compute
Manage Domino Compute ResourcesHardware Tier Best PracticesModel Resource QuotasPersistent Volume ManagementAdding a Node Pool to your Domino ClusterRemove a Node from Service
Keycloak Authentication Service
Operations
Domino Application LoggingDomino MonitoringSizing Infrastructure for Domino
Data Management
Data in DominoData Flow In DominoExternal Data VolumesDatasets AdministrationSubmit GDPR Requests
User Management
RolesManage UsersView User InformationRun a User Activity ReportSchedule a User Activity Report
Environments
Environment Management Best PracticesCache Environment Images in EKSImages From Authenticated External Registries
Backup and Restore
Backup StructureBackup LocationCustomize BackupsRun a Manual, On-Demand BackupRestore backups
Control Center
Control Center OverviewExport Control Center Data with The API
Troubleshooting
domino logo
About Domino
Domino Data LabKnowledge BaseData Science BlogTraining
Admin Guide
>
Installation
>
Google Cloud Deployments
>
Kubernetes Upgrade Guide

Kubernetes Upgrade Guide

This topic describes how to upgrade from Kubernetes v1.21 to v1.22 in your Google Kubernetes Engine (GKE) Domino deployment. GKE is hosted on Google Cloud Platform (GCP).

Note
Review the prerequisites

To upgrade Kubernetes in GKE, you must have a Unix or Linux terminal with the following:

  • gcloud CLI installed.

  • Kubectl installed.

Use environment variables to set the values of IDs, names, and labels. This simplifies the commands you’ll run while upgrading:

export CLUSTER_PROJECT=<The project name of the cluster>
export CLUSTER_NAME=<The name of the cluster>
export CLUSTER_REGION=<The region where the cluster is located>
Get cluster credentials
  1. If you aren’t already signed in with gcloud, run, gcloud init.

  2. To protect your current config file from being overwritten, run export KUBECONFIG=$(pwd)/kubeconfig.

  3. Get the remote kubeconfig:

    gcloud container clusters get-credentials $CLUSTER_NAME --region $CLUSTER_REGION --project $CLUSTER_PROJECT
Disable the Disruption Budgets

You must temporarily disable the PodDisruptionBudget (PDB) for certain services. To do this, back up the PDBs, delete the original PDBs, then update Kubernetes and restore the PDBs from the backup after the update is complete.

  1. Backup the PDBs:

    kubectl get pdb -n domino-platform -o yaml mongodb-arbiter > mongodb-arbiter.yml
    kubectl get pdb -n domino-platform -o yaml mongodb-primary > mongodb-primary.yml
    kubectl get pdb -n domino-platform -o yaml mongodb-secondary > mongodb-secondary.yml
  2. Delete the PDBs:

    kubectl delete pdb -n domino-platform mongodb-arbiter
    kubectl delete pdb -n domino-platform mongodb-primary
    kubectl delete pdb -n domino-platform mongodb-secondary
Update the cluster
  1. Upgrade the control plane:

    gcloud container clusters upgrade $CLUSTER_NAME --project $CLUSTER_PROJECT --master --region $CLUSTER_REGION --cluster-version 1.22
    Note
  2. Upgrade the node pools:

    gcloud container clusters upgrade $CLUSTER_NAME --project $CLUSTER_PROJECT --region $CLUSTER_REGION --node-pool=platform
    gcloud container clusters upgrade $CLUSTER_NAME --project $CLUSTER_PROJECT --region $CLUSTER_REGION --node-pool=compute
    gcloud container clusters upgrade $CLUSTER_NAME --project $CLUSTER_PROJECT --region $CLUSTER_REGION --node-pool=gpu
Restore the Disruption Budgets

Run these commands from the same folder as the backup:

kubectl apply -f mongodb-arbiter.yml
kubectl apply -f mongodb-primary.yml
kubectl apply -f mongodb-secondary.yml
Domino Data LabKnowledge BaseData Science BlogTraining
Copyright © 2022 Domino Data Lab. All rights reserved.