...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
# master kubeadm init --image-repository registry.aliyuncs.com/google_containers --kubernetes-version=v1.23.7 --pod-network-cidr=10.10.0.0/16 |
Execute screenshot
Let kubectl take effect
Execute command
...
When you have the join statement, copy it and execute it on the worker node
Note that if an error occurs and you need to re-init, you need to execute the following statement first to ensure that kubeadm is re-executed normally
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
kubectl get po -A |
Execute screenshot
7 Propagate a deployment by Karmada
...
Before propagating a deployment, make sure the worker cluster is already working properly And get the latest config currently running
In the following steps, we are going to propagate a deployment by Karmada. We use the installation of nginx as an example
...
Here we add the working node cluster through push mode
It is worth noting that /root/.kube/config is Kubernetes config and the /etc/karmada/karmada-apiserver.config is Karmada's config
Execute command
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
kubectl karmada join worker-cluster--kubeconfig /etc/karmada/karmada-apiserver.config join ${YOUR MEMBER NAME} --cluster-kubeconfig=prod${YOUR MEMBER CONFIG PATH} --cluster-context=prod${YOUR CLUSTER CONTEXT} |
Here is example command for your information: kubectl karmada --kubeconfig /etc/karmada/karmada-apiserver.config join member1 --cluster-kubeconfig=/root/.kube/192.168.30.22_config --cluster-context=kubernetes-admin@kubernetes
--kubeconfig specifies the Karmada's
kubeconfig
file and the CLI- --cluster-kubeconfig
specifies the member's config. Generally, it can be obtained from the worker cluster in "/root/.kube/config"
--cluster-context the value of current-context from --cluster-kubeconfig
If you want unjoin the member cluster, just change the join to unjoin: kubectl karmada --kubeconfig /etc/karmada/karmada-apiserver.config unjoin member2 --cluster-kubeconfig=/root/.kube/192.168.30.2_config --cluster-context=kubernetes-admin@kubernetes
check the members of karmada
Execute command
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
kubectl --kubeconfig /etc/karmada/karmada-apiserver.config get clusters |
7.2 Create nginx deployment in Karmada
...
Execute command
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
kubectl create -f get po -A |
...
/root/sample/nginx/deployment.yaml --kubeconfig /etc/karmada/karmada-apiserver.config
kubectl get deployment --kubeconfig /etc/karmada/karmada-apiserver.config |
7.3 Create PropagationPolicy that will propagate nginx to member cluster
Execute command
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
kubectl get po -A |
...
create -f /root/sample/nginx/propagationpolicy.yaml --kubeconfig /etc/karmada/karmada-apiserver.config |
7.4 Check the deployment status from Karmada
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
kubectl get po -A --kubeconfig /root/.kube/member1-config kubectl get po --kubeconfig /root/.kube/member2-config |
Reference
https://lazytoki.cn/index.php/archives/4/
...