新聞中心
Master node(主節(jié)點)
Linux:一切皆是文件
K8s:一切皆是資源
Kubectl:k8s是命令行端,用來發(fā)送用戶的操做指令。
Authorization(認證授權(quán)機制)
API(編程接口)
API server:(背)是k8s集群的(前端接口)。各種客戶端工具以及k8s的其他組件可以通過它管理k8s集群的各種資源。他提供了HTTP/HTTPS RESTful API即K8S API.
網(wǎng)站建設哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、微信小程序開發(fā)、集團企業(yè)網(wǎng)站建設等服務項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了陵城免費建站歡迎大家使用!
Scheduler:(調(diào)度的意思)負責決定將Pod放在那個node上運行,在調(diào)度是,會充分考慮集群的拓撲結(jié)構(gòu),,當前各個節(jié)點的負載情況,以及應對高可用,性能,數(shù)據(jù)親和性和需求。
Controller Manager:負責管理集群的各種資源,保證資源處于預期的狀態(tài),它有多種Controller(控制器)組成,包括Replication Controller。Endpoints Controller。 Namespace Controller。 Serviceaccounts Controller等等。
第三方組件:他有可替換方案。Consul,zookeeper。
Etcd:負責保存k8s集群的配置信息和各種資源的狀態(tài)信息,當數(shù)據(jù)發(fā)生變化時,etcd會快速的通知k8s相關(guān)組件。
**Pod:k8s集群的最小組成單位,一個Pod內(nèi),可以運行一個或多個容器。大多數(shù)情況下,一個Pod內(nèi)只有一個Container容器。
Flannel:是k8s集群網(wǎng)絡方案,可以保證Pod的跨主機通信。
第三方解決方案,也有替換方案。
可以查看IP地址,以及運行在那個節(jié)點之上。
[root@master ~]# kubectl get pod --all-namespaces -o wide
Node 節(jié)點:
Kubelet:他是node的agent(代理),當scheduler確定某個Node上運行Pod之后,會將Pod的具體配置信息發(fā)送給該節(jié)點的kubelet,kubelet會根據(jù)這些信息創(chuàng)建和運行容器,并向Master報告運行狀態(tài)。
kube-proxy:負責將訪問service的TCP/UDP數(shù)據(jù)流轉(zhuǎn)發(fā)到后端的容器,如果有多個副本,kube-proxy會實現(xiàn)負載均衡。
Cadvisor:控制
//運行一個例子:
創(chuàng)建一個deployment資源對象,pod控制器
kubectl run test-web --image=httpd --replicas=2
查看:
[root@master ~]# kubectl get pod -o wide
[root@master ~]# kubectl get deployments.
分析各個組件的作用以及架構(gòu)工作流程。
1》kubectl發(fā)送部署請求到API server
2》APIserver通知Controller Manager創(chuàng)建一個Deployment資源
3》Scheduler執(zhí)行調(diào)度任務,將兩個副本Pod分發(fā)到node01和node02上
4》node01和node2上的kubelet在各自節(jié)點上創(chuàng)建并運行Pod。
補充:
1.應用的配置和當前的狀態(tài)信息保存在etcd中,執(zhí)行kubectl get pod 是API server會從etcd中讀取這些數(shù)據(jù)。
2.Flannel會為每個Pod分配一個IP,但此時沒有創(chuàng)建Service資源,目前kube-proxy還沒有參與進來。
kubectl run test-web --image=httpd --replicas=2
kubectl get nodes
19 kubectl get deployments.
20 kubectl get pod
21 kubectl get pod -o wide
22 systemctl restart kubelet.service
23 kubectl get pod -o wide
24 kubectl delete pod test-web-5b56bdff65-fwp4l
26 kubectl get pod -o wide
2.Flannel回味每個pod分配一個ip,但此時沒有闖進啊service資源,目前kube-proxy還沒有參與進來
分享名稱:k8s集群部署完成后的運行流程與基礎(chǔ)命令
分享網(wǎng)址:http://www.dlmjj.cn/article/jggjhp.html