【容器化】Kubernetes二进制高可用部署8-Calico网络插件部署

零、目录

一、说明

本文将部署Kubernetes的网络插件Calico。

文档链接:
最新版本
v3.21版本
v3.20版本
v3.19版本
v3.18版本

版本对应:

Calico版本 Kubernetes版本
v3.21 v1.20 v1.21 v1.22
v3.20 v1.19 v1.20 v1.21
v3.19 v1.19 v1.20 v1.21
v3.18 v1.18 v1.19 v1.20

部署节点要求:

  • x86-64, arm64, ppc64le, or s390x处理器
  • 内核3.10或更新,支持系统
    • RedHat Linux 7
    • CentOS 7
    • CoreOS Container Linux stable
    • Ubuntu 16.04
    • Debian 8
  • Calico需要管理cali*的网络设备;如果开启了IPIP模式,则同时会管理tunl*网络设备;如果VXLAN启用,则同时会管理vxlan.calico网络设备
  • 关闭防火墙及其他iptables管理工具

二、获取Calico.yaml文件

1
2
3
4
5
6
# 旧版本Calico
# https://docs.projectcalico.org/archive/v3.19/manifests/calico.yaml
# https://docs.projectcalico.org/archive/v3.20/manifests/calico.yaml
# https://docs.projectcalico.org/archive/v3.21/manifests/calico.yaml
# 最新版本Calico
wget -O /usr/local/src/calico.yaml https://docs.projectcalico.org/manifests/calico.yaml

或者从下方获取,版本对应为3.21.4
calico.yaml

三、修改参数

  • 按需修改4223行的CALICO_IPV4POOL_CIDR的值,指定pod的IP范围,该值不能和节点IP以及ClusterIP范围重合。默认值为192.168.0.0/16
  • 按需修改4225行的IP_AUTODETECTION_METHOD的值,指定网卡名称。默认值为第一张网卡的名称

四、创建Calico服务

1
kubectl apply -f /usr/local/src/calico.yaml

五、验证测试

查看集群内calico-kube-controllers的 Deployment 和 calico-node 的 Daemonset 资源是否都成功处于 Running 状态。这个过程根据网络可能很慢

1
kubectl -n kube-system get po -owide

结果截图

(•̀ᴗ•́)و ̑̑

Share