用什么軟件做介紹視頻網(wǎng)站怎么樣推廣自己的網(wǎng)址
List-Watch
Kubernetes 是通過 List-Watch的機(jī)制進(jìn)行每個(gè)組件的協(xié)作,保持?jǐn)?shù)據(jù)同步的,每個(gè)組件之間的設(shè)計(jì)實(shí)現(xiàn)了解耦。
List-Watch機(jī)制
工作機(jī)制:用戶通過 kubectl請(qǐng)求給 APIServer 來建立一個(gè) Pod。APIServer會(huì)將Pod相關(guān)元信息存入 etcd 中,待寫入操作完成,APIServer 即會(huì)返回確認(rèn)信息至客戶端。當(dāng)etcd 接受創(chuàng)建 Pod 信息后,會(huì)發(fā)送ReplicaSet事件給 APIServer。由于 Controller Manager 會(huì)監(jiān)聽(Watch,通過https的6443端口)APIServer 中的事件。此時(shí) APIServer 接受到了 Create 事件,就會(huì)發(fā)送給 Controller Manager。Controller Manager 在接到 Create 事件以后,調(diào)用其中的 Replication Controller 來保證 Node 上面需要?jiǎng)?chuàng)建的副本數(shù)量。在 Controller Manager 創(chuàng)建 Pod 副本以后,APIServer 會(huì)在 etcd 中記錄這個(gè) Pod 的詳細(xì)信息。之后etcd 會(huì)將創(chuàng)建 Pod 的信息通過事件發(fā)送給 APIServer。Scheduler 在監(jiān)聽(Watch)APIServer,它會(huì)將待調(diào)度的 Pod 按照調(diào)度算法和策略綁定到集群中 Node 上。Scheduler 調(diào)度完畢以后會(huì)更新更詳細(xì) Pod 的信息,并將上面的 Pod 信息更新至 API Server,由 APIServer 更新至 etcd 中,保存起來。etcd 將更新成功的事件發(fā)送給 APIServer,APIServer 也開始反映此 Pod 對(duì)象的調(diào)度結(jié)果。kubelet 是在 Node 上面運(yùn)行的進(jìn)程,它也通過 List-Watch 的方式監(jiān)聽(Watch,通過https的6443端口)APIServer 發(fā)送的 Pod 更新的事件。kubelet 會(huì)嘗試在當(dāng)前節(jié)點(diǎn)上調(diào)用 Docker 啟動(dòng)容器,并將 Pod 以及容器的結(jié)果狀態(tài)回送至 APIServer。APIServer 將 Pod 狀態(tài)信息存入 etcd 中。在 etcd 確認(rèn)寫入操作成功完成后,APIServer將確認(rèn)信息發(fā)送至相關(guān)的 kubelet,事件將通過它被接受。
?命令
指定調(diào)度節(jié)點(diǎn)
apiVersion: apps/v1
kind: Deployment
metadata:name: myapp
spec:replicas: 3selector:matchLabels:app: myapptemplate:metadata:labels:app: myappspec:nodeName: node01containers:- name: myappimage: soscscs/myapp:v1ports:- containerPort: 80
查看pod
kubectl get pods -o wide查看詳細(xì)事件(發(fā)現(xiàn)未經(jīng)過 scheduler 調(diào)度分配)
kubectl describe pod myapp-6bc58d7775-6wlpp