-
vim /etc/kubernetes/manifests/kube-controller-manager.yaml 【3个master一个一个的执行,最好是kube-controller-manager-节点名字的pod Running之后再修改下一个节点】
19行:--cluster-cidr=10.128.0.0/18 -
kubectl edit cm kubeadm-config -n kube-system
podSubnet: 10.128.0.0/18 -
kubectl edit cm kube-proxy -n kube-system
clusterCIDR: 10.128.0.0/18 -
kubectl edit ippool default-ipv4-ippool
cidr: 10.128.0.0/18 -
kubectl edit cm calico-config -n kube-system :
"ipam": {
"type": "calico-ipam", #逗号
"ipv4_pools": ["default-ipv4-ippool"] #添加此行,前面必须是空格不能是tab
}, -
kubectl rollout restart -n kube-system daemonset.apps/calico-node
等待calico的pod全部running,全部节点查看配置文件是否有"ipv4_pools": ["default-ipv4-ippool"]:
cat /etc/cni/net.d/00-multus.conf
cat /etc/cni/net.d/10-calico.conflist -
kubectl edit ippool kubevirt-vm-ippool
cidr: 10.128.128.0/18 -
kubectl delete ippool other-ippool
-
kubectl cluster-info dump | grep cluster-cidr
默认使用default pool,开启noipam功能
calico-config configMap:
cni.projectcalico.org/ipAddrsNoIpam
apiVersion: v1
data:
calico_backend: bird
cni_network_config: |-
{
"name": "k8s-pod-network",
"cniVersion": "0.3.1",
"plugins": [
{
"type": "calico",
"log_level": "info",
"log_file_path": "/var/log/calico/cni/cni.log",
"datastore_type": "kubernetes",
"nodename": "__KUBERNETES_NODE_NAME__",
"mtu": __CNI_MTU__,
"ipam": {
"type": "calico-ipam",
"ipv4_pools": ["default-ipv4-ippool"]
},
"policy": {
"type": "k8s"
},
"kubernetes": {
"kubeconfig": "__KUBECONFIG_FILEPATH__"
},
"feature_control": {
"ip_addrs_no_ipam": true
}
},
{
"type": "portmap",
"snat": true,
"capabilities": {"portMappings": true}
},
{
"type": "bandwidth",
"capabilities": {"bandwidth": true}
}
]
}
typha_service_name: none
veth_mtu: "0"
kind: ConfigMap
metadata:
name: calico-config
namespace: kube-system