Kubernetes/1.Kubernetes基礎

Kubernetes基礎

本章主要讓咱們初步瞭解到Kubernetes的主要組件有哪些,以及其協做關係是怎麼樣的。前端

  • 架構圖
  • 流程概述
  • 參考文檔
  • 備註

架構圖

架構圖

Master節點:(又稱爲控制平面:control plane)

包括kube-apiserver、kube-scheduler、kube-controller-manager和etcd四個組件。node

kube-apiserver:
    是一個將Kubernetes控制平面中的API暴露出來的API服務,這服務是Kubernetes控制平面的前端。
    用戶能夠運行多個kube-apiserver組件的實例,用於平衡實例的請求流量。

kube-scheduler:
    用於watch監聽apiserver的資源變更(增刪改查),並調度合適的後端node節點來建立Pod資源。

kube-controller-manager:
    每一個控制器都是獨立的二進制進程,包括:Node Controller、Replication Controller、Endpoints Controller和Service Account & Token Controllers。

etcd:
    高可用、KV結構的kubernetes的後端數據存儲組件。
    備份方案:https://kubernetes.io/docs/tasks/administer-cluster/configure-upgrade-etcd/#backing-up-an-etcd-cluster
    官方文檔:https://etcd.io/docs/v3.4.0/

Node節點:(又稱爲數據平面:data plane)

包括kubelet、kube-proxy和Container Runtime三個組件。
kubelet:
    運行在集羣每一個節點的客戶端,須要確保相關容器運行在pod中;
    經過PodSpecs標籤,描述容器的運行狀態;
    最後,kubelet無論理,沒有經過kubernetes建立的容器。

kube-proxy:
    是一個運行在集羣每一個節點的網絡代理組件。

Container Runtime:
    支持運行容器底層環境的軟件;
    支持: Docker, containerd, cri-o, rktlet and any implementation of the Kubernetes CRI (Container Runtime Interface)。

Addons(附加組件)

使用Kubernetes resources (DaemonSet, Deployment, etc)增長集羣功能;
其中附加組件的namespace屬於kube-system。  
可用Addons文檔:https://kubernetes.io/docs/concepts/cluster-administration/addons/
DNS:
    將Service資源的A記錄,實時且自動的添加進來。
Web UI (Dashboard)、Container Resource Monitoring和Cluster-level Logging

2.流程概述: git

Master: github

用戶經過(API、WebUI、CLI)向APIserver發送請求,Scheduler組件watch APIserver的資源變更,同時從Node中選取最合適的Node節點開始調度,並把結果保存到Etcd中。

Node:docker

kubelet也會watch APIserver的資源變更,並在符合的Node上,會經過kuberlet調用相關的docker引擎進行後續構建操做。

參考文檔

官網:https://kubernetes.io後端

備註

本文原址位於個人Github,我會陸續將全部專題更新過來,其中包括docker、k8s、ceph、istio和prometheus,旨在分享雲原生中大而全的技術知識點和實操過程,若是對你有用,請follow、star個人github,這也是我更新、分享下去的動力,謝謝~api

相關文章
相關標籤/搜索