首先,我想分享SIG的使命,因?yàn)槲覀冇盟鼇碇笇?dǎo)我們現(xiàn)在和將來的工作。從我們的章程中直接來看,SIG的使命是簡化,開發(fā)和維護(hù)云供應(yīng)商集成,作為Kubernetes集群的擴(kuò)展或附加組件。這背后的動(dòng)機(jī)是雙重的:確保Kubernetes保持可擴(kuò)展性和云中立(agnostic)。 |
為了獲得前瞻性的工作視角,我認(rèn)為重新審視云供應(yīng)商的當(dāng)前狀態(tài)非常重要。今天,每個(gè)核心Kubernetes組件(除了調(diào)度程序和kube-proxy)都有一個(gè)-cloud-provider標(biāo)志,你可以配置該標(biāo)志以啟用一組與底層基礎(chǔ)架構(gòu)提供程序集成的功能,即云供應(yīng)商程序。啟用此集成可為群集啟用一系列功能,例如:節(jié)點(diǎn)地址和區(qū)域發(fā)現(xiàn),具有Type= LoadBalancer的服務(wù)的云負(fù)載平衡器,IP地址管理以及通過VPC路由表的群集網(wǎng)絡(luò)。今天,云供應(yīng)商集成可以在樹中或在樹外完成。
創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的成安網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
樹內(nèi)云提供程序是我們?cè)谥鱇ubernetes存儲(chǔ)庫中開發(fā)和發(fā)布的供應(yīng)商程序。這導(dǎo)致將每個(gè)云供應(yīng)商的知識(shí)和上下文嵌入到大多數(shù)Kubernetes組件中。這使得更多原生集成(例如,kubelet)能夠通過來自云供應(yīng)商的元數(shù)據(jù)服務(wù)來請(qǐng)求關(guān)于其自身的信息。
In-Tree Cloud Provider Architecture
樹外云供應(yīng)商是可以獨(dú)立于Kubernetes核心開發(fā),構(gòu)建和發(fā)布的供應(yīng)商。這需要部署一個(gè)名為cloud-controller-manager的新組件,該組件負(fù)責(zé)運(yùn)行以前在kube-controller-manager中運(yùn)行的所有特定于云的控制器。
Out-of-Tree云供應(yīng)商架構(gòu)
當(dāng)最初開發(fā)云提供程序集成時(shí),它們是原生開發(fā)的(在樹中)。我們將每個(gè)供應(yīng)商集成在Kubernetes的核心附近,并在今天的k8s.io/kubernetes整體存儲(chǔ)庫中。隨著Kubernetes變得越來越普遍,越來越多的基礎(chǔ)設(shè)施供應(yīng)商希望原生支持Kubernetes,我們意識(shí)到這種模式不會(huì)擴(kuò)展。每個(gè)提供程序都會(huì)帶來大量依賴項(xiàng),這會(huì)增加代碼庫中的潛在漏洞,并顯著增加每個(gè)組件的二進(jìn)制大小。除此之外,更多Kubernetes發(fā)行說明開始關(guān)注供應(yīng)商特定的更改,而不是影響所有Kubernetes用戶的核心更改。
在2017年末,我們?yōu)樵乒?yīng)商開發(fā)了一種方法來構(gòu)建集成,而無需將它們添加到主Kubernetes樹(樹外)。這成為生態(tài)系統(tǒng)中新的基礎(chǔ)設(shè)施供應(yīng)商與Kubernetes集成的事實(shí)上的方式。從那時(shí)起,我們一直在積極努力遷移所有云供應(yīng)商以使用樹外架構(gòu),因?yàn)槿缃翊蠖鄶?shù)集群仍在使用樹內(nèi)云供應(yīng)商。
展望未來,SIG的目標(biāo)是刪除所有現(xiàn)有的樹內(nèi)云供應(yīng)商,轉(zhuǎn)而使用樹外的實(shí)現(xiàn),同時(shí)對(duì)用戶的影響最小。除了上面提到的核心云供應(yīng)商集成之外,還有更多的云集成擴(kuò)展點(diǎn),如CSI和鏡像憑據(jù)供應(yīng)商,正在為v1.15積極開展工作。達(dá)到這一點(diǎn)意味著Kubernetes真正與云中立,沒有針對(duì)任何云供應(yīng)商的原生集成。通過這項(xiàng)工作,我們使每個(gè)云供應(yīng)商能夠獨(dú)立于Kubernetes以自己的節(jié)奏開發(fā)和發(fā)布新版本。我們現(xiàn)在已經(jīng)知道,這是一項(xiàng)具有獨(dú)特挑戰(zhàn)的巨大壯舉。遷移工作負(fù)載絕非易事,尤其是當(dāng)它是控制平面的重要組成部分時(shí)。在即將發(fā)布的版本中,我們的SIG最優(yōu)先考慮在樹內(nèi)和樹外云供應(yīng)商之間提供安全且簡便的遷移路徑。如果你對(duì)此感興趣,我建議你查看我們的一些KEP并通過加入郵件列表或我們的Slack渠道(Kubernetesslack中的#sig-cloud-provider)與我們的SIG取得聯(lián)系。