Skip to main content

Create and Manage Nutanix Cluster

Palette supports creating and managing Kubernetes clusters deployed to a Nutanix infrastructure environment. This section guides you in creating and updating a Kubernetes cluster in a Nutanix cloud managed by Palette.

Deploy a Nutanix Cluster

Prerequisites

  • A Nutanix Private Cloud Gateway (PCG) deployed. For guidance, review Install Private Cloud Gateway.

  • An infrastructure cluster profile created for the Nutanix cloud. For guidance on creating a profile, refer to Create an Infrastructure Profile. At the Cloud Type step of profile creation, select Nutanix listed under the Tech Preview. Select the custom packs provided at the OS and Kubernetes layers. Palette provides out-of-the-box packs for the network and storage profile layers, including the Nutanix CSI storage pack.

  • A Nutanix Prism Central account with Prism Admin role.

  • A Nutanix Prism Element cluster created.

  • A Nutanix subnet created in Nutanix Prism Central that will be assigned to the Virtual Machines (VMs) that will make up the Kubernetes cluster.

  • A Nutanix Cluster API (CAPI) OS image. For guidance on creating the image, refer to Building CAPI Images for Nutanix Cloud Platform.

Enablement

Follow the steps below to deploy a Nutanix cluster.

  1. Log in to Palette.

  2. Ensure you are in the correct project scope.

  3. From the left Main Menu, select Clusters and click Add New Cluster.

  4. In Tech Preview, select Nutanix.

  5. In the bottom-right corner, click Start Nutanix Configuration.

  6. Fill out the following basic information, and click Next to continue.

    FieldDescription
    Cluster NameA custom name for your cluster.
    DescriptionUse the description to provide context about the cluster.
    TagsAssign any desired cluster tags.
    Cloud AccountSelect your Nutanix account from the drop-down Menu.
  7. Select the Nutanix cluster profile you created and click Next. Palette displays the profile layers.

  8. Review profile layers, leaving the OS and Kubernetes packs empty, and customize parameters as desired in the YAML files that display when you select the network and storage layers. Click Next when you are done.

  9. In the Cluster Configuration Macros pane, enter values that apply to your Nutanix cloud environment and, if necessary, adjust the Cluster configuration YAML file to configure your cluster. Click Next when you are ready to proceed.

    info

    The inactive fields are auto-populated from your Nutanix cloud account configuration. When entering other macros, make sure to verify the default values.

    FieldDescription
    NUTANIX_ADDITIONAL_TRUST_BUNDLEAn optional environment variable that allows CAPX to verify certificates that are not issued by a publicly trusted certificate authority. For more information, refer to the Nutanix Certificate Trust guide.
    CONTROL_PLANE_ENDPOINT_IPThe host IP of the CAPX Kubernetes cluster.
    CONTROL_PLANE_ENDPOINT_PORTPort of the CAPX Kubernetes cluster that you assigned in cloudClusterTemplate.yaml. Defaults to 6443.
  10. In the Node Pool Configuration Macros panes for the control plane and worker pools, enter the values that apply to your Nutanix cloud environment and, if necessary, adjust their Node pool configuration YAML files.

    You can configure scaling in the Palette UI by specifying the number of nodes in the pool. This corresponds to replicas in the YAML file.

    info

    The inactive fields are auto-populated from the cluster configuration specified in the previous step. When entering other macros, make sure to verify the default values.

    Control Plane Pool

    FieldDescription
    TLS_CIPHER_SUITESCryptographic algorithms for securing network communications. Refer to Nutanix Cryptographic Module for OpenSSL for more options and details.
    KUBEVIP_SVC_ENABLEThis setting enables a service of type LoadBalancer. Refer to the Kubernetes Service Load Balancing docs for details.
    KUBEVIP_LB_ENABLEThis setting allows control plane load balancing using IPVS. Refer to the Control Plane Load-Balancing docs for details.
    KUBEVIP_SVC_ELECTIONThis setting enables watching services of type LoadBalancer.
    NUTANIX_SSH_AUTHORIZED_KEYYour public SSH key.
    KUBERNETES_VERSIONYour cluster Kubernetes version preceded with v, for example, v1.26.3.
    NUTANIX_MACHINE_BOOT_TYPEThe VM boot type. Depends on the OS image you're using. Allowed values: legacy, uefi. Defaults to legacy.
    NUTANIX_PRISM_ELEMENT_CLUSTER_NAMEThe name of your Nutanix AHV cluster as defined in Prism.
    NUTANIX_MACHINE_TEMPLATE_IMAGE_NAMEThe name of your OS image as defined in Prism Central. To locate images, in the Nutanix Prism dashboard, navigate to Compute & Storage and select Images.
    NUTANIX_MACHINE_MEMORY_SIZEAmount of memory. Defaults to 4Gi.
    NUTANIX_SUBNET_NAMEThe name of the subnet defined in Prism Central, which will be assigned to the VMs deployed in this cluster.
    NUTANIX_SYSTEMDISK_SIZEAmount of storage assigned to the system disk. Defaults to 40Gi.
    NUTANIX_MACHINE_VCPU_SOCKETNumber of vCPU sockets. Defaults to 2.
    NUTANIX_MACHINE_VCPU_PER_SOCKETNumber of vCPUs per socket. Defaults to 1.

    Worker Pool

    FieldDescription
    KUBERNETES_VERSIONYour cluster Kubernetes version preceded with v, for example, v1.26.3.
    NUTANIX_MACHINE_BOOT_TYPEThe VM boot type. Depends on the OS image you're using. Allowed values: legacy, uefi. Defaults to legacy.
    NUTANIX_PRISM_ELEMENT_CLUSTER_NAMEThe name of your Nutanix AHV cluster as defined in Prism.
    NUTANIX_MACHINE_TEMPLATE_IMAGE_NAMEThe name of your OS image as defined in Prism Central. To locate images, in the Nutanix Prism dashboard, navigate to Compute & Storage and select Images.
    NUTANIX_MACHINE_MEMORY_SIZEAmount of memory. Defaults to 4Gi.
    NUTANIX_SUBNET_NAMEThe name of the subnet defined in Prism Central, which will be assigned to the VMs deployed in this cluster.
    NUTANIX_SYSTEMDISK_SIZEAmount of storage assigned to the system disk. Defaults to 40Gi.
    NUTANIX_MACHINE_VCPU_SOCKETNumber of vCPU sockets. Defaults to 2.
    NUTANIX_MACHINE_VCPU_PER_SOCKETNumber of vCPUs per socket. Defaults to 1.
    TLS_CIPHER_SUITESCryptographic algorithms for securing network communications. Refer to Nutanix Cryptographic Module for OpenSSL for more options and details.
    NUTANIX_SSH_AUTHORIZED_KEYYour public SSH key.
  11. Click Next when you are done.

  12. Review the options for OS patching schedule, scanning, backups, and RBAC.

  13. Click Validate and review the cluster configuration and settings summary.

  14. Click Finish Configuration to deploy the cluster. The cluster details page contains the status and details of the deployment. Use this page to track deployment progress. Provisioning clusters can take several minutes to complete.

