1.从官网下载最新版本的calico部署文件
# 下载的etcd版本
curl https://docs.projectcalico.org/manifests/calico-etcd.yaml -o calico.yaml
2.配置外置etcd,这里使用的和master同一个etcd集群
kind: ConfigMap
apiVersion: v1
metadata:
name: calico-config
namespace: kube-system
data:
# Configure this with the location of your etcd cluster.
etcd_endpoints: "http://1.1.1.1:2379,http://1.1.1.2:2379,http://1.1.1.3:2379"
3.修改podSubnet地址,默认是注释的
- name: CALICO_IPV4POOL_CIDR
value: "10.244.0.0/16"
4.更改calico为BGP模式,默认为IPIP(覆盖网络)
- name: CALICO_IPV4POOL_IPIP
value: "Off"
默认为Always
5.如果是多网卡的集群,还需要指定网卡
- name: CLUSTER_TYPE
value: "k8s,bgp"
- name: FELIX_MTUIFACEPATTERN
value: "bond1.1731"
字段为新增的。
6.如果当机器上的网卡的MTU都相同的,calico使用mtu匹配会失效,并会一直报错,所以需要指定网卡
no interfaces matched the MTU interface pattern. To use auto-MTU, set mtuIfacePattern to match your host's interfaces