容器網路方面的挑戰和要求

2021-09-23 07:27:13 字數 1697 閱讀 2001

在最近於加拿大溫哥華召開的openstack峰會上,6000多名與會人士接受了使用容器情況方面的調查。被問及是否在生產環境中有容器時,台下一小部分聽眾舉手示意――據我估計大概有5%。但是被問及誰在接下來幾年考慮將容器遷移到生產環境時,幾乎人人都舉手。

這一幕生動地表明,雖然容器是一項現處於早期階段的技術,但眾多企業組織為它制定了巨集偉計畫。由於docker和kubernetes等多種選擇,使用者們在認真考慮自己的選擇道路。容器提供了幾個明顯的優勢:簡化和加快了應用程式的部署、可移植性以及占用少量的資源,但是也存在風險。

一大風險就是整合。開源社群正在考慮如何將容器整合到現有的雲和自動化框架當中,比如magnum和幾個openstack專案。另乙個問題就是容器網路。使用者們常常問我如何設計一套同時支援容器和虛擬機器的網路解決方案。虛擬機器和容器(以及部署的裸機系統)通常帶來了全然不同的網路模型。

不妨後退一步,考慮一下如今的容器網路是如何工作的。容器網路基於一種簡單的架構,主要是單主機解決方案。比如說,docker網路模型基於幾個簡單的假定:

•它充分利用與容器相連線的本地(每個主機裡面的)linux網橋。

•每個計算節點都有集群看得見的ip位址。

•每個容器都有集群看不見的專有的ip位址。

•網路位址轉換(nat)協議用來將容器的專有ip位址繫結至計算節點的公共ip位址。

•此外,負載均衡系統可用來將服務對映至一組ip位址和埠。

•iptable用於應用程式與租戶之間的網路分段和隔離。

如果運用到容器網路上,這種模型在許多方面顯得不盡如人意。它限制了用容器構建的多租戶雲解決方案跨多個主機進行擴充套件的功能。高可用性方面的配置很有限。無論工作負載的移動性如何,一致的連線性和安全性也成問題。另外,iptable和nat的結合使用限制了可擴充套件性和效能,這讓使用容器的主要優勢之一蕩然無存。

那麼,面向容器的網路解決方案應該提供什麼呢?另外,你又該如何評估解決方案與特定應用程式的契合度?我們不妨把這分成三個問題;這些答案應該可以幫助你更深入地了解容器網路方面的獨特之處。

1. 你會在基於容器的基礎設施上執行哪種型別的應用程式?

這直接影響到你網路基礎設施的藍圖以及如何構建網路基礎設施。你的應用程式需要豐富的網路拓撲結構以及高階服務嗎?它們是多租戶模式,還是簡單的「扁平網路」就足以勝任?

面向容器的虛擬網路解決方案讓終端使用者(租戶)和雲操作人員都可以定義並控制各自的網路要求。解決方案還必須提供跨多個物理主機的微分段(micro-segmentation)和隔離所需要的構件。

2. 效能和可擴充套件性方面的要求是什麼?

你在思考這個問題時,要考慮基礎設施上應用程式的要求。應當考慮這樣的解決方案:在一種完全分布式的架構中提供隔離和網路功能,從而為你應用程式的發展和擴充套件鋪平道路。隨著部署的雲越來越龐大,網路解決方案應該跨多個物理主機向外擴充套件,還應該在雲編排框架裡面緊密地整合起來。

3. 你需要將容器與虛擬機器和裸機工作負載互聯起來嗎?

大多數應用程式需要用容器支援混合工作負載,所以要尋求同時支援兩者的解決方案。一致的抽象模型(網路、子網、路由器、介面和浮動ip位址)和一套用於配置和自動化的一致的api,是完成這項工作的方法。

雲使用者呼籲面向任何工作負載的網路模型與功能強大的網路抽象結合起來,從而簡化容器到容器的聯絡,並且增添先進的網路功能和微分段。

我家的Cisco網路方面的書籍

這是我家的關於cisco網路方面的書籍,當然還在繼續不斷增加著。還有其他linux,c 的書籍等我以後有時間再整理出來。那些藍色突出顯示的書籍是我認為寫的比較出色或者大家有口皆碑的好書。還有,我沒有列出每本書的作者和出版社,但是您可以依據我寫出的書名去網上書店查詢。我以後會挑出一些好書作一些書評方面...

C 網路程式設計方面的開源專案

nginx download 高效能web伺服器 libevent libevent github c語言寫的事件驅動框架 ace c 物件導向網路程式設計工具包 boost.asio 用於網路和底層i o程式設計的跨平台的c 庫 casablanca c rest sdk cpp netlib 高...

Ubuntu下網路設定 遠端訪問等方面的命令

檢視網路是否好使 ifconfig 自動獲取ip sudo dhclient eth0 每次開機都自動獲取ip sudo gedit etc network inte ces 在該檔案中用下面的行來替換有關eth0的行 the primary network inte ce use dhcp to ...