1.從官網(wǎng)下載最新版本的calico部署文件
# 下載的etcd版本
curl https://docs.projectcalico.org/manifests/calico-etcd.yaml -o calico.yaml
2.配置外置etcd,這里使用的和master同一個(gè)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地址,默認(rèn)是注釋的
- name: CALICO_IPV4POOL_CIDR
value: "10.244.0.0/16"
4.更改calico為BGP模式,默認(rèn)為IPIP(覆蓋網(wǎng)絡(luò))
- name: CALICO_IPV4POOL_IPIP
value: "Off"
默認(rèn)為Always
5.如果是多網(wǎng)卡的集群,還需要指定網(wǎng)卡
- name: CLUSTER_TYPE
value: "k8s,bgp"
- name: FELIX_MTUIFACEPATTERN
value: "bond1.1731"
字段為新增的。
6.如果當(dāng)機(jī)器上的網(wǎng)卡的MTU都相同的,calico使用mtu匹配會(huì)失效,并會(huì)一直報(bào)錯(cuò),所以需要指定網(wǎng)卡
no interfaces matched the MTU interface pattern. To use auto-MTU, set mtuIfacePattern to match your host's interfaces