成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

k8s in Rancher架構(gòu)分析

array_huang / 2199人閱讀

摘要:組件會給每個分配一個,則替代了的來實現(xiàn)服務(wù)發(fā)現(xiàn),在的容器內(nèi)部依然可以訪問服務(wù)來獲取元數(shù)據(jù)信息。的需要在中實現(xiàn)一個,目前只有,而則維護了自己的版本在其中提供了。

在Rancher 1.0版本開始,Rancher逐步增加了Kubernetes、Swarm、Mesos等多編排引擎的支持,很多朋友就此產(chǎn)生了疑惑,諸如Cattle引擎和這幾個之間到底什么關(guān)系?每種引擎是如何支持的?自家的業(yè)務(wù)環(huán)境如何選型?我們將逐步揭開這些神秘面紗,了解基礎(chǔ)架構(gòu)才能在遇到問題時進行有效的分析,進而準確的定位問題并解決問題,因為沒有一種生產(chǎn)環(huán)境是完全可靠的?;谶@個背景下,這次我們首先向大家介紹kubernetes in Rancher的架構(gòu)。

從現(xiàn)在Rancher的發(fā)展節(jié)奏來看,Cattle引擎已經(jīng)被定義成Rancher的基礎(chǔ)設(shè)施引擎,而Rancher的基礎(chǔ)設(shè)施服務(wù)都包括哪些呢?如下:

Networking,Rancher的統(tǒng)一網(wǎng)絡(luò)服務(wù),由rancher-net組件提供

Load Balancer,Rancher的負載均衡服務(wù),目前來看套路基本上是基于Haproxy來構(gòu)建

DNS Service,Rancher的DNS服務(wù),主要是為了提供服務(wù)發(fā)現(xiàn)能力,由Rancher-DNS組件來提供

Metadata Service,Rancher的元數(shù)據(jù)服務(wù),Metadata是我們通過compose編排應(yīng)用時的利器,可以很靈活的像service中注入特定信息

Persistent Storage Service,持久化存儲服務(wù)目前是由convoy來提供,而對于真正的后端存儲的實現(xiàn)Rancher還有l(wèi)onghorn沒有完全放出

Audit Logging,審計日志服務(wù)是企業(yè)場景中比較重要的一個屬性,目前是集成在Cattle內(nèi)部沒有被完全分離出來

所以Rancher在接入任何一種編排引擎,最終都會把基礎(chǔ)設(shè)施服務(wù)整合到該引擎中,Kubernetes in Rancher的做法正是如此。

Kubernetes各個組件的角色可以歸為三類即Master、Minion、Etcd,Master主要是kube-apiserver、kube-scheduler、kube-controller-manager,Minion主要是kubelet和kube-proxy。Rancher為了融合k8s的管控功能,又在Master中添加了kuberctrld、ingress-controller、kubernetes-agent三個服務(wù)來打通Rancher和K8s,同時每個node上都會依賴Rancher提供的Rancher-DNS、Rancher-metadata、Rancher-net這些基礎(chǔ)設(shè)施服務(wù)。

由于K8s是基于Cattle引擎來部署,所以在K8s在部署完成之后,我們可以通過Link Graph來很清晰的看到整體的部署情況。

整個服務(wù)基于Cattle引擎的Rancher-compose構(gòu)建,新增節(jié)點后自動添加kubelet和kube-proxy服務(wù)(此處利用了Global Label的特性),各個組件都添加了health-check機制,保證一定程度的高可用??紤]到etcd最低1個最多3個節(jié)點,單臺agent host就可以部署K8s,三節(jié)點agent host則更合理些。

K8s集群完成部署后,我們就可以在其中添加各種應(yīng)用服務(wù),目前Rancher支持管理K8s的service、pod、replication-controller等,我們可以用一張圖來形象得描述一下應(yīng)用視圖結(jié)構(gòu)。

rancher-net組件會給每個pod分配一個IP,Rancher-DNS則替代了K8s的Skydns來實現(xiàn)服務(wù)發(fā)現(xiàn),在pod的容器內(nèi)部依然可以訪問Rancher-metadata服務(wù)來獲取元數(shù)據(jù)信息。除了這三個基礎(chǔ)服務(wù)外,我們之前提到的kuberctrld、ingress-controller、kubernetes-agent也在其中扮演者重要角色。

無論是K8s還是Rancher,其中一些抽象對象(如Rancher的stack/service,或者K8s的serivice/pod)在屬性更新時都會有events產(chǎn)生,在任何服務(wù)入口來更改這些抽象對象都會有events產(chǎn)生,所以要保證Rancher和k8s能夠互相感知各自對象的更新,那么kubernetes-agent就應(yīng)運而生了。

諸如K8s的namespaces、services、replicationcontrollers、pods等對象的信息變更會及時通知給Rancher,而Cattle管理的Host資源出現(xiàn)信息變更(諸如host label的變動)也會通知給K8s。

簡單得說kubernetes-agent是為了維護Rancher和K8s之間的對象一致性,而真正要通過Rancher來創(chuàng)建K8s中的service或者pod之類的對象,還需要另外一個服務(wù)來實現(xiàn),它就是kubectrld,直觀的講它就是包裝了kubectrl,實現(xiàn)了其中kubectl create/apply/get 等功能。

所有的K8s對象創(chuàng)建請求都會走cattle引擎,cattle會把請求代理到kubectrld啟動的一個api服務(wù)。除此之外,還會監(jiān)聽Rancher events來輔助實現(xiàn)相關(guān)對象的CRUD。

