跳转至

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 of Running.

# 删除 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