kubernetes的基礎知識之pod

2025年01月04日20:12:03 科技 1470

pod是容器組,是kubernetes 集群中的最小調度單位。

docker裡面部署的是容器,在kubernetes 裡面部署的是pod,pod的本質是容器組。

CNI:容器網路介面。

網路插件類型:calico和flannel。

探針類型:

就緒探針 readinessProbe

啟動探針 startupProbeV1.16版本之後添加的內容

存活探針 livenessProbe

service的類型:

ClusterIP給集群內部的用戶使用,nodePort給集群外部的用戶使用,LoadBalancer是特定的雲廠商提供服務,ExternalName是一種DNS的別名機制。

service是一個四層的負載均衡。

負載均衡集群包括:負載調度器、真實伺服器、共享存儲。

Service相當於負載調度器,pod相當於真實伺服器,kubernetes支持的不同存儲類型相當於共享存儲。

calico的工作模式有:vxlan、IPIP、BGP。

pod的控制器類型:

①:deployment適合無狀態的服務部署

②:statefulset 適合有狀態的服務部署

③:Daemonset 一次部署,所有的node節點都會部署

④:Job 一次執行的任務

⑤:Cronjob 周期性執行的任務

⑥:RC ReplicationController

⑦:RS ReplicaSets

⑧:Horizontal Pod Autoscaler

kubernetes的secret是基於base64的編碼。

kubernetes使用3A服務來保證API Server的安全,包括:認證Authentication、鑒權Authorization、准入控制Admission Control。

鑒權一般是rbac。

測試環境:一主兩從

高可用方案:三主兩從

私有鏡像倉庫harbor。

傳統部署方式:硬體--操作系統--操作系統裡面部署應用程序APP,應用程序比如apache、MySQL或者nginx

安全性與伺服器的資源利用率是相反的關係。要求的安全性高,那麼資源的利用率就低。

基於虛擬化的部署方式:底層是硬體,硬體上面安裝操作系統,操作系統裡面出現一個虛擬化層hypervisor。有了這個虛擬化層之後,就可以在一台物理機裡面運行多個虛擬機VM。每個虛擬機裡面可以運行相對隔離的應用程序。這樣應用程序之間是隔離開的,具有較高的安全性。虛擬化層不提供資源,隨著虛擬機數量的增加,操作系統的數量也會增加,浪費的資源會增多。

以容器為首的部署方案:硬體跑操作系統,在操作系統裡面有容器的運行時container runtime,應用放在不同的容器空間中彼此隔離。多個容器每個容器運行不同的應用程序,沒有虛擬機本身的操作系統這種資源消耗。在容器化的部署方案裡面,既保證了應用間彼此的隔離,也不會出現像傳統虛擬化方案中的操作系統資源的浪費。

容器化方案相對於傳統的虛擬化的方式來說,容器的安全性是下降的。對於資源的利用率來說,容器化的方案比傳統虛擬化的資源利用率高。

IaaS:基礎設施即服務,Infrastructure As A Service。IaaS可以向平台申請虛擬機,然後部署應用程序。比如OpenStack或者VCenter,OpenStack是目前IaaS的主流框架。OpenStack規模越大,成本越低。

PaaS:平台即服務,Platform As A Service。PaaS可以直接訪問應用。PaaS的平台很多,比如:kubernetes、Rancher、Mesos,PaaS的底層是基於容器和虛擬化的技術做的。

雲計算三種典型分類:IaaS、PaaS和SaaS。

SaaS:軟體即服務,Software As A Service,是一種開發做的多租戶的場景。

實現IaaS,要用openstack。

kubernetes是一種PaaS為主的路徑。

實現PaaS有好幾種實現方案,比如docker swarm、Mesos、kubernetes。

docker swarm是docker公司開發的集群化管理軟體,用來實現PaaS的一個框架。

Docker swarm是docker官方提供的一款集群管理工具,它的作用是把很多台docker主機抽象成為一個主體,並且通過一個入口統一管理這些docker主機上的docker資源。想要運行一個容器,它就會自動地從多台docker主機中選擇一個最靠譜的去運行當前容器。

docker swarm被集成在docker的軟體包內,我們只需要執行docker swarm init就可以初始化出來一個docker集群。

Mesos是一個集群管理器,類似於yarn。它提供了有效的、跨分散式應用或者框架的資源隔離與共享。它可以運行Hadoop、Hypertable、Storm、Spark

