Files
kubevela/docs/examples/traits/control-plane-only-usecase

How to use controlPlaneOnly

In this section, I'll illustrate by an example how to controlPlaneOnly.

Prerequisites

  1. You have installed KubeVela
  2. You can access several Kubernetes cluster(remotely or locally like kind or minikube) via vela cluster join xxx

Steps

Apply trait with controlPlaneOnly

In control-plane-only-usecase.cue, you'll see a controlPlaneOnly field in attributes, which shows that whether resources generated by trait are dispatched to the hubcluster local.

apply the cue file in cluster

vela def apply control-plane-only-usecase.cue

Apply the application

In app-with-control-plane-only-usecase.yaml, you'll see a application with trait hubcluster

Just apply the file in cluster.

kubectl apply -f app-with-control-plane-only-usecase.yaml

Check the application

the application in the cluster is rendered into resources like pod, hpa.

Try to describe the pod in cluster01:

$ kubectl get pod
NAME                                                        READY   STATUS    RESTARTS   AGE
app-with-control-plane-only-component-01-66bd996fd7-xlwsh   1/1     Running   0          18s

Try to describe the pod in cluster02:

$ kubectl get pod
NAME                                                        READY   STATUS    RESTARTS   AGE
app-with-control-plane-only-component-01-66bd996fd7-p66rv   1/1     Running   0          18s

Try to describe the hpa in local:

$ kubectl get hpa
NAME                                       READY   STATUS    RESTARTS   AGE
app-with-control-plane-only-component-01   1/1     Running   0          18s

You'll see the pod is running without any errors and hpa is running in local.