簡體   English   中英

了解 Kubernetes 中的實際子網和虛擬子網

[英]Understanding actual and virtual subnets in Kubernetes

我在 AWS 上設置了一個自我管理的 Kubernetes 集群,在一個 VPC 中使用三個實例,CIDR 為10.0.0.0/16 ,一個 AWS 子網10.0.10.0/24用於所有實例/節點。

在使用Kubeadm初始化集群並指定--pod-network-cidr時,這個 CIDR 可以是任何東西嗎? 或者它是否需要與主機實例(控制平面和工作人員)所在的 AWS 子網保持一致?

Cilium 網絡、服務網絡也是如此……它們都可以是任何東西,還是必須與實際的主機子網對齊?

我還沒有找到任何關於自我管理集群的可能(和不可能)子網配置的好的文檔。

  • 根據 Kubernetes 文檔https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/#pod-network ,最好主機 cidr、pod cidr 和服務 c 不重疊. 所有 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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM