Kubernetes網絡設計原則

在配置集群網絡插件或者實踐K8S 應用/服務部署請時刻想到這些原則:

  • 1.每個Pod都擁有一個獨立IP地址,Pod內所有容器共享一個網絡命名空間
  • 2.集群內所有Pod都在一個直接連通的扁平網絡中,可通過IP直接訪問
    • 所有容器之間無需NAT就可以直接互相訪問
    • 所有Node和所有容器之間無需NAT就可以直接互相訪問
    • 容器自己看到的IP跟其他容器看到的一樣
  • 3.Service cluster IP盡可在集群內部訪問,外部請求需要通過NodePort、LoadBalance或者Ingress來訪問

Container Network Interface (CNI)是目前CNCF主推的網絡模型,它由兩部分組成:

  • CNI Plugin負責給容器配置網絡,它包括兩個基本的接口
    • 配置網絡: AddNetwork(net *NetworkConfig, rt *RuntimeConf) (types.Result, error)
    • 清理網絡: DelNetwork(net *NetworkConfig, rt *RuntimeConf) error
  • IPAM Plugin負責給容器分配IP地址

Kubernetes Pod的網絡是這樣創建的:

  • 0.每個Pod除了創建時指定的容器外,都有一個kubelet啟動時指定的基礎容器,比如:mirrorgooglecontainers/pause-amd64?registry.access.redhat.com/rhel7/pod-infrastructure
  • 1.首先 kubelet創建基礎容器生成network namespace
  • 2.然后 kubelet調用網絡CNI driver,由它根據配置調用具體的CNI 插件
  • 3.然后 CNI 插件給基礎容器配置網絡
  • 4.最后 Pod 中其他的容器共享使用基礎容器的網絡

本項目基于CNI driver 調用各種網絡插件來配置kubernetes的網絡,常用CNI插件有?flannel?calico?weave等等,這些插件各有優勢,也在互相借鑒學習優點,比如:在所有node節點都在一個二層網絡時候,flannel提供hostgw實現,避免vxlan實現的udp封裝開銷,估計是目前最高效的;calico也針對L3 Fabric,推出了IPinIP的選項,利用了GRE隧道封裝;因此這些插件都能適合很多實際應用場景。

轉載于:https://www.cnblogs.com/yuxiaoba/p/9505894.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/277440.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/277440.shtml
英文地址,請注明出處:http://en.pswp.cn/news/277440.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

php token 驗證,PHP如何實現Token驗證

PHP如何實現Token驗證首先將Token進行解析&#xff1b;然后根據解析出來的信息部分驗證是否過期&#xff0c;如果未過期再將解析出的信息部分進行加密&#xff1b;最后將加密出來的數據和解析出來簽名進行比對&#xff0c;如果相同則驗證成功。示例代碼&#xff1a;<?php f…

關于Linux fontconfig 字體庫的坑

01、安裝字體軟件yum -y install fontconfig然后把字體拷過去就行了 cd /usr/share/fonts fc-list 這是查看02、拷貝字體到指定目錄 cp simsun.ttc /usr/share/fonts/然后把字體拷過去就行了 cd /usr/share/fonts 03、驗證字體安裝情況 fc-list //"宋體"中文字體…

滿江紅.互聯網

小小寰球&#xff0c;有多少信息瞬抵。互聯網&#xff0c;幾多濤生&#xff0c;幾多云逸。螞蟻緣槐近大國&#xff0c;菜鳥搭枝成鳳翼。正臺風綠葉下臨安&#xff0c;何足懼?多少事&#xff0c;從來急&#xff1b;天地轉&#xff0c;光陰隙。一百年太久&#xff0c;只爭朝夕。…

Python startswith()函數 與 endswith函數

函數&#xff1a;startswith() 作用&#xff1a;判斷字符串是否以指定字符或子字符串開頭一、函數說明語法&#xff1a;string.startswith(str, beg0,endlen(string)) 或string[beg:end].startswith(str)參數說明&#xff1a;string&#xff1a; 被檢測的字符串str&#xff1a;…

GitLab 在多分支中的一個push

情景&#xff1a;a.本地庫新建的分支&#xff0c;而Git服務器沒有這個分支服務器分支master本地新建分支&#xff1a;rdar-MS&#xff0c;并git checkout rdar-MS上masterrdar-testrdar-MS更改rdar-MS分支上的文件&#xff0c;git add .git commit -m " "后&#xf…

php post 獲取xml,php 獲取post的xml數據并解析示例

這篇文章主要為大家詳細介紹了php 獲取post的xml數據并解析示例&#xff0c;具有一定的參考價值&#xff0c;可以用來參考一下。對php獲取post過來的xml數據并解析感興趣的小伙伴&#xff0c;下面一起跟隨512筆記的小編兩巴掌來看看吧&#xff01;如何獲取請求的xml數據,對方通…

值得一用的Windows軟件

該清單僅本人使用后所作推薦&#xff0c;可能會比較主觀&#xff0c;所以僅供參考哈。可能某些軟件鏈接會失效&#xff0c;可以自行百度搜索下載即可。 殺軟 火絨安全&#xff1a;國內殺毒軟件的一股清流&#xff0c;界面簡潔&#xff0c;無推廣。現在已經開啟了 5.0 公測&…

