Skip to content

antony@notes:~/kubernetes$ cat "解析-Kubernetes-Pod-內部結構.md"

解析 Kubernetes Pod 內部結構

2021-10-26· kubernetes ·Kubernetes

解析 Kubernetes Pod 內部結構

  • 這張圖裡面的3台container(黃色框框),他們共用同一個網路卡,用namespace做出來的, 3台共用一個namespace是沒問題的。
  • container1啟動的是nginx的服務,他打開的port號是80,container2是啟動Mariadb,他開的port號是3306,一樣是同一片網路卡,(現在的公司應用系統,大多都是一個web server+一個Database,也就是一個網站+一個資料庫,用語言的部份讓這兩個系統連接在一起,做出企業的應用系統(例如:會計系統、人資系統…等),現在神奇的是兩個container共用一個網路卡,各自在這個網路卡開自己的port。
  • container1與container2,事實上所使用的namespace、網卡,還有後面得運算資源,其實通通都是pause這台container的,以後只要產生pod,裡面一定會先產生這台pause的container,而且他是隱藏的,這是鐵律
  • 這台pause的container裡面執行的命令:sleep infinite(睡夢羅漢),這個命令安全等級最高,因為沒開網路,沒處理檔案,沒有跟其他process互動,沒有任何通道可以碰到這個命令,所以k8s的設計者,就把重要的資源,例如:網路卡,或是跑程式、應用系統很重要的資源,全部掛在這台container身上。
  • pod裡面所有的container會共用一些運算資源,包括網卡,所有這個pod這要的運算資源都會放在pause身上。為何要放在上面?因為睡夢羅漢,他沒開網路、沒處理檔案,也沒跟其他人講話,代表他很穩定,所以把重要資源掛在上面,就會呈現非常穩定的狀態。

tags: Kubernetes