-
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 7 commits
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,122 @@ | ||||||
| --- | ||||||
| sidebar_position: 0 | ||||||
| sidebar_label: "Standardize Clusters with Cluster Templates" | ||||||
| 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"] | ||||||
| --- | ||||||
|
|
||||||
| 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. | ||||||
|
|
||||||
| Palette supports this workflow with **cluster templates**. Cluster templates let you reuse a cluster configuration, | ||||||
| control when upgrades happen, and apply changes to multiple clusters at once. | ||||||
|
|
||||||
| Cluster templates are built from two related concepts: | ||||||
|
|
||||||
| - **Cluster profiles**, which define the software stack and infrastructure configuration of a cluster. | ||||||
| - **Cluster template policies**, which define how clusters created from a template are operated, such as when upgrades | ||||||
| are allowed to run. | ||||||
|
|
||||||
| A **maintenance policy** is one type of cluster template policy. Maintenance policies define a maintenance window that | ||||||
| controls when upgrades can run. Currently, maintenance policies are the only cluster template policy type available in | ||||||
| Palette. | ||||||
|
|
||||||
| Cluster templates link cluster profiles and policies. When you create clusters from the same template, those clusters | ||||||
| share the same base configuration and follow the same operational rules. | ||||||
|
|
||||||
| 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 | ||||||
| - Use different | ||||||
|
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
|
||||||
| [cluster profile variables](../../../../../profiles/cluster-profiles/create-cluster-profiles/define-profile-variables/) | ||||||
| to apply environment-specific settings | ||||||
| - 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. |
||||||
|
|
||||||
| You can complete this tutorial using either | ||||||
| [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), depending on 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 | ||||||
|
|
||||||
| ## 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 | ||||||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We use bold for UI elements.