-
Notifications
You must be signed in to change notification settings - Fork 3
clmng_ops
In this section, we will focus on the rapid deployment of CAPONE, assuming that a management cluster has already been deployed and is accessible, the VNF and K8s node appliances have been downloaded, and the networking setup is correctly defined.
For a detailed, step-by-step guide on how to deploy CAPONE from scratch, please refer to the Installation and Requirements section.
To initialize the management cluster, run the following command:
$ clusterctl init --config=clusterctl-config.yaml --infrastructure=opennebula:v0.1.0
The system will proceed with the following installation process:
Fetching providers
Installing cert-manager version="v1.16.1"
Waiting for cert-manager to be available...
Installing provider="cluster-api" version="v1.9.4" targetNamespace="capi-system"
Installing provider="bootstrap-kubeadm" version="v1.9.4" targetNamespace="capi-kubeadm-bootstrap-system"
Installing provider="control-plane-kubeadm" version="v1.9.4" targetNamespace="capi-kubeadm-control-plane-system"
Installing provider="infrastructure-opennebula" version="v0.1.0" targetNamespace="capone-system"
Your management cluster has been initialized successfully!
You can now create your first workload cluster by running the following:
clusterctl generate cluster [name] --kubernetes-version [version] | kubectl apply -f -
Once the management cluster is successfully initialized, you can move on to creating your first workload cluster.
First, set the environment variables for OpenNebula cluster configuration:
export CCM_IMG=ghcr.io/opennebula/cloud-provider-opennebula:latest
export CLUSTER_NAME=one
export ONE_XMLRPC=http://<OpenNebula cluster endpoint>:2633/RPC2
export ONE_AUTH=oneadmin:<password>
export CONTROL_PLANE_HOST=<PUBLIC_NETWORK IP>
export CONTROL_PLANE_MACHINE_COUNT=1
export WORKER_MACHINE_COUNT=2
export MACHINE_TEMPLATE_NAME=capone131
export ROUTER_TEMPLATE_NAME=capone131-vr
export PUBLIC_NETWORK_NAME=service
export PRIVATE_NETWORK_NAME=private
Then, generate the cluster configuration and apply it using kubectl:
clusterctl generate cluster one --infrastructure=opennebula --config=clusterctl-config.yaml | kubectl apply -f -
Retrieve the kubeconfig for the cluster:
clusterctl get kubeconfig one > kubeconfig.yaml
Additionally, you may opt to add a Container Network Interface (CNI) to your workload cluster. For instance, to deploy Flannel:
kubectl --kubeconfig <(clusterctl get kubeconfig one) apply -f test/e2e/data/cni/kube-flannel.yml
Finally, verify the nodes in the cluster:
$ kubectl --kubeconfig=kubeconfig.yaml get node
NAME STATUS ROLES AGE VERSION
one-g89nf Ready control-plane 5m v1.31.4
one-md-0-cmq95-djz7d Ready <none> 4m27s v1.31.4
one-md-0-cmq95-kjrrm Ready <none> 4m12s v1.31.4
- CAPONE Overview
- Installation and Requirements
- Cluster Management
- LoadBalancer Services
- Troubleshooting and Logs
- Developer Information
- References