系列文章目录
第一章 kubernetes1.24部署
第二章 选择docker作为容器运行时
第三章 选择containerd作为容器运行时
第四章 选择cri-o作为容器运行时
第五章 网络插件flannel部署
第六章 网络插件calico部署
第七章 网络插件cilium部署
选择flannel作为集群的网络插件
1.安装
//下载kube-flannel.yml文件
# wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
//部署
# kubectl apply -f kube-flannel.yml
Flannel的设计目的就是为集群中的所有节点重新规划IP地址的使用规则,从而使得不同节点上的容器能够获得“同属一个内网”且”不重复的”IP地址,并让属于不同节点上的容器能够直接通过内网IP通信。
2.修改flannel默认pod网段
如果集群设置的pod网段和flannel默认网段不一致,可能会导致flannel插件启动不成功。
**场景:**集群初始化kubeadm init
时,添加了--pod-network-cidr=**.**.**.**/**
字段,并且网段和flannel默认的10.244.0.0/16网段不同,则可以应用下面的修改。
打开下载的kube-flannel.yml
文件:
# vim kube-flannel.yml
//找到net-conf.json字段
kind: ConfigMap
apiVersion: v1
metadata:
name: kube-flannel-cfg
namespace: kube-flannel
labels:
tier: node
app: flannel
data:
cni-conf.json: |
{
"name": "cbr0",
"cniVersion": "0.3.1",
"plugins": [
{
"type": "flannel",
"delegate": {
"hairpinMode": true,
"isDefaultGateway": true
}
},
{
"type": "portmap",
"capabilities": {
"portMappings": true
}
}
]
}
net-conf.json: |
{
//修改10.244.0.0/16,改为集群初始化时定义的-pod-networke-cidr
"Network": "10.244.0.0/16",
"Backend": {
"Type": "vxlan"
}
}
......
修改完成后再用kubectl apply
命令部署:
# kubectl apply -f kube-flannel.yml
flannel的所有pod状态为running则为部署成功,部署成功参考:
编辑时间:2022-8-19