calicoctl工具部署-k8s中的pod的方式
1、概述
本文档介绍的是将calicoctl工具,以pod的方式,部署在k8s集群中
2、部署过程
2.1 下载calicoctl工具的镜像、上传到本地的镜像仓库中
本次使用的版本是:calico/ctl:v3.21.4
这个版本和当前运行的calico-node是一个版本(必须一致,包括后面的小版本)
拉取镜像
docker pull calico/ctl:v3.21.4
说明:拉取镜像的是可以上网的环境,比如,本地的virtulbox虚拟机
将镜像推送到本地的镜像仓库
docker tag calico/ctl:v3.21.4 172.20.58.152/kubernetes/calico/ctl:v3.21.4 docker push 172.20.58.152/kubernetes/calico/ctl:v3.21.4
推送到本地仓库后,用于在没有联网的主机上进行部署
2.2、下载对应版本的yaml配置文件
数据存储用的是etcd就选择etcd的yaml,数据存储是kubernetes的选择下面的那个yaml
具体的是哪个存储,可以在calico-node部署的yaml中,找到:
本次使用的是kubernetes api数据存储的yaml
下载到本地。
2.3、修改其中的镜像tag信息
将镜像的信息,修改为刚刚推送到本地的tag信息
2.4、在k8s中进行部署
将calicoctl的yaml文件上传的k8s的master服务器上,执行下面的命令
kubectl apply -f calicoctl_v3.21.4.yaml
查看pod的状态
运行状态是Running表示运行成功
[root@nccztsjb-node-23 yamls]# kubectl get pod -n kube-system | grep calicoctl calicoctl 1/1 Running 0 65s [root@nccztsjb-node-23 yamls]#
2.5、查询calico node的状态
OK,calicoctl工具部署之后,使用这个工具查询calico集群的状态
kubectl exec -ti -n kube-system calicoctl -- /calicoctl get nodes
有如下的输出,说明calicoctl工具部署OK
[root@nccztsjb-node-23 yamls]# kubectl exec -ti -n kube-system calicoctl -- /calicoctl get nodes NAME nccztsjb-node-23 nccztsjb-node-24 nccztsjb-node-25 [root@nccztsjb-node-23 yamls]#
查看节点的详细状态
kubectl exec -ti -n kube-system calicoctl -- /calicoctl get nodes -o wide
这样,就可以看到calico node节点的对应的IP地址了
[root@nccztsjb-node-23 yamls]# kubectl exec -ti -n kube-system calicoctl -- /calicoctl get nodes -o wide NAME ASN IPV4 IPV6 nccztsjb-node-23 (64512) 172.20.58.83/24 nccztsjb-node-24 (64512) 172.20.58.65/24 nccztsjb-node-25 (64512) 172.20.58.18/24