-
Notifications
You must be signed in to change notification settings - Fork 39
docs: add cluster templates tutorial skeleton DOC-2542 #9513
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weβll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: feat/cluster-template-tutorial
Are you sure you want to change the base?
Changes from 1 commit
f4f4126
a5f37db
039ff2b
2e23e01
1147085
cb86ee9
1a4774f
4b88f35
e6006e1
b97a814
b3b8b80
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,4 @@ | ||
| { | ||
| "label": "Cluster Templates", | ||
| "position": 10 | ||
| } |
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -0,0 +1,132 @@ | ||||||
| --- | ||||||
| sidebar_position: 0 | ||||||
| sidebar_label: "Standardize Cluster Provisioning" | ||||||
brent-eritou marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||||||
| title: "Standardize Cluster Provisioning and Maintenance with Cluster Templates" | ||||||
| description: | ||||||
| "A tutorial that shows how to standardize cluster provisioning, apply maintenance windows, and roll out upgrades using | ||||||
| cluster templates and Terraform." | ||||||
| tags: ["cluster templates", "tutorial", "terraform", "profiles", "aws", "azure"] | ||||||
| --- | ||||||
|
|
||||||
| # Standardize Cluster Provisioning and Maintenance with Cluster Templates | ||||||
brent-eritou marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||||||
|
|
||||||
brent-eritou marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||||||
| When you manage many Kubernetes clusters, configuring and upgrading them one by one does not scale. You need a way to | ||||||
| apply the same configuration and upgrade rules across multiple clusters. | ||||||
|
|
||||||
| In this tutorial, you will use **cluster templates** in Palette to create and manage clusters in a consistent way. | ||||||
brent-eritou marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||||||
| Cluster templates let you reuse a cluster configuration, control when upgrades happen, and apply changes to multiple | ||||||
| clusters at once. | ||||||
|
|
||||||
| Cluster templates use two building blocks: | ||||||
|
|
||||||
| - **Cluster profiles**, which define the software and infrastructure configuration of a cluster. | ||||||
| - **Cluster template policies**, which control how clusters created from a template are operated, such as when upgrades | ||||||
| can run. | ||||||
brent-eritou marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||||||
|
|
||||||
| A **maintenance policy** is one type of cluster template policy. Currently, maintenance policies are the only cluster | ||||||
| template policy type available in Palette. When additional policy types are added, you will use the same workflow: | ||||||
brent-eritou marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||||||
| create the policy, then link it to the cluster template. | ||||||
|
|
||||||
| In this tutorial, you create two clusters named **dev** and **prod**. Both clusters are created from the same cluster | ||||||
| template, but use different | ||||||
| [cluster profile variables](../../../../../profiles/cluster-profiles/create-cluster-profiles/define-profile-variables/). | ||||||
| This shows how you can reuse a single template while applying environment-specific settings per cluster. | ||||||
|
|
||||||
| ## What You Will Build | ||||||
|
||||||
|
|
||||||
| In this tutorial, you will: | ||||||
|
|
||||||
| - Create a cluster profile | ||||||
| - Create a cluster template policy | ||||||
| - Create a cluster template that uses the profile and policy | ||||||
|
Comment on lines
+33
to
+35
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Can we collapse these 3 lines into 1 so there is less repetition? |
||||||
| - Deploy two clusters (**dev** and **prod**) from the same template | ||||||
| - Set different profile variable values for each cluster | ||||||
| - Update the template and upgrade both clusters together | ||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It's not really going to happen together. |
||||||
|
|
||||||
| ## Choose Your Workflow | ||||||
|
||||||
|
|
||||||
| You can complete this tutorial using [Palette's UI on AWS](#provision-and-upgrade-clusters-using-the-palette-ui-for-aws) | ||||||
| or [Terraform on AWS or Azure](#provision-and-upgrade-clusters-using-terraform) workflows. Choose the workflow that | ||||||
| matches how you manage your infrastructure. | ||||||
|
||||||
|
|
||||||
| :::warning | ||||||
|
|
||||||
| This tutorial creates cloud resources. You will incur cloud costs until you complete the cleanup steps at the end of the | ||||||
| tutorial. | ||||||
|
|
||||||
| ::: | ||||||
brent-eritou marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||||||
|
|
||||||
brent-eritou marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||||||
| ## Prerequisites | ||||||
|
|
||||||
| Before you begin, make sure you have: | ||||||
brent-eritou marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||||||
|
|
||||||
| - A Palette account with permission to: | ||||||
| - Create cluster profiles | ||||||
| - Create cluster template policies | ||||||
| - Create cluster templates | ||||||
| - Create clusters | ||||||
| - Access the [Palette Community Registry](../../../registries-and-packs/registries/registries.md#default-registries) | ||||||
brent-eritou marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||||||
| - A cloud account registered in Palette: | ||||||
| - [AWS](../../../clusters/public-cloud/aws/add-aws-accounts.md) for the Palette UI workflow | ||||||
| - [AWS](../../../clusters/public-cloud/aws/add-aws-accounts.md) or | ||||||
| [Azure](../../../clusters/public-cloud/azure/azure-cloud.md) for the Terraform workflow | ||||||
| - Basic knowledge of [cluster profiles](../../../../../profiles/cluster-profiles/create-cluster-profiles/) and | ||||||
| [cluster profile variables](../../../../../profiles/cluster-profiles/create-cluster-profiles/define-profile-variables/) | ||||||
brent-eritou marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||||||
|
|
||||||
| If you plan to use Terraform, you also need: | ||||||
|
|
||||||
| - Terraform version 1.x installed | ||||||
| - A [Palette API key](../../getting-started/palette/aws/setup.md#create-a-palette-api-key) set as an environment | ||||||
| variable | ||||||
|
|
||||||
| ```bash | ||||||
| export SPECTROCLOUD_APIKEY=<your-api-key> | ||||||
| ``` | ||||||
brent-eritou marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||||||
|
|
||||||
brent-eritou marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||||||
| ## Provision and Upgrade Clusters Using the Palette UI for AWS | ||||||
|
|
||||||
| ### Import a Cluster Profile | ||||||
|
|
||||||
| ### Create a Cluster Template Policy (Maintenance) | ||||||
|
|
||||||
| ### Create a Cluster Template | ||||||
|
|
||||||
| ### Deploy a Dev Cluster from the Template | ||||||
|
|
||||||
| ### Deploy a Prod Cluster from the Template | ||||||
|
|
||||||
| ### Validate the Deployments | ||||||
|
|
||||||
| ### Create a New Cluster Profile Version | ||||||
|
|
||||||
| ### Update the Cluster Template to the New Profile Version | ||||||
|
|
||||||
| ### Upgrade Clusters | ||||||
|
|
||||||
| ### Validate the Upgrades | ||||||
|
|
||||||
| ### Cleanup | ||||||
|
|
||||||
| ## Provision and Upgrade Clusters Using Terraform | ||||||
|
|
||||||
| ### Configure the Terraform Provider | ||||||
|
|
||||||
| ### Create a Cluster Profile | ||||||
|
|
||||||
| ### Create a Cluster Template Policy (Maintenance) | ||||||
|
|
||||||
| ### Create a Cluster Template | ||||||
|
|
||||||
| ### Deploy Dev and Prod Clusters with Different Variable Values | ||||||
|
|
||||||
| ### Validate the Deployments | ||||||
|
|
||||||
| ### Create a New Cluster Profile Version | ||||||
|
|
||||||
| ### Update the Cluster Template to the New Profile Version | ||||||
|
|
||||||
| ### Upgrade Clusters | ||||||
|
|
||||||
| ### Validate the Upgrades | ||||||
|
|
||||||
| ### Cleanup | ||||||
Uh oh!
There was an error while loading. Please reload this page.