k8s的CNI网络插件

安装cni网络插件

在master节点上运行
以最常用的calicoflannel插件为例

cni是容器网络接口,作用是实现容器跨主机网络通信.

pod的ip地址段,也称为cidr


安装flannel网络插件(简单易用)

# 下载flannel插件的yml
wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

# 修改kube-flannel.yml中的镜像仓库地址为国内源
sed -i 's/quay.io/quay-mirror.qiniu.com/g' kube-flannel.yml

# 安装网络插件
kubectl apply -f kube-flannel.yml

查看kubeadm配置的默认pod网段和sv网段

参考: 修改pod网段

查看k8s的pod网段和svc网段

# kubeadm的配置信息存在config-map中
kubectl -n kube-system describe cm kubeadm-config |grep -i pod

## 打印结果
podSubnet: 10.244.0.0/16


# 查看pod网段和svc网段
[m1 root ~]#kubectl -n kube-system describe cm kubeadm-config |grep -i net
certificatesDir: /etc/kubernetes/pki
clusterName: kubernetes
kubernetesVersion: v1.23.4
networking:
  podSubnet: 100.64.0.0/10
  serviceSubnet: 10.96.0.0/12

安装calico网络插件(复杂灵活)

calico复杂和灵活,功能也更强大

calico配置参考: 官方配置文档


下载calico插件的yaml

# 下载calico插件的yaml
wget https://docs.projectcalico.org/manifests/calico.yaml

修改定义pod网络CALICO_IPV4POOL_CIDR的值

要和kubeadm init pod-network-cidr的值一致

# 修改定义pod网络CALICO_IPV4POOL_CIDR的值和kubeadm init pod-network-cidr的值一致
## 取消注释
- name: CALICO_IPV4POOL_CIDR
  value: "10.244.0.0/16"

修改前
在这里插入图片描述
修改后
在这里插入图片描述


calico配置自动检测此主机的 IPv4 地址的方法

参考: 能预防一些cni错误
在这里插入图片描述
搜索env:CLUSTER_TYPE下配置

# 自动检测此主机的 IPv4 地址的方法
- name: IP_AUTODETECTION_METHOD
  value: "interface=ens192"   # ens192为本地网卡名字

calico安装常见错误

# 安装calico
kubectl apply -f calico.yaml

# 弹出警告信息
Warning: policy/v1beta1 PodDisruptionBudget is deprecated in v1.21+, unavailable in v1.25+; use policy/v1 PodDisruptionBudget
poddisruptionbudget.policy/calico-kube-controllers created
警告:policy/v1beta1 PodDisruptionBudget 在 v1.21+ 中被弃用,在 v1.25+ 中不可用; 使用 policy/v1 PodDisruptionBudget
poddisruptionbudget.policy/calico-kube-controllers 创建

# 查看下colico-pod的日志,确定错误信息
kubectl logs calico-node-xxx -n kube-system

# 解决办法: https://github.com/projectcalico/calico/issues/4570
把
apiVersion: policy/v1beta1
修改为
apiVersion: policy/v1

# 然后再次执行资源清单即可
kubectl apply -f calico.yaml

# 查看nodes状态,已经是Ready(就绪)状态
kubectl get nodes

猜你喜欢

转载自blog.csdn.net/omaidb/article/details/121283067