Cluster Plan Details
Prerequisite(s)
Overview
-
Identification and Description: Naming and describing your cluster plan helps workspace members (developers) quickly identify the appropriate configuration for their application environments (AppEnvs). This clarity reduces confusion and ensures that the right configuration is selected.
-
Versioning: You assign a unique semantic version (e.g., 1.0.0) to each cluster plan, which cannot be changed once created. This version uniquely identifies the configuration within Wayfinder, including the specific Kubernetes version. Developers refer to cluster plan versions to ensure consistency and compatibility with their AppEnvs.
The Kubernetes version refers to the particular iteration of the Kubernetes software. For supported Kubernetes versions, refer to the documentation for AWS, Azure, and GCP. When you need to update the configuration, such as upgrading to a new Kubernetes version or deploying new package versions, you will create a new version of the cluster plan.
-
Cloud Provider Configuration: Cluster plans specify configuration details tailored to specific cloud providers such as AWS, Azure, or GCP. This ensures that the Kubernetes clusters are provisioned correctly with the necessary resources and settings unique to each cloud environment.
If the desired cloud provider is not listed, configure a Cloud Access with the access type set to "Kubernetes Cluster Provisioning."
-
Automatic and Custom Labels: Wayfinder adds its own set of labels to clusters to identify the provider, stage, workspace and cloud region the cluster is within. These are used to target policies to a cluster. You can optionally add custom labels to allow further control over policy targeting.
Wayfinder allows you to create versioned cluster plans using its CLI or Web Interface. For newcomers, starting with the Web Interface helps in understanding Wayfinder's concepts and the structure of Wayfinder's cluster plan YAML files.
📚 For more details on key points, refer to the overview section.
📚 Explore the properties section for additional information on each UI property.
CLI Instructions
CLI Commands - Quick Reference
Instruction | CLI Command |
---|---|
Create a cluster plan | wf init clusterplan PLANNAME --cloud CLOUD --network-plan NETWORKPLANNAME --kubernetes-version VERSION |
Create a cluster plan interactively | wf init clusterplan PLANNAME |
List all cluster plans and their versions | wf get clusterplan |
View versioned cluster plan's manifest in console | wf get clusterplan PLANNAME --version SEMVERSION -o yaml |
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 |
Create a new cluster plan
When creating a cluster plan using the CLI, you have two options: specifying the full command or using Wayfinder's interactive prompts.
- Full Command
wf init clusterplan PLANNAME --cloud CLOUD --network-plan NETWORKPLANNAME --kubernetes-version VERSION
To initialise a cluster plan, use the following command:
wf init clusterplan azure-playground --cloud azure --network-plan aks-standard --kubernetes-version 1.29.6
This command outputs the cluster plan's YAML configuration to the console. Modify the YAML as needed, then apply the configuration with the command:
wf apply -f FILENAME.yaml
- Interactive Prompts
To create a cluster plan interactively, use the wf init clusterplan CLUSTERPLAN
command. Wayfinder will guide you through a series of questions where you select the appropriate properties for your configuration. This method eases the process by eliminating the need to manually input all parameters.
After completing all the prompts, the cluster plan's YAML is output to the console. Make any necessary adjustments, then apply the YAML using the wf apply -f FILENAME.yaml
command.
- Alternative Method (Newcomers)
For newcomers, starting with a copy of one of Wayfinder's out-of-the-box cluster plans can help you understand what the YAML might look like for a specific configuration.
Follow these steps:
- Check which plans already exist using the
wf get clusterplans
command. If this is a new installation of Wayfinder, then you'll see Wayfinder's default cluster plans.
wf get clusterplans
NAME K8S VER DESCRIPTION CLOUD AGE LATEST VERSION
aks-hardened 1.30 Hardened AKS cluster with a default "restricted" PSS Policy and no public ingress controller. AKS 494d 0.0.0
aks-standard 1.27 General purpose AKS cluster on v1.27 AKS 10d 1.27.0
eks-hardened 1.28 Hardened EKS cluster with a default "restricted" PSS Policy and no public ingress controller. EKS 494d 0.0.0
eks-standard 1.29 General purpose EKS cluster. EKS 494d 0.0.0
gke-hardened 1.28 Hardened GKE cluster with a default "restricted" PSS Policy and no public ingress controller. GKE 494d 0.0.0
gke-standard 1.30 General purpose GKE cluster. GKE 494d 0.0.0
- Get the yaml from an existing plan:
wf get clusterplan aks-hardened --version 0.0.0 -o yaml > MYPLAN.yaml
This copies the the aks-hardened
cluster plan and places it in a file MYPLAN.yaml
. Note that the --version
flag specifies the version of the cluster plan itself, not the Kubernetes version included in the plan.
- Edit the plan file as needed, being sure to change the metadata name to a new name and the cluster plan version to a new version, to indicate that you wish to make a new plan. Thereafter, apply the file:
wf apply -f MYPLAN.yaml
Define a management peering rule
If your cluster is private, then you need to define a management peering rule. Skip this step if your cluster plan does not enable a private cluster.
Web Interface Instructions
Note that Wayfinder's User Interface has several sections you need to follow in order to create a new cluster plan. Below only outlines the Details section.
Steps
- Expand Admin, and then navigate to Kubernetes > Cluster Plans
- Click the +Cluster Plan button
- Fill in the details as outlined in the properties section.
- Click Continue to proceed
Screenshot(s)
Properties
Field | Description |
---|---|
Name | The name if the cluster plan (e.g., eks-budget-plan ). Assists developers in selecting the correct cluster plan when creating an AppEnv. |
Version | The version of the cluster plan. Uses semantic versioning (e.g., 2.1.5). |
Description | A short description describing the purpose of the cluster plan (e.g., Low cost cluster configuration for testing purposes). Assists developers in selecting the correct cluster plan when creating an AppEnv. |
Cloud Provider | The Cloud Provider in which the clusters are to be created using this cluster plan. Select one per cluster plan. Option(s): - Amazon Web Services (EKS) - Microsoft Azure (AKS) - Google Cloud (GKE) Note: If you don't see the cloud provider you're looking for, then create a Cloud Access with access type "Kubernetes Cluster Provisioning". |
Kubernetes Version | The particular iteration of the Kubernetes software. See Cloud Providers for supported versions: - AWS - Azure - GCP |
SKU tier (Azure only) | Azure provide multiple different service levels for AKS. This controls the performance of the control plane and the applicable uptime SLA. There is significant cost differences between the options. |
Labels | Wayfinder adds its own set of labels to clusters to identify the provider, stage, workspace and cloud region the cluster is within. These are used to target policies to a cluster. You can optionally add custom labels to allow further control over policy targeting. |