本篇文章作為一個經驗談,探討於 AWS EKS 的環境中要如何避免 IP 發放完畢。
對於 Kubernetes 來說,CNI 負責的功能主要有兩個,分別是 IPAM 以及 Network Connectivity.
公有雲管理的 Kubernetes 為了讓整體操作環境可以與其雲端內的其他元件有更好的整合,通常都會開發屬於自己的 CNI 系統,譬如 Azure, AWS, Google 都有這方面的設計。
這種設計的最大好處就是可以將 Pod 使用的 IP地址透過本來 VPC 內的設計去管理,而本文要討論的就是 AWS EKS 環境中可能會遇到的 IP 地址分配問題。
EKS 預設會使用 AWS VPC CNI 來提供相關服務,其底層實作主要牽扯到底層 ENI 的配置與設定,主要會影響到底還有多少個 IP 地址可以用來分配給新的 Pod 使用。
從 Cluster 的角度來看,要先注意的 VPC 內的網段設定,如果一開始分割的子網段是/28,這情況下你整個叢集內只能有30個左右的 IP 地址可以發放,這數量根本完全不太夠使用。
從單一節點的角度來看,要注意每個節點上可以配置多少個 ENI 以及每個 ENI 能夠配置多少網卡
該 CNI 分配 IP 時會先想辦法把現有網卡上面能夠分配的 IP 填滿,一旦填滿就會創立新的網卡,接者繼續分配 IP,當運行的 Pod 數量超過節點上現時就沒有辦法繼續分配 IP。
官方針對這種情況提供了一個公式去計算
(Number of network interfaces for the instance type × (the number of IP addressess per network interface - 1)) + 2
對於一個 m5.large 的機器來說,支援三張 ENI,且每個都有 10 個 IP 可以分配,因此根據上述公式
(3*(10-1))+2 = 29, 意味 m5.large 的機器上最多只能運行29個不使用 hostnetwork:true 的 Pod。
為了解決這些問題,作者提出了兩個想法,分別是
1. Adding additional IPv4 CIDR blocks to VPC
2. Change VPC CNI to Calico CNI
對這兩個想法有興趣的可以參考原文囉
https://matiaszilli.medium.com/avoiding-ip-consumption-in-amazon-eks-32fc7320253d
同時也有10000部Youtube影片,追蹤數超過2,910的網紅コバにゃんチャンネル,也在其Youtube影片中提到,...
「calico kubernetes」的推薦目錄:
- 關於calico kubernetes 在 矽谷牛的耕田筆記 Facebook 的最佳解答
- 關於calico kubernetes 在 矽谷牛的耕田筆記 Facebook 的最讚貼文
- 關於calico kubernetes 在 矽谷牛的耕田筆記 Facebook 的最讚貼文
- 關於calico kubernetes 在 コバにゃんチャンネル Youtube 的精選貼文
- 關於calico kubernetes 在 大象中醫 Youtube 的最佳解答
- 關於calico kubernetes 在 大象中醫 Youtube 的最讚貼文
- 關於calico kubernetes 在 Calico - Cloud native networking and network security - GitHub 的評價
- 關於calico kubernetes 在 Control traffic with Calico network policies - IBM Cloud Favorites 的評價
- 關於calico kubernetes 在 Project Calico: Priority between "global policy" and "network ... 的評價
- 關於calico kubernetes 在 Building Calico with Kubernetes - linux-on-ibm-z/docs Wiki 的評價
calico kubernetes 在 矽谷牛的耕田筆記 Facebook 的最讚貼文
今年終於有時間來寫一個原創的長篇文章了,希望大家繼續支持
不知道大家有沒有想要透過 tcpdump 去錄製 Kubernetes 內Pod的封包但是常常卡關的情況?
今天這邊文章跟大家分享兩種不同的思路
1. 從封包內去錄製封包
2. 從節點上去錄製封包
針對第一點會探討三種方式,包括 kubectl sniff 以及 docker run 直接硬掛 network namespace。
第二種方式則會探討如果是 Flannel 以及 Calico 不同的網路架構下,要如何找到對應的虛擬網卡 (veth)。
如果你有任何不同的方式可以幫忙錄製封包也歡迎討論分享
https://www.hwchiu.com/k8s-tcpdump.html
calico kubernetes 在 矽谷牛的耕田筆記 Facebook 的最讚貼文
#小編
On-premeises Kubernetes CNI - Calico 安裝參考指南
你遇到 flannel CNI plugin 使用上的限制了嗎?你知道flannel 所用的ipam CNI plugins (host-local) 是有潛在的風險嗎 ?
想知道的朋友請持續追蹤粉絲頁,下集將會揭露 flannel 所綁定(不能替換)的IPAM CNI 有使用上的風險。
今天主要是提供一個參考指南給各位安裝 Calico CNI 其實安裝並不麻煩,已經將文件整理好給搭配安裝的決策可以考慮使用哪一種 Calico CNI
[1] https://docs.projectcalico.org/getting-started/kubernetes/quickstart
[2] https://docs.projectcalico.org/getting-started/kubernetes/self-managed-onprem/onpremises#install-calico-with-etcd-datastore
[3] https://docs.projectcalico.org/getting-started/kubernetes/self-managed-onprem/onpremises#install-calico-with-kubernetes-api-datastore-50-nodes-or-less
[4] https://docs.projectcalico.org/getting-started/kubernetes/self-managed-onprem/onpremises#install-calico-with-kubernetes-api-datastore-more-than-50-nodes
* Hybrid deployments 是在可能為混合環境所安裝的 Calico CNI Plugins ,舉例來說基礎設施可能存在 Openstack/Kubernetes,相對來說,none-hybrid 可以視作純Kubernetes環境
calico kubernetes 在 コバにゃんチャンネル Youtube 的精選貼文
calico kubernetes 在 大象中醫 Youtube 的最佳解答
calico kubernetes 在 大象中醫 Youtube 的最讚貼文
calico kubernetes 在 Control traffic with Calico network policies - IBM Cloud Favorites 的推薦與評價
Every Kubernetes cluster is set up with a network plug-in called Calico. Default network policies are set up to secure the public network interface of every ... ... <看更多>
calico kubernetes 在 Project Calico: Priority between "global policy" and "network ... 的推薦與評價
... <看更多>
calico kubernetes 在 Calico - Cloud native networking and network security - GitHub 的推薦與評價
Calico is a widely adopted, battle-tested open source networking and network security solution for Kubernetes, virtual machines, and bare-metal workloads. ... <看更多>