Validate

  1. Log in to Palette.

  2. Navigate to the left Main Menu and select Clusters. The Clusters page displays a list of all available clusters that Palette manages.

  3. Click on the Nutanix cluster you created to view its details page.

  4. Ensure the Cluster Status field displays Running.

Update a Deployed Cluster

Palette supports editing the settings of a deployed Nutanix cluster, including the control plane and worker node pool configurations. You can change the memory, CPU, or storage of your node pools. Follow the steps described below to update your cluster.

Prerequisites

  • An active Nutanix cluster in Palette.
  • The cluster.update permission to update clusters. Refer to Roles and Permissions for more information.

Enablement

  1. Log in to Palette.

  2. From the left Main Menu, select Clusters.

  3. Click on the Nutanix cluster you created.

  4. To edit the cluster settings, from the cluster details page, click Settings and select Cluster Configuration. Edit the YAML file that Palette displays.

Update Control Plane Node Pool

  1. Navigate to the cluster details page and click the Nodes tab.

  2. In the control plane node pool you want to edit, click Edit to open its YAML configuration file.

  3. Edit the NutanixMachineTemplate object. You can update the memory (memorySize), CPU (vcpuSockets and vcpuPerSocket), and storage (systemDiskSize). Once you are finished changing the node pool configurations, update the name parameter under the metadata line. For example, if the previous name was control-plane-pool-resource-3, rename it to control-plane-pool-resource-4.

    warning

    You must update the node pool name for the configuration updates to take effect.

  4. Edit the KubeadmControlPlane object. Change the name parameter under the kind: NutanixMachineTemplate line to match the new name you used in the NutanixMachineTemplate object.

  5. When you are done updating the control plane node pool configuration, click Confirm and Continue to confirm the changes.

Update Worker Node Pool

  1. Navigate to the cluster details page and click the Nodes tab.

  2. In the worker node pool you want to edit, click Edit to open its YAML configuration file.

  3. Edit the NutanixMachineTemplate object. You can update the memory (memorySize), CPU (vcpuSockets and vcpuPerSocket), and storage (systemDiskSize). Once you are finished editing the node pool configurations, update the name parameter under the metadata line. For example, if the previous name was worker-pool-resource-3, rename it to worker-pool-resource-4.

    warning

    You must update the node pool name for the configuration updates to take effect.

  4. Edit the MachineDeployment object. Change the name parameter under the kind: NutanixMachineTemplate line to match the new name you used in the NutanixMachineTemplate object.

  5. When you are done updating the worker node pool configuration, click Confirm and Continue to confirm the changes.

  6. The node pool alterations will trigger a cluster repave. Follow the Approve Cluster Repave guide to incorporate the updates to your cluster.

Validate

  1. Log in to Palette.

  2. From the left Main Menu, select Clusters.

  3. Click on the Nutanix cluster you deployed, and then click on the Nodes tab.

  4. Verify that all nodes are in the Running and Healthy status, and reflect the applied repave changes.