Skip to content

karmada init on existing cluster

sonyafenge edited this page Jan 25, 2023 · 2 revisions

Installing kubectl karmada on master machine of karmada host cluster

ubuntu@karmada-host:~$ curl -s https://raw.githubusercontent.com/karmada-io/karmada/master/hack/install-cli.sh | sudo bash -s kubectl-karmada
ubuntu@karmada-host:~$ kubectl-karmada version
kubectl karmada version: version.Info{GitVersion:"v1.4.1", GitCommit:"4c56b19a6ba8258399767b4cd5f98779a321f7db", GitTreeState:"clean", BuildDate:"2022-12-15T09:47:49Z", GoVersion:"go1.19.4", Compiler:"gc", Platform:"linux/amd64"}

Setup karmada

1. kamada init on karmada host

Karmada init Tips : ensure master nodes for Karmada host can be scheduled, remove taint

kubectl taint nodes --all node-role.kubernetes.io/control-plane-
sudo kubectl karmada init --kubeconfig /home/ubuntu/.kube/config

2. karmada join on karmada host

Karmada join Tips : Ensure current-context of member cluster config is match with Karmada’s name request, if not, please add context alias for join

on master machine of karmada member cluster

kubectl config view
kubectl config set-context karmada-member1 --cluster=kubernetes --user=kubernetes-admin
kubectl config use-context karmada-member1
kubectl config current-context

on karmada host

  1. Copy kubeconfig from member master to karmada host
  2. Run karmada join
MEMBER_CLUSTER_NAME=$(cat ~/.kube/member1_config  | grep current-context | sed 's/: /\n/g'| sed '1d')
echo $MEMBER_CLUSTER_NAME
kubectl karmada --kubeconfig /etc/karmada/karmada-apiserver.config  join ${MEMBER_CLUSTER_NAME} --cluster-kubeconfig=$HOME/.kube/member1_config

3. verify karmada cluster

ubuntu@karmada-host:~$ kubectl --kubeconfig /etc/karmada/karmada-apiserver.config get clusters
NAME              VERSION   MODE   READY   AGE
karmada-member1   v1.26.0   Push   True    87s

refer https://karmada.io/docs/get-started/nginx-example/ to get more details related karmada