【问题标题】:Understanding actual and virtual subnets in Kubernetes了解 Kubernetes 中的实际子网和虚拟子网
【发布时间】:2021-03-20 16:00:19
【问题描述】:

我正在 AWS 上设置一个自我管理的 Kubernetes 集群,在一个 VPC 中使用三个实例,CIDR 10.0.0.0/16,一个 AWS 子网 10.0.10.0/24 用于所有实例/节点。

在使用Kubeadm 初始化集群并指定--pod-network-cidr 时,这个CIDR 可以是任何东西吗?还是需要与主机实例(控制平面和工作线程)所在的 AWS 子网保持一致?

Cilium 网络、服务网络也是如此……它们都可以是任何东西,还是必须与实际的主机子网对齐?

我没有找到任何关于自我管理集群的可能(和不可能)子网配置的好文档。

【问题讨论】:

    标签: amazon-web-services kubernetes networking subnet cidr


    【解决方案1】:
    • 根据 Kubernetes 文档https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/#pod-network,最好主机 cidr、pod cidr 和服务 cidr 不重叠。 所有 EC2 实例都从主机 CIDR 获取 IP。 Kubernetes 中的所有 Pod 都将从 Pod CIDR 中获取 IP。这些 Pod IP 是由 Cilium 而不是 Kubernetes 分配的,因为 Cilium 在您的案例中负责为 Kubernetes 提供网络。 所有 Kubernetes 服务都从服务 CIDR 获取集群 IP。这些 clusterIP 由 Kubernetes 分配。

    • 根据下面的 kubeadm init 文档,service-cidr 的默认值为 10.96.0.0/12,它与您的 VPC cidr 10.0.0.0/16 不重叠

    kubeadm init --help | grep cidr
          --pod-network-cidr string              Specify range of IP addresses for the pod network. If set, the control plane will automatically allocate CIDRs for every node.
          --service-cidr string                  Use alternative range of IP address for service VIPs. (default "10.96.0.0/12")
    
    sudo kubeadm init --pod-network-cidr=10.217.0.0/16
    

    【讨论】:

      猜你喜欢
      • 2019-03-06
      • 2021-06-10
      • 2020-04-08
      • 2021-02-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多