K8s上創(chuàng)建的service如需對外暴露訪問,那么必然會用到LoadBalancer Type和Ingress kind,注意K8s概念下的LoadBalancer和Ingress略有不同,LoadBalancer的功能主要關(guān)注在L4支持http/tcp,而Ingrees則是要實現(xiàn)L7的負載均衡且只能支持http。K8s 的LoadBalancer需要在K8s中實現(xiàn)一個Cloud Provider,目前只有GCE,而Rancher則維護了自己的K8s版本在其中提供了Rancher Cloud Provider。對于Ingress則是提供了Ingress-controller組件,它實現(xiàn)了K8s的ingress框架,可以獲取ingress的創(chuàng)建信息并執(zhí)行相應(yīng)的接口。當然最終這兩者都會調(diào)用Cattle api來創(chuàng)建Rancher的負載均衡,且都是通過Haproxy完成負責(zé)均衡功能。

以目前K8s社區(qū)的火熱勢頭,Rancher應(yīng)該會持續(xù)跟進并不斷更新功能優(yōu)化架構(gòu),待到Rancher1.2發(fā)布之后,CNI的支持會是一個里程碑,到那時Kubernetes in Rancher也會更加成熟,一起向著最好用Kubernetes發(fā)行版大踏步的前進。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/32520.html

相關(guān)文章

  • k8s in Rancher架構(gòu)分析

    摘要:組件會給每個分配一個,則替代了的來實現(xiàn)服務(wù)發(fā)現(xiàn),在的容器內(nèi)部依然可以訪問服務(wù)來獲取元數(shù)據(jù)信息。的需要在中實現(xiàn)一個,目前只有,而則維護了自己的版本在其中提供了。 在Rancher 1.0版本開始,Rancher逐步增加了Kubernetes、Swarm、Mesos等多編排引擎的支持,很多朋友就此產(chǎn)生了疑惑,諸如Cattle引擎和這幾個之間到底什么關(guān)系?每種引擎是如何支持的?自家的業(yè)務(wù)環(huán)境...

    kid143 評論0 收藏0
  • k8s in Rancher架構(gòu)分析

    摘要:組件會給每個分配一個,則替代了的來實現(xiàn)服務(wù)發(fā)現(xiàn),在的容器內(nèi)部依然可以訪問服務(wù)來獲取元數(shù)據(jù)信息。的需要在中實現(xiàn)一個,目前只有,而則維護了自己的版本在其中提供了。 在Rancher 1.0版本開始,Rancher逐步增加了Kubernetes、Swarm、Mesos等多編排引擎的支持,很多朋友就此產(chǎn)生了疑惑,諸如Cattle引擎和這幾個之間到底什么關(guān)系?每種引擎是如何支持的?自家的業(yè)務(wù)環(huán)境...

    Sourcelink 評論0 收藏0
  • k8s in Rancher架構(gòu)分析

    摘要:組件會給每個分配一個,則替代了的來實現(xiàn)服務(wù)發(fā)現(xiàn),在的容器內(nèi)部依然可以訪問服務(wù)來獲取元數(shù)據(jù)信息。的需要在中實現(xiàn)一個,目前只有,而則維護了自己的版本在其中提供了。 在Rancher 1.0版本開始,Rancher逐步增加了Kubernetes、Swarm、Mesos等多編排引擎的支持,很多朋友就此產(chǎn)生了疑惑,諸如Cattle引擎和這幾個之間到底什么關(guān)系?每種引擎是如何支持的?自家的業(yè)務(wù)環(huán)境...

    lifesimple 評論0 收藏0
  • 再獲巨頭認可,Rancher、ARM強強聯(lián)合推出物聯(lián)網(wǎng)、邊緣計算、數(shù)據(jù)中心K8S平臺

    摘要:年月日,企業(yè)級管理平臺以下簡稱宣布與英國芯片設(shè)計公司合作,以滿足客戶對物聯(lián)網(wǎng)和邊緣計算的部署需求。此次發(fā)布的用于物聯(lián)網(wǎng)平臺和邊緣節(jié)點的平臺包含年月推出的端口以及。和為物聯(lián)網(wǎng)邊緣計算數(shù)據(jù)中心節(jié)點創(chuàng)建了一個基于的計算平臺。 2018年12月11日,企業(yè)級Kubernetes管理平臺Rancher Labs(以下簡稱Rancher)宣布與英國芯片設(shè)計公司Arm合作,以滿足客戶對物聯(lián)網(wǎng)和邊緣計...

    Jason_Geng 評論0 收藏0
  • Rancher發(fā)布K3s!史上最輕量K8s發(fā)行版,賦能邊緣計算

    摘要:年月日,業(yè)界領(lǐng)先的容器管理軟件提供商以下簡稱宣布推出輕量級發(fā)行版,這款產(chǎn)品專為在資源有限的環(huán)境中運行的研發(fā)和運維人員設(shè)計。此次發(fā)布的項目,將滿足在邊緣計算環(huán)境中運行在和處理器上的小型易于管理的集群日益增長的需求。2019年2月26日,業(yè)界領(lǐng)先的容器管理軟件提供商Rancher Labs(以下簡稱Rancher)宣布推出輕量級Kubernetes發(fā)行版K3s,這款產(chǎn)品專為在資源有限的環(huán)境中運行...

    UnixAgain 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<