溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

kubernetes詳細介紹

發布時間:2020-06-05 17:27:06 來源:億速云 閱讀:293 作者:Leah 欄目:云計算

這篇文章的知識點包括:kubernetes的簡介、kubernetes的功能、kubernetes的架構以及kubernetes的架構和組件,閱讀完整文相信大家對kubernetes有了一定的認識。

1. kubernetes簡介

1.1 kubernetes介紹

Kubernetes是google開源的一套微服務,容器化的編排引擎,是google內部容器十多年實戰沉淀的結晶,已戰勝Swarm,Messo成為容器編排的行業標準。kuberntes內置有很多非常優秀的特性使開發者專注于業務本身,其包含的功能如下:

  • Service discovery and load balancing,服務發現和負載均衡,通過DNS實現內部解析,service實現負載均衡
  • Storage orchestration,存儲編排,通過plungin的形式支持多種存儲,如本地,nfs,ceph,公有云快存儲等
  • Automated rollouts and rollbacks,自動發布與回滾,通過匹配當前狀態與目標狀態一致,更新失敗時可回滾
  • Automatic bin packing,自動資源調度,可以設置pod調度的所需(requests)資源和限制資源(limits)
  • Self-healing,內置的健康檢查策略,自動發現和處理集群內的異常,更換,需重啟的pod節點
  • Secret and configuration management,密鑰和配置管理,對于敏感信息如密碼,賬號的那個通過secret存儲,應用的配置文件通過configmap存儲,避免將配置文件固定在鏡像中,增加容器編排的靈活性
  • Batch execution,批處理執行,通過job和cronjob提供單次批處理任務和循環計劃任務功能的實現
  • Horizontal scaling,橫向擴展功能,包含有HPA和AS,即應用的基于CPU利用率的彈性伸縮和基于平臺級的彈性伸縮,如自動增加node和刪除nodes節點。

1.2 kubernetes架構

kubernetes詳細介紹

kubernetes包含兩種角色:master節點和node節點,master節點是集群的控制管理節點,作為整個k8s集群的大腦。

  • 負責集群所有接入請求(kube-apiserver),在整個集群的入口;
  • 集群資源調度(kube-controller-scheduler),通過watch監視pod的創建,負責將pod調度到合適的node節點;
  • 集群狀態的一致性(kube-controller-manager),通過多種控制器確保集群的一致性,包含有Node Controller,Replication Controller,Endpoints Controller等;
  • 元數據信息存儲(etcd),數據持久存儲化,存儲集群中包括node,pod,rc,service等數據;

通常由3或5個節點組成高可用集群,其中etcd內置的集群組成,kube-apiserver由haproxy或nginx做負載分發,kube-scheduler和kube-controller-manager內置的選舉機制保障,確保集群內同一個時刻只有一個leader節點,其他處于阻塞狀態,防止腦裂。

node節點是實際的工作節點,負責集群負載的實際運行,即pod運行的載體,其通常包含三個組件:Container Runtime,kubelet和kube-proxy

  • Container Runtime是容器運行時,負責實現container生命周期管理,如docker,containerd,rktlet;
  • kubelet負責鏡像和pod的管理,
  • kube-proxy是service服務實現的抽閑,負責維護和轉發pod的路由,實現集群內部和外部網絡的訪問。

其他組件還包括

  • cloud-controller-manager,用于公有云的接入實現,提供節點管理(node),路由管理,服務管理(LoadBalancer和Ingress),存儲管理(Volume,如云盤,NAS接入),需要由公有云廠商實現具體的細節,kubernetes提供實現接口的接入,如騰訊云目前提供CVM的node管理,節點的彈性伸縮(AS),負載均衡的接入(CLB),存儲的管理(CBS和CFS)等產品的集成;
  • DNS組件由kube-dns或coredns實現集群內的名稱解析;
  • kubernetes-dashboard用于圖形界面管理;
  • kubectl命令行工具進行API交互;
  • 監控系統用于采集node和pod的監控數據,如prometheus,heapster+influxdb+grafana;
  • 日志采集系統,用于收集容器的業務數據,實現日志的采集,存儲和展示,實現有Fluentd+ELK(ElasticSearch+Logstash+Kiabana)。
  • 看完上述內容,你們對kubernetes有進一步的了解嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女