《JavaScript模式》讀書筆記一:基本技巧

《JavaScript模式》的讀書筆記&#xff0c;個人向&#xff01;更新進度隨我的閱讀進度 基本技巧 盡量少用全局變量 防止變量污染注意JS變量提升問題盡量使用單一var模式&#xff0c;只使用一個var在函數頂部進行變量聲明function fun () {var a 1,b2,sum ab,函數體//} for循環…

Python字符串處理全攻略(四):常用內置方法輕松掌握

文章目錄 引言Python字符串常用內置方法切片功能介紹語法示例注意事項 str.isalpha()功能介紹語法示例注意事項 str.isdigit()功能介紹語法示例注意事項總結 str.isalnum()功能介紹語法示例注意事項總結 str.isupper()功能介紹語法示例注意事項 islower()功能介紹語法示例注意事…

php空間限制磁盤限額,ORA-01536:超出表空間XXXX的空間限額

問題描述&#xff1a;在FMIS2600用戶下進行某個DDL或DML操作時&#xff0c;提示&#xff1a;ORA-01536&#xff1a;超出表空間FMIS2600 的空間限額 或者 ORA-01950: 對表空間/*******************ORA-01536&#xff1a;超出表空間XXXX的空間限額*******************//*********…

01爬蟲基本原理及Requests庫下載

一、爬蟲基本原理 1.什么是爬蟲 ? 爬蟲就是爬取數據 2.什么是互聯網&#xff1f; ? 就是由一堆網絡設備&#xff0c;把一臺臺的電腦互聯在一起 3.互聯網建立的目的 ? 數據的傳遞和數據共享 4.什么是數據&#xff1f; ? 例如&#xff1a; ? 電商平臺的商業信息&#xff08;…

php 怎么實現收藏功能,php收藏功能如何實現

php收藏功能如何實現php收藏功能的實現方法&#xff1a;首先創建好數據庫表 &#xff1b;然后創建前臺代碼&#xff0c;實現登錄界面&#xff1b;接著通過html實現收藏樣式&#xff1b;最后使用php進行后臺處理即可。推薦&#xff1a;《PHP視頻教程》這是數據庫表話不多說上代碼…

quartus FIR仿真筆記

第一章&#xff1a; 最近百度了一些fir濾波器的資料&#xff0c;都沒有自己想要的。容我吐槽一大段文字> 在舊版的quartus中&#xff0c;比如13.0&#xff0c;有兩個fir濾波器的選項&#xff0c;如下所示&#xff1a; 網上很多都是講不帶II的那個&#xff0c;而在新版的quar…

關于時鐘

/** * 時間獲取 * * param mGITime 控件 * param context 承接上下文 */public void endTime(GeneralInput mGITime, Context context) { TimePickerDialog tp new TimePickerDialog(context, (view12, hourOfDay, minute) -> { StringBuilder sb new StringBui…

LVS + Keepalived 雙機熱備+DR模式

簡介 Keepalived 起初是專門針對 LVS 設計的一款強大的輔助工具&#xff0c;主要用來提供故障切換和健康檢查&#xff08; Health Checking &#xff09;功能——判斷 LVS 負載調度器、節點服務器的可用性&#xff0c;及時隔離并替換為新的服務器&#xff0c;當故障主機恢復后就…

php程序layer,php 提交表單 關閉layer彈窗iframe的實例講解

介紹一款非常好用的前端彈窗插件&#xff1a;根據官方的API&#xff1a;layer的iframe彈窗//iframe層-父子操作layer.open({type: 2,area: [700px, 530px],fix: false, //不固定maxmin: true,content: test/iframe.html});這里以php開發為例 演示如何 提交表單后自動關閉layer彈…

Django之 RESTful規范

RESTful 規范 一、什么是RESTful REST與技術無關&#xff0c;代表的是一種軟件架構風格&#xff0c;REST是Representational State Transfer的簡稱&#xff0c;中文翻譯為“表征狀態轉移”REST從資源的角度類審視整個網絡&#xff0c;它將分布在網絡中某個節點的資源通過URL進行…

php編譯 ftp,無需重新編譯php加入ftp擴展的解決方法

首先&#xff0c;進入源碼目錄cd php-5.2.13/ext/ftp#運行phpize生成configure/usr/local/php/bin/phpize#編譯,指定php-config,注意這里的php-config,不是php.ini./configure --with-php-config/usr/local/php/bin/php-config#上面可以添加--enable-ftp,也可以不用添加#編譯安…

git常用命令及分支簡介

2019獨角獸企業重金招聘Python工程師標準>>> 1、git基本命令 1&#xff09;git add 將想要快照的內容寫入緩存區 2&#xff09;git status -s "AM" 狀態的意思是&#xff0c;這個文件在我們將它添加到緩存之后又有改動 3&#xff09;git commit -m 第一次…

企業私有云部署im,視頻服務

1&#xff0c;安全問題 2&#xff0c;員工跨地域 3&#xff0c;內部視頻培訓 考勤申請&#xff0c;設備借用申請 名片申請 會議室預訂 審批 內網&#xff0c;局域網部署 Android源碼 https://github.com/starrtc/android-demo ios源碼https://github.com/starrtc/ios-demo