Skip to content

GCP Hosted Control Plane Deployment#

Follow these steps to set up a k0smotron-hosted control plane on Google Cloud:

  1. Prerequisites

    Before you start, make sure you have the following:

    • A management Kubernetes cluster (Kubernetes v1.28+) deployed on GCP with k0rdent installed.
    • A GCP Cloud Controller Manager installed to manage Services with the Load Balancer type.
    • A default storage class configured on the management cluster to support Persistent Volumes.

    Note

    All control plane components for managed clusters will run in the management cluster. Make sure the management cluster has sufficient CPU, memory, and storage to handle the additional workload.

  2. Create the ClusterDeployment manifest

    The ClusterDeployment manifest for a GCP-hosted control plane is similar to those for standalone control plane deployments. For a detailed list of parameters, refer to the Template Reference Guide, but here is an example:

    apiVersion: k0rdent.mirantis.com/v1alpha1
    kind: ClusterDeployment
    metadata:
      name: gcp-hosted-cp
    spec:
      template: gcp-hosted-cp-0-3-0
      credential: gcp-credential
      config:
        project: "PROJECT_NAME"
        region: "us-east4"
        network:
          name: default # Select your desired network name (select new network name to create or find it via `gcloud compute networks list --format="value(name)"`)
        worker:
          instanceType: n1-standard-2 # Select your desired instance type (find it via `gcloud compute machine-types list | grep REGION`)
          image: projects/ubuntu-os-cloud/global/images/ubuntu-2004-focal-v20250213 # Select image (find it via `gcloud compute images list --uri`)
    
    Apply the ClusterDeployment manifest to the management cluster, as in:

    kubectl apply -f clusterdeployment.yaml -n kcm-system