Skip to main content
Version: 3.1

Upgrade Google Kubernetes Engine node types


Upgrading a GKE VM instance from C2 to C3 machine series with a pd-standard disk type is not supported.

If you're running Portworx on GKE and want to migrate to nodes with more resources, you can do this by adding new nodes and retiring old ones. Perform the following steps to migrate nodes:


This upgrade method only works if you're using an internal KVDB.

  1. Add a new node pool containing your desired node type.

  2. Ensure that all nodes in the new node pool have Portworx in storageless mode.

  3. Disable auto scaling in the old pool.

  4. Choose a node from your old node pool that you want to remove:

    pxctl cluster list
    Cluster ID: 8ed1d365-fd1b-11e6-b01d-0242ac110002
    Status: OK

    Nodes in the cluster:
    bf9eb27d-415e-41f0-8c0d-4782959264bc X.X.X.243 0.125078 34 GB 33 GB N/A 1.1.4-6b35842 Online
    7d97f9ea-a4ff-4969-9ee8-de2699fa39b4 X.X.X.171 0.187617 34 GB 33 GB N/A 1.1.4-6b35842 Online
    492596eb-94f3-4422-8cb8-bc72878d4be5 X.X.X.189 0.125078 34 GB 33 GB N/A 1.1.4-6b35842 Online
  5. Once you've chosen a node ID, enter the following kubectl command to drain the node, replacing <node-id> with the ID of the node that you want to remove:

    kubectl drain <node-id> --ignore-daemonsets --delete-emptydir-data
  6. Drain volume attachments:

    pxctl service node drain-attachments submit --node <node-id>
  7. Delete the node from Kubernetes:

    kubectl delete node <node>
  8. In the GKE console, find the node by name and delete the instance.

  9. Choose a storageless node and restart Portworx so that it becomes a storage node:

    kubectl label <node> px/service=restart --overwrite

    Wait until the storage node is back up before proceeding.

  10. Re-enable attachments on the node:

    pxctl service node uncordon-attachments --node <node-id>

Repeat steps 4 through 10 for each remaining node in your cluster that you want to remove.

Was this page helpful?