gpt4 book ai didi

kubernetes - 印花布 IP 困惑

转载 作者:行者123 更新时间:2023-12-02 11:46:37 24 4
gpt4 key购买 nike

我对 Calico IP 有点困惑:

如果我使用将 calico 添加到 kubernetes 集群

kubectl apply -f https://docs.projectcalico.org/v3.14/manifests/calico.yaml

CALICO_IPV4POOL_CIDR 是 192.168.0.0/16
所以 IP 范围是 192.168.0.0 到 192.168.255.255

现在我已经使用以下方式启动了集群:
kubeadm init --pod-network-cidr=20.96.0.0/12 --apiserver-advertise-address=192.168.56.30

因此,现在 pod 的 IP 地址(使用 pod 网络 CIDR)将介于:20.96.0.0 到 20.111.255.255 之间

这两个不同的IP是什么。我的 Pod 正在获取 IP 地址 20.96.205.192 等等。

最佳答案

  • CALICO_IPV4POOL_CIDR#commented默认情况下,查看 calico.yaml 中的这些行:
  • # The default IPv4 pool to create on startup if none exists. Pod IPs will be
    # chosen from this range. Changing this value after installation will have
    # no effect. This should fall within `--cluster-cidr`.
    # - name: CALICO_IPV4POOL_CIDR
    # value: "192.168.0.0/16"
    所有效果 ,除非在部署前手动修改, 部署期间不考虑这些行 .
  • yaml 本身的另一个重要行是:

  • # Pod CIDR auto-detection on kubeadm needs access to config maps.


    这证实了 CIDR 是从集群获得的,而不是从 calico.yaml 获得的。 .

    What are these two different IPs? My Pods are getting IP addresses 20.96.205.192 and so on.


  • Kubeadm 支持许多 Pod network add-ons ,印花布就是其中之一。另一方面,Calico 受到多种部署的支持,kubeadm 只是其中之一。
  • Kubeadm --pod-network-cidr在您的部署中是定义 pod 网络 CIDR 的正确方法,这就是为什么范围 20.96.0.0/12被有效使用。
  • CALICO_IPV4POOL_CIDR对于不为 pod 网络指定 CIDR 池预留的其他类型的部署,这是必需的。

  • 注:
  • 范围20.96.0.0/12不是 Private Network范围,如果具有该范围内公共(public) IP 的客户端尝试访问您的服务,则可能会导致问题。
  • classless为专用网络保留的 IP 范围是:
  • 10.0.0.0/8(16.777.216 个地址)
  • 172.16.0.0/12(1.048.576 个地址)
  • 192.168.0.0/16(65.536 个地址)

  • 您可以为您的 POD CIDR 网络使用这些范围内的任何子网大小,只需确保它不与您网络中的任何子网重叠。

  • 其他引用:
  • Calico - Create Single Host Kubernetes Cluster with Kubeadm
  • Kubeadm Calico Installation
  • IETF RFC1918 - Private Address Space
  • 关于kubernetes - 印花布 IP 困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62139375/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com