12-worker-network(calico)
1.3.8 集群网络准备 ¶
使用calico部署集群网络
安装参考网址:https://projectcalico.docs.tigera.io/about/about-calico
创建 operator 资源 ¶
# 下载operator资源清单文件
wget https://raw.githubusercontent.com/projectcalico/calico/v3.26.1/manifests/tigera-operator.yaml
# 应用资源清单文件,创建operator
kubectl create -f tigera-operator.yaml
创建 custom-resources ¶
cat /etc/kubernetes/kube-controller-manager.conf
kubectl get nodes -o jsonpath='{.items[*].spec.podCIDR}'```
# 通过自定义资源方式安装
wget https://raw.githubusercontent.com/projectcalico/calico/v3.26.1/manifests/custom-resources.yaml
# 修改文件第13行,修改为使用 kubeadm init ----pod-network-cidr对应的IP地址段
vim custom-resources.yaml
......
11 ipPools:
12 - blockSize: 26
13 cidr: 10.224.0.0/16
14 encapsulation: VXLANCrossSubnet
......
# 当node无法正常运行时,可考虑在此文件中添加相关内容。
nodeAddressAutodetectionV4:
interface: ens.*
# 应用资源清单文件
kubectl apply -f custom-resources.yaml
查看状态 ¶
# 监视calico-sysem命名空间中pod运行情况
watch kubectl get pods -n calico-system
Wait until each pod has the
STATUS
ofRunning
.
# 删除 master 上的 taint
kubectl taint nodes --all node-role.kubernetes.io/control-plane-
# 已经全部运行
kubectl get pods -n calico-system
NAME READY STATUS RESTARTS AGE
calico-kube-controllers-67857f484b-2hrfz 1/1 Running 0 4m14s
calico-node-c9zrv 1/1 Running 0 4m14s
calico-typha-7fb59db6f-8rbj8 1/1 Running 0 4m14s
csi-node-driver-gtlnm 2/2 Running 0 4m14s
# 查看kube-system命名空间中coredns状态,处于Running状态表明联网成功。
kubectl get pods -n kube-system
NAME READY STATUS RESTARTS AGE
coredns-7bdc4cb885-6k8t8 1/1 Running 0 43m
coredns-7bdc4cb885-ftskl 1/1 Running 0 43m
etcd-k8s-1.27 1/1 Running 3 43m
kube-apiserver-k8s-1.27 1/1 Running 0 43m
kube-controller-manager-k8s-1.27 1/1 Running 0 43m
kube-proxy-zkgdj 1/1 Running 0 43m
kube-scheduler-k8s-1.27 1/1 Running 0 43m
calico客户端安装 ¶
# 下载二进制文件
curl -L https://github.com/projectcalico/calico/releases/download/v3.21.4/calicoctl-linux-amd64 -o calicoctl
# 安装calicoctl
mv calicoctl /usr/bin/
# 为 calicoctl 添加可执行权限
chmod +x /usr/bin/calicoctl
# 查看添加权限后文件
/usr/bin/calicoctl
# 查看calicoctl版本
calicoctl version
# 通过~/.kube/config连接kubernetes集群,查看已运行节点
DATASTORE_TYPE=kubernetes KUBECONFIG=~/.kube/config calicoctl get nodes