Kubernetes對資源的管控能力很強。kubernetes是一個集群管理軟體,也是一個資源管理系統。

kubernetes自帶服務發現和負載均衡的功能,之前部署負載均衡,需要使用lvs或者nginx做負載調度器,現在可以使用kubectl create service創建負載均衡的服務。

kubernetes支持存儲編排,可以添加本地存儲或者雲伺服器

kubernetes可以實現自動部署和回滾,可以使用命令rollout實現回滾的功能。

kubernetes可以支持自動分配CPU資源和內存資源,實現彈性伸縮。kubernetes允許自定義一個CPU閾值,當應用使用的資源超過閾值時,可以自動擴展。

kubernetes支持自我修復,容器可以秒級啟動。

kubernetes有一個secret的管理方案,也可以進行配置管理。kubernetes可以對敏感數據做編碼,如果要看敏感數據需要解碼。

kubernetes對大型規模也是支持的。kubernetes可以管理很多台物理機,kubernetes建議:

①:每個節點的pod數量不超過110個

②:節點數不超過5000

③:pod總數不超過150000

④:容器總數不超過300000

單個kubernetes集群的節點數量最好不超過5000個。

kubernetes是開源的資源管理系統,任何人都可以參與到這個kubernetes的開源項目中來。

開源的生態:取之於開源,供給於開源。

谷歌borg是谷歌早期開發的集群管理系統,用來管理大規模的容器化工作負載,是谷歌內部非常關鍵的基礎設施。borg從2003年開始使用,Borg的調度器設計、作業類型、資源分配和故障隔離這些特性被kubernetes所吸收和借鑒。

Omega是谷歌borg的一個後繼系統,2013年開始開發,用來解決Borg在大規模、動態、多租戶環境下的使用。Omega的多租戶和聲明式配置被借鑒到kubernetes中。

kubernetes自從2014年6月開始使用。

kubernetes的基礎知識之pod - 天天要聞

孔雀

鼓勵的話語:海到盡頭天作岸,山登絕頂我為峰。不屈的意志,會帶我們殺出重圍。具有堅定的信念,堅強的毅力,頑強的鬥志,人生終將輝煌!

科技分類資訊推薦

長安與東風重組新進展:朱華榮稱不會改變長安既定戰略 - 天天要聞

長安與東風重組新進展:朱華榮稱不會改變長安既定戰略

2月9日,長安汽車和東風集團股份(00489.HK)同步發布了控股股東「正在與其他國資央企集團籌劃重組事項」的信息。長安汽車的控股股東是兵裝集團,而東風集團股份的控股股東是東風公司。隨即,長安汽車和東風集團這兩家汽車央企將合併重組,成為業內關注的焦點。
公安部出手了!年齡限制放寬10年、送考下鄉,2025年考駕照不難了 - 天天要聞

公安部出手了!年齡限制放寬10年、送考下鄉,2025年考駕照不難了

電動車加強管理以後,要求機動車類型的車輛需要持證上路,但是老年人考駕照卻受阻,一方面有年齡的限制,另一方面偏遠山區考駕照不方便,所以在2025年公安部出手了,年齡限制放寬10年,同時推出送考下鄉服務,還進一步的降低考駕照的費用,2025年起考摩托車駕照不難了。
從「星靈安全守護體系」到昊鉑HL,看懂廣汽科技日 - 天天要聞

從「星靈安全守護體系」到昊鉑HL,看懂廣汽科技日

發布會以技術切入,並全程圍繞安全展開。廣汽集團董事長、總經理馮興亞率先登場,宣布2025年四季度將正式上市支持L3級智能駕駛的車型,他同時強調面向自動駕駛時代對智能駕駛技術、整車安全架構以及突發風險處理能力的要求更高。如何才能滿足更高的要求?馮興亞提到了「廣汽
關稅大棒下,最受傷的車企出現了 - 天天要聞

關稅大棒下,最受傷的車企出現了

特朗普的關稅大棒剛揮出,尚未嚇退「外敵」,卻先刺痛了自己。近日,擁有瑪莎拉蒂、Jeep等14個品牌的全球第四大車企斯泰蘭蒂斯突然宣布裁撤900名美國工人,關閉加拿大和墨西哥兩家工廠,北美生產線陷入癱瘓。幾乎同一時間,捷豹路虎宣布暫停對美出口一個月,奧迪更是直接