k8s基础概念:pause容器和pod控制器类型
生活随笔
收集整理的這篇文章主要介紹了
k8s基础概念:pause容器和pod控制器类型
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
pause容器的作用
- pause容器:只要是有容器啟動,pause就會啟動。
- pod內的其他容器會共用pause容器的網絡棧和存儲卷。
- 容器是沒有自己的IP地址的,都共用pause容器的。
- 要保證pod內的其他容器的端口不能沖突,彼此都是通過localhost就可以訪問。如果端口沖突就會啟動不了或是無限重啟。
pod控制器類型
RC RS Deployment
- 官方建議用ReplicaSet替代ReplicationController。RS支持集合式的selector,可以根據label和version來對pod進行操作。
- 建議使用Deployment來自動管理RS。Deployment支持滾動更新(灰度發布),比如要發布一個新的版本,可以先創建出新版本的pod,然后將舊版本的pod依次刪除,從而實現滾動更新,RS不支持這種滾動更新操作。
- Deployment不支持pod的創建,是通過RS來實現pod的創建的。比如:實現版本的滾動更新過程,會通過創建一個新的RS來創建出新版本的pod,同時將舊的RS管理的舊版本的pod依次刪除。
- 同時Deployment可以支持回滾。原因就是舊的RS并不會被刪除,而是被停用,回滾時會將舊版本的RS重新啟用,從而達到回滾的目的。
HPA
- 動態擴容
- 根據CPU利用率來擴容,≤max定義的最大數量。
- 一旦CPU利用率不足,就會刪除pod,但最終剩余的pod數量不會低于min定義的數量。
StatefulSet
- mysql,mongodb都要實現數據的實時更新和存儲,將其抽出集群再放回來就沒法正常工作了,這些就是典型的有狀態服務。
- StatefulSet能夠實現pod重新調度后還是能基于PVC訪問到相同的持久化數據,并且數據還不會丟失。
- 有序部署:比如先啟動Nginx,再啟動tomcat,最后啟動MySQL就會報錯,StatefulSet可以實現有序啟動,mysql–>tomcat–>nginx
截止到目前,MySQL在k8s環境下還是不能跟傳統環境下相比擬,還是有缺憾的,但是StatefulSet是一種很好的思想。
DaemonSet
Job, CronJob
總結
以上是生活随笔為你收集整理的k8s基础概念:pause容器和pod控制器类型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: k8s插件说明:CoreDNS、Ingr
- 下一篇: k8s:服务发现Service