下面将cluster01和cluster02这两个成员集群注册至KubeFed,需要先下载和安装kubefedctl CLI。
$ curl -LO https://github.com/kubernetes-sigs/kubefed/releases/download/v0.5.0/kubefedctl-0.5.0-linux-amd64.tgz
$ tar -zxvf kubefedctl-*.tgz
$ chmod +x kubefedctl
$ mv kubefedctl /usr/local/bin/
在使用kubefedctl join命令接入新集群之前,需要将cluster01和cluster02集群信息配置在本地kubeconfig文件中。使用Kubernetes原生的kubectl config命令配置kubeconfig文件。
设置KUBECONFIG环境变量并查看cluster01和cluster02的context信息。
$export KUBECONFIG=/root/.kube/config_all
$ kubectl config get-contexts
CURRENT NAME CLUSTER AUTHINFO NAMESPACE
* cluster01 cluster01 cluster01-admin
cluster02 cluster02 cluster02-admin
使用kubefedctl join命令依次将context为cluster01和cluster02的集群注册至KubeFed。
$ kubefedctl join cluster01 --cluster-context=cluster01 --host-cluster-context cluster01 --v=2
$ kubefedctl join cluster02 --cluster-context=cluster02 --host-cluster-context cluster01 --v=2
在kube-federation-system命名空间下可以查看注册成功的成员集群及状态。
$ kubectl -n kube-federation-system get kubefedclusters
NAME AGE READY
cluster01 94s True
cluster02 21s True
如果想从集群联邦中移除某个成员集群,可以使用kubefedctl unjoin命令,例如执行如下命令可以从集群联邦中移除cluster02。
$ kubefedctl unjoin cluster02 --cluster-context=cluster02 --host-cluster- context cluster01 --v=2