1. kubernetes簡介
1.1 kubernetes介紹
Kubernetes是google開源的一套微服務,容器化的編排引擎,是google內(nèi)部容器十多年實戰(zhàn)沉淀的結(jié)晶,已戰(zhàn)勝Swarm,Messo成為容器編排的行業(yè)標準。kuberntes內(nèi)置有很多非常優(yōu)秀的特性使開發(fā)者專注于業(yè)務本身,其包含的功能如下:
成都創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務領域包括:成都網(wǎng)站建設、網(wǎng)站建設、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務,滿足客戶于互聯(lián)網(wǎng)時代的陸港網(wǎng)站設計、移動媒體設計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡建設合作伙伴!
- Service discovery and load balancing,服務發(fā)現(xiàn)和負載均衡,通過DNS實現(xiàn)內(nèi)部解析,service實現(xiàn)負載均衡
- Storage orchestration,存儲編排,通過plungin的形式支持多種存儲,如本地,nfs,ceph,公有云快存儲等
- Automated rollouts and rollbacks,自動發(fā)布與回滾,通過匹配當前狀態(tài)與目標狀態(tài)一致,更新失敗時可回滾
- Automatic bin packing,自動資源調(diào)度,可以設置pod調(diào)度的所需(requests)資源和限制資源(limits)
- Self-healing,內(nèi)置的健康檢查策略,自動發(fā)現(xiàn)和處理集群內(nèi)的異常,更換,需重啟的pod節(jié)點
- Secret and configuration management,密鑰和配置管理,對于敏感信息如密碼,賬號的那個通過secret存儲,應用的配置文件通過configmap存儲,避免將配置文件固定在鏡像中,增加容器編排的靈活性
- Batch execution,批處理執(zhí)行,通過job和cronjob提供單次批處理任務和循環(huán)計劃任務功能的實現(xiàn)
- Horizontal scaling,橫向擴展功能,包含有HPA和AS,即應用的基于CPU利用率的彈性伸縮和基于平臺級的彈性伸縮,如自動增加node和刪除nodes節(jié)點。
1.2 kubernetes架構

kubernetes包含兩種角色:master節(jié)點和node節(jié)點,master節(jié)點是集群的控制管理節(jié)點,作為整個k8s集群的大腦。
- 負責集群所有接入請求(kube-apiserver),在整個集群的入口;
- 集群資源調(diào)度(kube-controller-scheduler),通過watch監(jiān)視pod的創(chuàng)建,負責將pod調(diào)度到合適的node節(jié)點;
- 集群狀態(tài)的一致性(kube-controller-manager),通過多種控制器確保集群的一致性,包含有Node Controller,Replication Controller,Endpoints Controller等;
- 元數(shù)據(jù)信息存儲(etcd),數(shù)據(jù)持久存儲化,存儲集群中包括node,pod,rc,service等數(shù)據(jù);
通常由3或5個節(jié)點組成高可用集群,其中etcd內(nèi)置的集群組成,kube-apiserver由haproxy或nginx做負載分發(fā),kube-scheduler和kube-controller-manager內(nèi)置的選舉機制保障,確保集群內(nèi)同一個時刻只有一個leader節(jié)點,其他處于阻塞狀態(tài),防止腦裂。
node節(jié)點是實際的工作節(jié)點,負責集群負載的實際運行,即pod運行的載體,其通常包含三個組件:Container Runtime,kubelet和kube-proxy
- Container Runtime是容器運行時,負責實現(xiàn)container生命周期管理,如docker,containerd,rktlet;
- kubelet負責鏡像和pod的管理,
- kube-proxy是service服務實現(xiàn)的抽閑,負責維護和轉(zhuǎn)發(fā)pod的路由,實現(xiàn)集群內(nèi)部和外部網(wǎng)絡的訪問。
其他組件還包括
- cloud-controller-manager,用于公有云的接入實現(xiàn),提供節(jié)點管理(node),路由管理,服務管理(LoadBalancer和Ingress),存儲管理(Volume,如云盤,NAS接入),需要由公有云廠商實現(xiàn)具體的細節(jié),kubernetes提供實現(xiàn)接口的接入,如騰訊云目前提供CVM的node管理,節(jié)點的彈性伸縮(AS),負載均衡的接入(CLB),存儲的管理(CBS和CFS)等產(chǎn)品的集成;
- DNS組件由kube-dns或coredns實現(xiàn)集群內(nèi)的名稱解析;
- kubernetes-dashboard用于圖形界面管理;
- kubectl命令行工具進行API交互;
- 監(jiān)控系統(tǒng)用于采集node和pod的監(jiān)控數(shù)據(jù),如prometheus,heapster+influxdb+grafana;
- 日志采集系統(tǒng),用于收集容器的業(yè)務數(shù)據(jù),實現(xiàn)日志的采集,存儲和展示,實現(xiàn)有Fluentd+ELK(ElasticSearch+Logstash+Kiabana)。
1.3 參考文檔
kubernetes功能介紹,https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/
- kubernetes組件介紹https://kubernetes.io/docs/concepts/overview/components/
?
返回kubernetes系列教程目錄
**如果覺得文章對您有幫助,請訂閱專欄,分享給有需要的朋友吧
標題名稱:kubernetes系列教程(一)初探kubernetes功
文章位置:http://chinadenli.net/article10/gioedo.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供電子商務、網(wǎng)站營銷、移動網(wǎng)站建設、網(wǎng)站策劃、搜索引擎優(yōu)化、App設計
廣告
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源:
創(chuàng)新互聯(lián)