Update a Cluster Plan to a New Version
This section covers the "Update" phase of the cluster plan's lifecycle.
Prerequisite(s)
Overview
Cluster plans are immutable, meaning that once a cluster has been provisioned using a specific version of a cluster plan, no changes can be made to that version. To make updates, you must create a new version of the cluster plan.
After updating the new version of the cluster plan, you need to follow the same lifecycle steps as with the initial version. This includes validating the new version, promoting it to a wider audience, and making it available for use.
CLI Instructions
CLI Commands - Quick Reference
Instruction | CLI Command |
---|---|
Output versioned cluster plan's manifest to file | wf get clusterplan PLANNAME --version SEMVERSION -o yaml > MYPLAN.yaml |
Apply a versioned cluster plan's manifest from file | wf apply -f MYPLAN.yaml |
Update a cluster plan to a new version
The most effective way to update a cluster plan to a new version in the CLI is to output the YAML to a file, make the necessary edits, and then apply it using the wf apply
command.
- Get the yaml for the existing cluster plan:
wf get clusterplan budget-plan-demo --version 1.0.0 -o yaml > MYPLAN.yaml
This outputs budget-plan-demo
the cluster plan to file MYPLAN.yaml
.
- Edit the cluster plan file. Ensure that you change the following:
- Bump the cluster plan's version to a new version
- Limit the scope of the cluster plan
We recommend limiting the scope of the new version of the cluster plan to prevent unintended availability and usage.
apiVersion: compute.appvia.io/v2beta2
kind: ClusterPlan
metadata:
name: aks-general-purpose
spec:
cluster:
kubernetesVersion: '1.29'
packages:
- name: ingress-nginx
version: 4.10.1-1
- name: cert-manager
version: 1.14.5-1
- name: external-dns
version: 7.2.1-2
- name: kyverno
version: 2.7.3-5
- name: terranetes-controller
version: 0.7.12-1
providerDetails:
aks:
nodeOSUpgradeChannel: NodeImage
skuTier: Free
security:
podSecurityStandard:
allowed:
- restricted
- baseline
- privileged
defaultProfile: baseline
enabled: true
description: Bumped to new version for testing.
network:
authorizedMasterNetworks:
- cidr: 0.0.0.0/0
name: default
authorizedNetworks:
- cidr: 0.0.0.0/0
name: default
networkPlan: aks-standard
provider: AKS
scope: <--- Ensure that the scope is sufficiently narrow
allWorkspaces: false
allowedStages:
- nonprod
allowedWorkspaces:
- peng
- sand2
- sand3
version: 1.2.1 <--- Update the version of the plan
- Apply the file:
wf apply -f MYPLAN.yaml
Web Interface Instructions
Steps
The UI properties in this section are identical to those used when creating a new cluster plan. For detailed information on each property, please refer to the "Create Cluster Plan" section.
- Expand Admin, and then navigate to Kubernetes > Cluster Plans
- Select the Name of your cluster plan
- Select the Version of your cluster plan
- Click the New Version button
- Note the version of the cluster plan and click the Continue button
- Enter a new version in the Version field.
- Navigate to the Scope section and optionally narrow the scope as needed.
- Navigate to the Summary section and review your updates.
- Navigate to the YAML section and use one of the methods to apply your changes.
We recommend limiting the scope of the new version of the cluster plan to prevent unintended availability and usage.
Screenshot(s)
- Information
- Updated to new version
Related Reading
- [Provision a cluster for your workspace]
- See how to create the initial version of a cluster plan