Skip to main content

Update a Cluster Plan to a New Version

< introduction | update cluster plans

This section covers the "Update" phase of the cluster plan's lifecycle.

Cluster Plan Lifecycle - Update


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

InstructionCLI Command
Output versioned cluster plan's manifest to filewf get clusterplan PLANNAME --version SEMVERSION -o yaml > MYPLAN.yaml
Apply a versioned cluster plan's manifest from filewf 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.

  1. 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.


  1. 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
info

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

  1. 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.

info

We recommend limiting the scope of the new version of the cluster plan to prevent unintended availability and usage.


Screenshot(s)

  • Information
Update Cluster Plan - Version Message

  • Updated to new version
Update Cluster Plan - New version