Create and Manage MAAS Clusters
Palette supports creating and managing Kubernetes clusters deployed to a MAAS account. This section guides you on how to create a Kubernetes cluster in MAAS that is managed by Palette.
Prerequisites
-
An installed PCG if you do not have a direct connection to the MAAS environment. Review Deploy to MAAS for guidance.
If are self-hosting Palette and have a direct connection to the MAAS environment, you can select Use System Private Gateway. To learn more about when you would use Palette's PCG or the System Private Gateway, refer to the Architecture page to learn more.
-
A MAAS account registered in Palette. Refer to the Register and Manage MAAS Cloud Accounts if you need to register a MAAS account in Palette.
-
A cluster profile for the MAAS environment. Review Cluster Profiles for more information.
-
Verify that the required Operating System (OS) images you use in your cluster profiles are downloaded and available in your MAAS environment. Review the How to use standard images for guidance on downloading OS images for MAAS. To deploy a MAAS cluster with a non-Ubuntu OS, such as Red Hat Enterprise Linux (RHEL), Rocky Linux, or SUSE Linux Enterprise Server (SLES), refer to MAAS BYOOS Configuration.
By default, Palette registers a DNS record in MAAS for the deployed cluster and links it to the IP addresses of the control plane nodes of the cluster. However, you may choose not to depend on MAAS for your cluster DNS record. The Kubernetes pack allows you to configure a custom API server endpoint for your cluster instead.
This feature is only supported in Palette eXtended Kubernetes (PXK). Refer to the Custom API Server Endpoint for MAAS Clusters section of the pack Additional Guidance for further information.
- If configuring the Cert Manager pack , ensure that you use version 1.19.1 or later. It is also important to
ensure:
crds.enabledis set tofalse.cainjector.enabledis set tofalseorcainjector.replicasis set to0.nodeSelectorornodeAffinityis set to prevent scheduling of Cert Manager on control pane nodes.
Deploy a MAAS Cluster
-
Log in to Palette.
-
Ensure you are in the correct project scope.
-
From the left Main Menu, select Clusters and click Add New Cluster.
-
In Data Center, select MAAS.
-
In the bottom-right corner, click Start MAAS Configuration.
-
Complete the following information. Select Next when finished.
Field Description Cluster Name Enter a custom name for the cluster. Description (Optional) Provide context about the cluster. Tags (Optional) Assign any desired cluster tags. You can use tags to filter and organize clusters in Palette. Example: env:test.Cloud Account Select the appropriate MAAS account under which to deploy the cluster. If the account is not listed, select Add New Account, and follow the prompts to add your MAAS account to Palette. -
Choose between deploying your cluster using individual cluster profiles or a single cluster template.
- Cluster Profiles
- Cluster Templates
-
In the Cluster setup type window, choose Cluster Profiles > Add Cluster Profile.
-
Select the appropriate full or infrastructure cluster profile and Confirm your selection.
-
Review the layers of your cluster profile. Use the drop-down menus to select the appropriate cluster profile version, add necessary add-on profiles, and make changes to YAML configuration files as needed. When finished, select Next.
info- Cluster profile versions linked to cluster templates cannot be used in the cluster profile workflow.
- For ease of reuse and to persist changes across clusters using the same cluster profile, we recommend creating a new version of your cluster profile rather than making inline changes.
-
In the Cluster setup type window, choose Cluster Template > Select Cluster Template.
-
Select the appropriate cluster template and Confirm your selection.
-
Expand the Maintenance policy and Linked profiles panels to review the configuration of your cluster template.
If you need to make any changes, such as swapping your maintenance policy or updating your cluster profile version, you must exit the cluster deployment workflow and modify your cluster template before proceeding. If no changes are needed, select Next.
-
Review the layers of your cluster profile. If no changes are needed, select Next.
warningCluster profile changes, such as modifying your cluster profile version, adding additional add-on profiles, and editing YAML configuration files, are not allowed when deploying a cluster. Once a cluster profile is linked to a cluster template, that version of the cluster profile is locked to prevent configuration drift across clusters. If you need to make changes, you must create a new version of your cluster profile and modify your cluster template to use the new version.

