今天小編就為大家?guī)硪黄嘘P(guān)kubernetes的原理和用法的文章。小編覺得挺實(shí)用的,為此分享給大家做個參考。一起跟隨小編過來看看吧。
公司主營業(yè)務(wù):做網(wǎng)站、成都網(wǎng)站建設(shè)、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)建站是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)建站推出江源免費(fèi)做網(wǎng)站回饋大家。
kubernetes通過watch的機(jī)制進(jìn)行每個組件的協(xié)作,每個組件之間的設(shè)計(jì)實(shí)現(xiàn)了解耦.
nodeName用于將Pod調(diào)度到指定的Node名稱上,跳過調(diào)度器直接分配.
nodeSelector用于將Pod調(diào)度到匹配Label的Node上,前提是node要有標(biāo)簽.
圖中左上角的運(yùn)維人員往節(jié)點(diǎn)中創(chuàng)建一個nginx資源.
API Server和etcd和Scheduler是master.
Kubelet和Docker是node節(jié)點(diǎn).
API Server做為唯一入口,接受create創(chuàng)建資源的屬性信息寫入到etcd中(屬性信息:名稱,鏡像名稱,限制條件),
etcd完善發(fā)現(xiàn)機(jī)制(watch)給Scheduler調(diào)度器(查看那個節(jié)點(diǎn)適合),然后綁定相關(guān)pod的網(wǎng)絡(luò)信息,
反饋給API Server,收到信息后api寫入etcd中,此時etcd存儲了pod的網(wǎng)絡(luò)信息(IP),node1、中的kubelet會管理pod資源,
會觸發(fā)容器的創(chuàng)建命令,安裝完成后docker就會反饋狀態(tài)信息給API Server,當(dāng)API Server收到狀態(tài)信息寫入到etcd中.
API Server相當(dāng)于是平臺中的管理員,負(fù)責(zé)記錄相關(guān)信息,
etcd相當(dāng)于管理員的記事本,相關(guān)信息內(nèi)容寫在其中,
如果API Server掛了,那么k8s基本上就癱瘓了.
vim pod5.yaml
apiVersion: v1
kind: Pod
metadata:
name: pod-example
labels:
app: nginx
spec:
nodeName: 192.168.142.131
#指定給node1節(jié)點(diǎn)
containers:
- name: nginx
image: nginx:1.15
#驗(yàn)證是否創(chuàng)建了nginx
kubectl create -f pod5.yaml
kubectl get pods
kubectl describe pod pod-example
kubectl delete -f .
kubectl get pods
kubectl label --help
kubectl get node
kubectl label nodes 192.168.142.130 kgc=a
kubectl label nodes 192.168.142.131 kgc=b
kubectl get nodes --show-labels
vim pod5.yaml
apiVersion: v1
kind: Pod
metadata:
name: pod-example
labels:
app: nginx
spec:
nodeSelector:
kgc: b
containers:
- name: nginx
image: nginx:1.15
kubectl apply -f pod5.yaml
kubectl describe pod pod-example
kubectl describe TYPE NAME_PREFIX
kubectl logs POD_NAME
kubectl exec –it POD_NAME bash
以上就是kubernetes的原理和用法的匯總,內(nèi)容較為全面,小編相信有部分使用方法可能是我們?nèi)粘9ぷ骺赡軙姷交蛴玫降?。希望你能通過這篇文章學(xué)到更多知識。