We recommend that you upgrade to PKS v1.1.5 and NSX-T 2.2 to take advantage of key features and important architectural changes. For more information, see NSX-T Architectural Changes in the PKS v1.1.5 release notes.

Note: When you upgrade PKS on vSphere with NSX-T, workloads in your Kubernetes cluster are unavailable while the NSX Edge nodes run the upgrade. Configure NSX Edge for high availability using Active/Standby mode to avoid workload downtime. For more information, see the Configure NSX Edge for High Availability (HA) section of Preparing NSX-T Before Deploying PKS.

Prepare to Upgrade

Verify the health of your Kubernetes environment by following the steps below:

To verify that all nodes are in a ready state, run kubectl get nodes for all Kubernetes contexts.

To verify that all pods are running, run kubectl get pods --all-namespaces for all Kubernetes contexts.

To verify that all the processes are in a running state, run bosh -d MY-DEPLOYMENT instances --ps for each deployment, replacing MY-DEPLOYMENT with the deployment name. Your PKS deployment name begins with pivotal-container-service and includes a BOSH-generated hash.

Make sure there are no issues with vSphere by following the steps below:

Verify that datastores have enough space.

Verify that hosts have enough memory.

Verify that there are no alarms.

Verify that hosts are in a good state.

(Optional) Back up the environment using the procedures in the following topics:

Note: If you choose not to back up PKS, NSX-T, or vCenter, we recommend backing up the NSX-T and NSX-T Container Plugin (NCP) logs. For more information, see PKS Logs for NSX-T and NCP below.

Upgrade the PKS Tile

To upgrade PKS, you follow the same Ops Manager process that you use to install the tile for the first time. Your configuration settings migrate to the new version automatically. Follow the steps below to perform an upgrade.

Verify Kubernetes Environment Health

Verify the health of your Kubernetes environment by following the steps below:

To verify that all nodes are in a ready state, run kubectl get nodes for all Kubernetes contexts.

To verify that all pods are running, run kubectl get pods --all-namespaces for all Kubernetes contexts.

To verify that all the processes are in a running state, run bosh -d MY-DEPLOYMENT instances --ps for each deployment.

Verify NCP Changes

In PKS v1.1.5 and later, NCP runs as a BOSH host process. Each Kubernetes master node VM has one NCP process running. If your cluster has multiple master nodes, one NCP process is active while the others are on standby. For more information, see NSX-T Architectural Changes in the PKS v1.1.5 release notes.

Verify the NCP changes by following the steps below:

From the Ops Manager VM, run bosh -e MY-ENV log-in.

Run bosh -e MY-ENV -d MY-DEPLOYMENT vms.

In the output of the previous command, find the Kubernetes master node VM name and ID.

Run bosh -e MY-ENV -d MY-DEPLOYMENT ssh VM-NAME/ID.

On the master node VM, run monit summary. Verify that you see Process: 'ncp' is running.

To check if the NCP process is active or on standby, run /var/vcap/jobs/ncp/bin/nsxcli -c get ncp-master status.

To restart the NCP process, run monit restart ncp.

To verify that the NCP process restarts successfully, run monit summary.

(Optional) Upgrade NSX-T

Upgrading to NSX-T from 2.1 to 2.2 is optional but strongly recommended. Support for NSX-T 2.1 will be removed in a future PKS release.

Follow the steps below to upgrade NSX-T:

Log in to the NSX Manager UI and navigate to System > Utilities > Upgrade.

Click Proceed to Upgrade and follow the instructions. The NSX-T Upgrade wizard walks you through the process of upgrading from NSX-T 2.1 to NSX-T 2.2.