-
The Profile variables configuration window opens if your cluster profile is configured to use cluster profile variables. Fill in the appropriate values, and select Next.
-
Fill out the following fields on the Cluster Config step. Select Next when finished.
Field Description Domains Register a DNS record in the selected domain for the deployed cluster. The DNS record links to the IP addresses of the control plane nodes. SSH Keys (Optional) Inject public Secure Shell (SSH) keys into ~/.ssh/authorized_keyson each control plane and worker node, without removing existing MAAS users. The list is populated using the keys in Tenant Settings or Project Settings > Security > SSH Keys. Select Add Item to add additional keys. Refer to SSH Keys on MAAS Cluster Nodes for details on supported distributions.NTP Servers (Optional) Specify Network Time Protocol (NTP) servers for the cluster nodes. The servers you provide override the machine image defaults. We recommend specifying at least one NTP server to prevent time drift issues. Refer to NTP Servers on MAAS Cluster Nodes for details on supported distributions. Host LXD-Based Control Planes Activate to use this cluster as an LXD-based control plane (hypervisor) for running control plane components as LXD VMs. To create a workload cluster that leverages MAAS LXD or use an existing host LXD-based control plane, leave this option disabled. Refer to Create and Manage MAAS Clusters Using LXD VMs for more information on leveraging LXD in Palette.
WARNING: LXD-based VMs on MAAS are supported only with Palette eXtended Kubernetes (PXK) clusters. Enabling this toggle on a cluster that uses a different Kubernetes distribution results in deployment failures.Override Cluster API cluster configuration Enable if you want to provide custom Cluster API manifests in YAML format. This is an advanced option that allows you to customize the underlying CAPI objects used to provision and manage your cluster. When enabled, the Update Cluster API cluster configuration option becomes available. Click this button to view the YAML code editor drawer, where you can provide your override configuration. Review the Override CAPI Properties documentation to learn more about this feature. -
Configure the control plane and, optionally, worker node pools.
The following input fields apply to MAAS control plane and worker node pools. For a detailed list of input fields that are common across environments and their usage, refer to our Node Pools guide. Select Next when finished.
Parameter Description Resource pool The MAAS resource pool from which to deploy nodes. Minimum CPU Only select machines from the Resource pool that have at least the specified amount of CPU. Minimum Memory Only select machines from the Resource pool that have at least the specified amount of memory. Availability zones The MAAS zones in which to deploy nodes. Palette distributes nodes across the selected zones for high availability. Override Cluster API node pool configuration (Optional) Enable if you want to provide custom Cluster API manifests in YAML format. This is an advanced option that allows you to customize the underlying CAPI objects used to provision and manage your node pool. When enabled, the Update Cluster API node pool configuration option becomes available. Click this button to view the YAML code editor drawer, where you can provide your override configuration. Review the Override CAPI Properties documentation to learn more about this feature. Tags Controls which MAAS machines to use for the node pool based on MAAS tags. If you specify multiple tags, Palette only selects machines that have all of the specified tags.
WARNING: Modifying tags on an existing node pool triggers a node repave. -
On the Cluster Settings page, configure additional options as needed. If you are deploying your cluster using cluster templates, a Cluster Timezone is required.
Left Menu Item Additional Information Cluster Timezone Specify the time zone where your cluster is being deployed. The time zone is used in maintenance policies to determine when updates are rolled out to clusters deployed with cluster templates. Manage machines Set an OS patching schedule and specify nodes behavior when creating your cluster, including upgrading your nodes to use the latest OS patch version and allowing reboots. Schedule scans Enable any scan options you want Palette to perform and select a scan schedule. Palette supports Kubernetes configuration security, penetration testing, and conformance testing. Refer to Compliance Scan for details on each scan type. Schedule backups Schedule backups for your entire cluster or etcd. Refer to Backup and Restore for more information. RBAC Map a set of users or groups to a Kubernetes Role-Based Access Control (RBAC) role. This is required when custom OpenID Connect (OIDC) is configured. Refer to the following guides for more information:
- Create Role Bindings
- Palette eXtended Kubernetes (PXK)Location Specify the location of your cluster by entering the address in the search bar and selecting one of the options in the drop-down. For example, London, Greater London, England, United Kingdom. This is used for display purposes and does not impact cluster functionality. -
Select Validate to review your cluster configurations and settings.
-
If no changes are needed, select Finish Configuration to deploy your cluster.
To monitor the status of your cluster deployment, from the left main menu, select Clusters and choose your cluster. The cluster Overview tab displays the status and health of your cluster, as well as deployment details. Use the Events tab to monitor the deployment in real time. Provisioning may take several minutes.
Validate
You can validate your cluster is available by reviewing the cluster details page. Navigate to the left Main Menu and click Clusters. The Clusters page lists all available clusters that Palette manages. Select the cluster to review its details page. Ensure the Cluster Status field contains the value Running.
Delete a MAAS Cluster
When you delete a MAAS cluster, all machines and associated storage disks that were created for the cluster are removed.
Follow these steps to delete a MAAS cluster.
-
Log in to Palette as a tenant admin.
-
Navigate to the Main Menu and click Clusters.
-
Select the cluster you want to delete.
-
Click the Settings drop-down Menu, and choose Delete.
The cluster status is updated to Deleting while cluster resources are being deleted. When all resources are successfully deleted, the cluster status is updated to Deleted and the cluster is removed from the list. The delete operation returns the edge hosts to the Ready state. All the artifacts related to the Kubernetes distribution are removed.
Upgrade a MAAS Cluster
Upgrade a MAAS cluster to enhance the performance and functionality of the cluster. To learn more about managing a MAAS cluster, refer to Manage Clusters.
To protect your data, we recommend you create a backup of your MAAS cluster before proceeding with any upgrades or infrastructure changes. Review instructions provided in the Backup and Restore.
Ensure that the Operating System (OS) images selected for your cluster are downloaded and available for your MAAS configuration to eliminate errors in Palette. You can refer to the How to use standard images guide for instructions on downloading OS images compatible with their respective MAAS environment.
Next Steps
Now that you’ve deployed a MAAS cluster, you can start developing and deploying applications to your cluster. We recommend you review the Day-2 operations and become familiar with the cluster management tasks. Check out the Manage Clusters documentation to learn more about Day-2 responsibilities.