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