1.kubernetes是由google開源的Docker容器集群管理系統(tǒng)欺税。
2.在kubernetes中Service是分布式集群架構(gòu)的核心
有一下特征:擁有唯一指定的名字
擁有一個虛擬IP和端口號
能夠遠程提供某種服務(wù)
被映射到提供這種服務(wù)能力的一組容器應(yīng)用上
3.pod運行在node節(jié)點上,這個節(jié)點可以是物理機,也可以是私有云或者公有云上的虛擬機。
4.在集群管理方面笋粟,k8s將集群中的機器劃分為一個master和一群工作節(jié)點node特占,其中master上運行著集群管理相關(guān)的一組進程kube-apiserver,kube-controller-manager和kube-scheduler免糕,這些進程實現(xiàn)了整個集群管理的資源管理、Pod調(diào)度忧侧、彈性伸縮石窑、安全控制、系統(tǒng)監(jiān)控和糾錯等管理功能蚓炬,并且全部都是自動完成的舔庶。node作為集群的工作節(jié)點忍疾,運行著真正的應(yīng)用程序功舀。
5.通常情況下谒撼,Cluster IP是在Service創(chuàng)建后由Kubernetes系統(tǒng)自動分配的,其他Pod無法預(yù)先知道某個Service的ClusterIP地址熄捍,因此需要一個服務(wù)發(fā)現(xiàn)機制來找到這個服務(wù)烛恤,為此最初的時候,k8s巧妙的利用linux得環(huán)境變量余耽,來解決問題缚柏。
6.k8s其實是一個高度自動化的資源控制系統(tǒng),他通過跟蹤對比etcd庫里保存的“資源期望狀態(tài)”與當(dāng)前環(huán)境的“實際資源狀態(tài)”的差異來實現(xiàn)自動控制和自動糾錯的高級功能碟贾。
每個node節(jié)點上運行著一下一組關(guān)鍵進程:
kubelet 負責(zé)pod對應(yīng)的容器的創(chuàng)建币喧、啟停等任務(wù)轨域,同時與Master節(jié)點密切協(xié)作,實現(xiàn)集群管理的基本功能杀餐。
kube-proxy 實現(xiàn)k8s的通信與負載均衡機制的重要組件
docker engine docker引擎干发,負責(zé)本機的容器創(chuàng)建和管理工作
7.在k8s里面一個Pod可以和另一個Pod直接通信。
8.一個CPU的配額對于絕大多數(shù)的容器來說是一個相當(dāng)大的資源配額史翘,在k8s里面通常以千分之一的CPU配額為最小單位枉长,用m表示,通常一個容器的cpu配額定義為100300m琼讽,即占0.10.3個CPU必峰。
9.label是k8s中一個核心概念,一個label是一個key=value的鍵值對钻蹬,其中key和value由用戶自己指定吼蚁,label可以附加在各種資源對象。
10.RC是k8s的核心概念之一问欠,申明某種Pod的副本數(shù)量在任意時刻都符合某個預(yù)期值肝匆,定義包括以下幾個部分:
Pod期待的副本數(shù)
用于篩選Pod的label selector
當(dāng)pod的數(shù)量少于預(yù)期數(shù)量時,用于創(chuàng)建新Pod的Pod模板(template)
deployment 是為了更好的解決容器編排問題顺献。
11.pod的endpoint地址會隨著pod的銷毀和新建而發(fā)生變化术唬,因為新的pod的IP地址與之前舊的Pod的不同,而Service一旦創(chuàng)建滚澜,k8s就會自動為它分配一個可用的ClusterIP,而且在Service的整個生命周期內(nèi)嫁怀,他的ClusterIP不會發(fā)生改變设捐。服務(wù)發(fā)現(xiàn)得以完美解決。