Deploy a Cluster
Palette helps you create and manage Kubernetes clusters in various cloud environments with minimal overhead.
Palette offers profile-based management for Kubernetes, enabling consistency, repeatability, and operational efficiency across multiple clusters. A cluster profile allows you to customize the cluster infrastructure stack, allowing you to choose the desired Operating System (OS), Kubernetes, Container Network Interfaces (CNI), Container Storage Interfaces (CSI). You can further customize the stack with add-on application layers. For more information about cluster profile types, refer to Cluster Profiles.
After defining a cluster profile, you can provide the cloud environment details, the control plane, and worker node configurations to deploy a host cluster.
This tutorial will teach you how to deploy a host cluster with Palette using Amazon Web Services (AWS), Microsoft Azure, or Google Cloud Platform (GCP) cloud providers. You can deploy a cluster using either Palette or Terraform. You will learn about Cluster Mode and Cluster Profiles and how these components enable you to deploy customized applications to Kubernetes with minimal effort.
Architecture
As you navigate the tutorial, refer to this diagram to help you understand how Palette uses a cluster profile as a blueprint for the host cluster you deploy. Palette clusters have the same node pools you may be familiar with: control plane nodes, often called master nodes, and worker nodes where you will deploy applications. The result is a host cluster that Palette manages.
Deploy the Cluster and the Application
Select the workflow you want to learn more about.
UI Workflow
You can create and manage clusters directly from the Palette dashboard. Use the following steps to learn how to deploy a host cluster to multiple cloud providers.
Prerequisites
To complete this tutorial, you will need the following.
-
A public cloud account from one of these providers:
-
Register the cloud account in Palette. The following resources provide additional guidance.
- Register and Manage AWS Accounts
- Register and Manage Azure Cloud Accounts
- Register and Manage GCP Accounts
-
An SSH Key Pair. Use the Create and Upload an SSH Key guide to learn how to create an SSH key and upload it to Palette.
- AWS users must create an AWS Key pair before starting the tutorial. If you need additional guidance, check out the Create EC2 SSH Key Pair tutorial.
Deploy the Environment
The following steps will guide you through deploying the cluster infrastructure. You will start by creating a cluster profile that you apply to the host cluster.
- AWS
- Azure
- Google Cloud
Create Cluster Profile (AWS)
Cluster profiles are templates you create with the following core layers and any add-on layers such as security, monitoring, logging, and more.
- Operating System (OS)
- Kubernetes distribution and version
- Network Container Interface (CNI)
- Storage Container Interface (CSI)
You customize profiles by choosing the type of component and version. In this way, profiles offer a reproducible way to create clusters.
Log in to Palette and navigate to the left Main Menu. Select Profiles to view the cluster profile page. You can view the list of available cluster profiles. To create a cluster profile, click the Add Cluster Profile button.
Follow the wizard to create a new profile.
In the Basic Information section, assign the name aws-profile, a brief profile description, select the type as Full, and assign the tag env:aws. You can leave the version empty if you want to. Just be aware that the version defaults to 1.0.0. Click on Next.
Cloud Type allows you to choose the infrastructure provider with which this cluster profile is associated. Select AWS and click on Next.
Profile Layers, this is the main configuration step where you specify the packs that compose the profile. There are four required infrastructure packs and several optional add-on packs you can choose from. Every pack requires you to select the Pack Type, Registry, and Pack Name.
For this tutorial, use the following packs:
Pack Name | Version | Layer |
---|---|---|
ubuntu-aws LTS | 22.4.x | Operating System |
Kubernetes | 1.27.x | Kubernetes |
cni-calico | 3.26.x | Network |
csi-aws-ebs | 1.22.x | Storage |
As you fill out the information for each layer, click on Next to proceed to the next layer.
Click on Confirm after you have completed filling out all the core layers.
The review section gives an overview of the cluster profile configuration you selected. Click on Finish Configuration to create the cluster profile.
You can modify cluster profiles after you create them by adding, removing, or editing the layers.
Create a New Cluster
Navigate to the left Main Menu and select Cluster. From the clusters page, click on the Add New Cluster button.
Palette will prompt you to either deploy a new cluster or import an existing one. Click on Deploy New Cluster to access the cluster deployment wizard. Select AWS and click the Start AWS Configuration button. Use the following steps to create a host cluster in AWS.
Basic information
In the Basic information section, insert the general information about the cluster, such as the Cluster name, Description, Tags, and Cloud account. Click on Next.
Cluster Profile
A list is displayed of available profiles you can choose to deploy to AWS. Select the cluster profile you created earlier and click on Next.
Parameters
The Parameters section displays all the layers in the cluster profile.
Each layer has a pack manifest file with the deploy configurations. The pack manifest file is in a YAML format. Each pack contains a set of default values. You can change the manifest values if needed. Click on Next to proceed.