首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >库伯涅茨1.21.3 "clusterCIDR“在"KubeProxyConfiguration”中的建议值

库伯涅茨1.21.3 "clusterCIDR“在"KubeProxyConfiguration”中的建议值
EN

Server Fault用户
提问于 2021-08-09 18:18:48
回答 1查看 1.2K关注 0票数 2

我正在尝试使用Calico将新节点加入到现有的v1.21.3集群中。提供clusterCIDR警告的联接命令。

如何修复此子网警告消息?

代码语言:javascript
复制
# kubeadm join master-vip:8443 --token xxx --discovery-token-ca-cert-hash sha256:xxxx
[preflight] Running pre-flight checks
[preflight] Reading configuration from the cluster...
[preflight] FYI: You can look at this config file with 'kubectl -n kube-system get cm kubeadm-config -o yaml'
W0809 14:10:27.717696   75868 utils.go:69] The recommended value for "clusterCIDR" in "KubeProxyConfiguration" is: 10.201.0.0/16; the provided value is: 10.203.0.0/16
[kubelet-start] Writing kubelet configuration to file "/var/lib/kubelet/config.yaml"
[kubelet-start] Writing kubelet environment file with flags to file "/var/lib/kubelet/kubeadm-flags.env"

最新情况:

在集群安装过程中,我使用了10.201.0.0/16,后来我更改为10.203.0.0/16。不知道它在哪里仍然获得10.201.0.0/16子网价值。

这是子网价值。

代码语言:javascript
复制
# sudo cat /etc/kubernetes/manifests/kube-controller-manager.yaml | grep cluster-cidr
    - --cluster-cidr=10.203.0.0/16

kubectl cluster-info dump | grep cluster-cidr
                            "--cluster-cidr=10.203.0.0/16",
                            "--cluster-cidr=10.203.0.0/16",
                            "--cluster-cidr=10.203.0.0/16",

step从10.201.0.0/16更新为10.203.0.0/16

  1. 使用此命令更新kubeadm-confg configmap kubectl -n kube-system edit cm kubeadm-config

podSubnet: 10.203.0.0/16

  1. 更新库伯-控制器-马槽并重新启动它。

sed -i 's/10.201.0.0/10.203.0.0/' /etc/kubernetes/manifests/kube-controller-manager.yaml

<#>after更新IP.

所有配置都将子网显示为10.203.0.0,但在‘10.201.0.0’子网中创建子网。

代码语言:javascript
复制
# kubectl get cm kube-proxy -n kube-system -o yaml |grep -i clusterCIDR
    clusterCIDR: 10.203.0.0/16
# kubectl get no -o yaml |grep -i podcidr
    podCIDR: 10.203.0.0/24
    podCIDRs:
    podCIDR: 10.203.1.0/24
    podCIDRs:
    podCIDR: 10.203.2.0/24
    podCIDRs:
    podCIDR: 10.203.3.0/24
    podCIDRs:
    podCIDR: 10.203.5.0/24
    podCIDRs:
    podCIDR: 10.203.4.0/24
    podCIDRs:
    podCIDR: 10.203.6.0/24
    podCIDRs:
EN

回答 1

Server Fault用户

回答已采纳

发布于 2021-08-11 16:03:57

我成功复制了你的问题。我也有同样的错误。需要更新其他几个配置文件。

要完全更改豆荚和节点IP池,您需要更新几个配置文件中的podCIDRClusterCIDR值:

  • 更新ConfigMap kubeadm-confg -您已经做到了
  • 更新文件/etc/kubernetes/manifests/kube-controller-manager.yaml -您已经做过了
  • 使用适当的podCIDR值更新节点(S)定义,并将它们重新添加到集群中。
  • 在ConfigMap命名空间中更新kube-system kube-proxy
  • 在Calico CNI中添加新的IP池并删除旧的IP池,重新创建部署

Update节点(S)定义:

  1. 获取节点(S)名称(S):kubectl get no --在我的例子中是controller
  2. 保存定义(S)到文件:kubectl get no controller -o yaml > file.yaml
  3. 使用新的IP范围编辑file.yaml ->更新podCIDRpodCIDRs值,在您的示例中是10.203.0.0
  4. 删除旧节点并应用新节点定义:kubectl delete no controller && kubectl apply -f file.yaml

请注意,您需要对集群中的每个节点执行这些步骤。

Update ConfigMap kube-proxy <#>kube-system命名空间

  1. 获取kube-proxykubectl get cm kube-proxy -n kube-system -o yaml > kube-proxy.yaml的当前配置
  2. 使用新的IP范围编辑kube-proxy.yaml ->更新ClusterCIDR值,在您的情况下是10.203.0.0
  3. 删除旧的并应用新的kube-proxy ConfigMap:kubectl delete cm kube-proxy -n kube-system && kubectl apply -f kube-proxy.yaml

Add中的新IP池并删除旧的IP池:

  1. 下载Calico二进制文件并使其可执行: sudo curl -o /usr/local/bin/calicoctl -O -L "https://github.com/projectcalico/calicoctl/releases/download/v3.20.0/calicoctl“sudo chmod +x /usr/local/bin/calicoctl
  2. 添加新的IP池: calicoctl创建-f -<calicoctl get ippool -o wide
  3. 获取禁用旧IP池-> calicoctl get ippool -o yaml > pool.yaml的配置
  4. 编辑配置:-> add disabled:true for default-ipv4-ippool in pool.yaml:apiVersion: projectcalico.org/v3条目:- apiVersion: projectcalico.org/v3种类: IPPool元数据: creationTimestamp:"2021-08-12T07:50:24Z“名称:default-ipv4 4-ippool resourceVersion:"666”规范: blockSize: 26 cidr: 10.201.0.0/16 ipipMode: all natOutgoing: true nodeSelector: all() vxlanMode:从不禁用: true
  5. 应用新配置:calictoctl apply -f pool.yaml例外输出的calicoctl get ippool -o wide命令:名称CIDR NAT IPIPMODE禁用选择器默认-ipv4 4-ippool 10.201.0.0/16 true永远不为真
  6. 重新创建10.201.0.0网络中的豆荚(在每个名称空间中,包括kube-system命名空间):只需删除它们,它们就应该在新的IP池范围内立即重新创建,例如: kubectl删除荚calico-kube-控制器-58497c65d5-rgdwl -n kubectl -system kubectl删除豆荚代码-78fcd69978-xcz88 -n kube-system kubectl删除pod部署-66b6c485-5n6nnw等。还可以删除和应用部署。

应用这些步骤后,在添加新节点时没有关于clusterCIDR值的警告。在适当的IP池范围内创建新的荚。

来源:

票数 2
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1074006

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档