k8s網路基礎

2021-09-27 13:40:57 字數 569 閱讀 5012

為了保證網路方案的標準化、擴充套件性和靈活性,k8s 採用了 container networking inte***ce(cni)規範。cni 是由 coreos 提出的容器網路規範,它使用了外掛程式(plugin)模型建立容器的網路棧。它要求任何實現機制都必須滿足以下需求:

因為k8s只約定了網路實現規範, 而跨節點的容器網路不通(分配的是內部位址,從全域性上看ip位址會重複),所以出現了各種各樣的網路解決方案。每一種方案都要解決ip分配、如何路由兩個問題。

flannel幾乎是最早的跨網路通訊解決方案,其他的方案都可以被看做是fannel的某種改進版。對於ip分配和路由,flannel的方案如下:

host-gateway 模式:通過在各個節點上的agent程序,將容器網路的路由資訊刷到主機的路由表上。有引入像overlay中的額外裝包解包操作,完全是普通的網路路由機制,它的效率與虛擬機器直接的通訊相差無幾。然而flannel只能夠修改各個主機的路由表,一旦主機直接隔了個其他路由裝置,比如三層路由器,這個包就會在路由裝置上被丟掉,因此host-gateway的模式就只能用於二層直接可達的網路,由於廣播風暴的問題,這種網路通常是比較小規模的

k8s 多租戶 k8s 基礎介紹

備註 1 每乙個pod裡執行著乙個特殊的容器 pause容器,其他容器都是業務容器,這些業務容器共享pause容器的網路棧和volume 邏輯卷 掛載卷。因此他們之間的通訊和資料交換更為高效。2 k8s設計了pod物件,將每個服務程序包裝到相應的pod中,使其成為pod中執行的乙個容器 contai...

k8s 網路模式

1 clusterip kind service apiversion v1 metadata name my service spec selector ports protocol tcp port 80 targetport 80 root k8s master rc test kubectl...

K8S基礎概念

node作為集群中的工作節點,執行真正的應用程式,在node上kubernetes管理的最小執行單元是pod。node上執行著kubernetes的kubelet kube proxy服務程序,這些服務程序負責pod的建立 啟動 監控 重啟 銷毀 以及實現軟體模式的負載均衡。node包含的資訊 no...