亚洲综合伊人,成人欧美一区二区三区视频不卡,欧美日韩在线高清,日韩国产午夜一区二区三区,大胆美女艺术,一级毛片毛片**毛片毛片,你瞅啥图片

您當(dāng)前的位置是:  首頁(yè) > 新聞 > 文章精選 >
 首頁(yè) > 新聞 > 文章精選 >

容器云多租戶(hù)及權(quán)限中心設(shè)計(jì)

2017-12-01 09:15:41   作者:汪照輝 王作敬   來(lái)源:開(kāi)源云中文社區(qū)   評(píng)論:0  點(diǎn)擊:


  容器云平臺(tái)逐步進(jìn)入到了企業(yè)生產(chǎn)環(huán)境,但容器云產(chǎn)品化才剛剛起步。很多功能的設(shè)計(jì)很不完善也很不合理。這篇文章從容器云多租戶(hù)考慮,提出多租戶(hù)可能的需求,從而設(shè)計(jì)出適用不同場(chǎng)景需求的多租戶(hù)和多租戶(hù)權(quán)限中心能力,更能靈活的滿(mǎn)足不同租戶(hù)的需求。
  摘要
  隨著容器技術(shù)的火熱,不能免俗,我們也嘗試引入容器技術(shù)搭建私有容器云平臺(tái),然后在容器云的基礎(chǔ)上逐步實(shí)現(xiàn)公司的PaaS平臺(tái),以提供給各團(tuán)隊(duì)?wèi)?yīng)用托管、應(yīng)用開(kāi)發(fā)、應(yīng)用運(yùn)維的能力,同時(shí)希望實(shí)現(xiàn)開(kāi)發(fā)測(cè)試環(huán)境一致性,實(shí)現(xiàn)互聯(lián)網(wǎng)應(yīng)用或類(lèi)互聯(lián)網(wǎng)應(yīng)用的彈性伸縮,實(shí)現(xiàn)手機(jī)應(yīng)用的灰度發(fā)布,實(shí)現(xiàn)持續(xù)集成持續(xù)交付的敏捷流程,實(shí)現(xiàn)運(yùn)維自動(dòng)化等能力。
  我們前后接觸了10多家容器云廠商,從交流過(guò)程中,隨著理解的深入,也發(fā)現(xiàn)基本上所有的廠商都是基于開(kāi)源社區(qū)版本的功能,很少有自己的想法,難以滿(mǎn)足我們的需求,特別是多租戶(hù)的設(shè)計(jì),基本上都是開(kāi)發(fā)人員一廂情愿的想法,沒(méi)有理解多租戶(hù)功能。所以這里我們就拋磚引玉討論下如何看待多租戶(hù)及多租戶(hù)權(quán)限訪(fǎng)問(wèn)控制的設(shè)計(jì)實(shí)現(xiàn)。
  容器云多租戶(hù)
  多租戶(hù),顧名思義,就是很多人來(lái)租用容器云平臺(tái)的資源來(lái)實(shí)現(xiàn)自己的應(yīng)用托管運(yùn)維需求。那么資源管理與分配就是我們首先需要面對(duì)的問(wèn)題。那么容器云中什么是資源?資源該由誰(shuí)來(lái)管理?如何分配?誰(shuí)來(lái)運(yùn)維這些資源?誰(shuí)來(lái)使用這些資源? 是不是一個(gè)admin就可以眉毛胡子一把抓,干所有事情?
  資源概念很廣,對(duì)于容器云平臺(tái)來(lái)說(shuō),租戶(hù)是不是一種資源?當(dāng)然是。但這里我們討論的只是容器云平臺(tái)提供的基礎(chǔ)資源:計(jì)算資源、存儲(chǔ)資源、網(wǎng)絡(luò)資源。
  有了資源,那么誰(shuí)來(lái)管理運(yùn)維分配使用這些資源?目前幾乎所有的容器廠商都是由一個(gè)容器平臺(tái)管理員來(lái)做所有的事情,這很不合理!
  多租戶(hù)很重要的一點(diǎn)是資源隔離,安全。即便是私有云,也需要考慮相應(yīng)的安全和業(yè)務(wù)隔離需求,特別做一個(gè)產(chǎn)品時(shí)。
  從多租戶(hù)的角度考慮,租戶(hù)租用容器云平臺(tái)的資源來(lái)托管、開(kāi)發(fā)、部署運(yùn)維自己的應(yīng)用、服務(wù)。容器云平臺(tái)需要提供、維護(hù)保障租戶(hù)能正常使用這些資源,同時(shí)給租戶(hù)托管的應(yīng)用提供服務(wù)注冊(cè)、服務(wù)發(fā)現(xiàn)、服務(wù)配置、日志、監(jiān)控、預(yù)警告警、彈性伸縮、負(fù)載均衡、安全等能力。我們要明白的是租戶(hù)只是租用這些能力,他并不運(yùn)維這些能力。租戶(hù)關(guān)注的是其托管的應(yīng)用和服務(wù),他需要做的是利用平臺(tái)提供的這些能力來(lái)無(wú)縫的運(yùn)維他們的應(yīng)用和服務(wù)。
  到此,我們就理解清楚了上面的幾個(gè)問(wèn)題。租戶(hù)只是使用/租用資源;容器云平臺(tái)管理運(yùn)維這些資源。租戶(hù)側(cè)重于對(duì)自由的應(yīng)用或服務(wù)進(jìn)行運(yùn)維。資源由租戶(hù)申請(qǐng),容器云平臺(tái)來(lái)分配管理資源。
  我們?cè)賮?lái)討論下容器云中多租戶(hù)的可能的案例需求:
  多租戶(hù)可能需求
  • 案例需求一
  不同組織架構(gòu)支持。租戶(hù)可能是一個(gè)公司、一個(gè)部門(mén)、一個(gè)團(tuán)隊(duì)、一個(gè)項(xiàng)目組或者簡(jiǎn)單一個(gè)人等。一個(gè)公司可能有不同的部門(mén),一個(gè)部門(mén)有子部門(mén),一個(gè)團(tuán)隊(duì)可能有多個(gè)項(xiàng)目組,一個(gè)人可能屬于不同的團(tuán)隊(duì)不同的項(xiàng)目組……有點(diǎn)頭大,是不是?多租戶(hù)中需要支持不同的組織架構(gòu)形式,并且這個(gè)組織架構(gòu)是租戶(hù)自己定義管理的。
  圖表 1需要支持的租戶(hù)的不同組織架構(gòu)需求
  • 案例需求二
  權(quán)限定義。容器云為租戶(hù)提供不同的功能,不同功能組件可能面臨著不同權(quán)限定義的問(wèn)題。對(duì)于租戶(hù)來(lái)說(shuō),可以完全控制其下的賬戶(hù)管理,賬戶(hù)管理可能有增刪改查等權(quán)限;但對(duì)資源,只能申請(qǐng)、使用分配到的資源,或者再分配資源給其他用戶(hù)或角色。而對(duì)租戶(hù)自己的應(yīng)用可能有查詢(xún)、部署、運(yùn)維(配置更新停止啟動(dòng)等)、刪除等權(quán)限。
  圖表 2不同功能不同權(quán)限定義需求
  • 案例需求三
  角色定義、授權(quán)。對(duì)于部署的應(yīng)用A, 可能的需求是分配一個(gè)用戶(hù)UserA僅 有應(yīng)用A運(yùn)維的角色,用戶(hù)UserA只有運(yùn)維應(yīng)用A的權(quán)限。當(dāng)然用戶(hù)UserA需要有從鏡像倉(cāng)庫(kù)更新對(duì)應(yīng)的應(yīng)用鏡像的權(quán)限,需要有在日志中心查詢(xún)應(yīng)用A的日志的權(quán)限,在監(jiān)控告警中心配置應(yīng)用A監(jiān)控告警規(guī)則的權(quán)限等。當(dāng)然也可以不賦予用戶(hù)A此權(quán)限。
  圖表 3角色定義,授權(quán)
  • 案例需求四
  多租戶(hù)用戶(hù)登錄。前面提到不同租戶(hù)下可能有同名用戶(hù)或同賬號(hào)用戶(hù)。同一用戶(hù)/同一賬號(hào)也可能屬于不同的租戶(hù),那么登錄的時(shí)候如何通過(guò)租戶(hù)賬號(hào)來(lái)區(qū)分?
  • 案例需求五
  對(duì)應(yīng)用不同資源需求的支持。租戶(hù)開(kāi)發(fā)的應(yīng)用可能需要不同的資源類(lèi)型來(lái)支撐,比如某應(yīng)用B需要內(nèi)存優(yōu)化的資源,某應(yīng)用C需要IO優(yōu)化和高CPU計(jì)算的資源,應(yīng)用D可能只通用資源就可以,應(yīng)用E需要GPU資源,等等。這就需要根據(jù)不同的應(yīng)用需求,提供不同的資源支撐。
  • 案例需求六
  充分利用現(xiàn)有資源。我們知道容器不占用很多資源,那么為充分有效利用可用的資源,公司內(nèi)可能有虛擬化資源,也可能有一些淘汰的物理機(jī)。是不是可以利用起來(lái)部署容器?這些設(shè)備配置各異,即便是新購(gòu)買(mǎi)主機(jī),不同批次配置也可能不一樣,這些資源如何能更好的管理和使用?
  • 案例需求七
  都把容器列到菜單最顯著位置,生怕沒(méi)人知道他們采用了容器技術(shù)。但對(duì)于租戶(hù)來(lái)說(shuō)關(guān)心的重點(diǎn)應(yīng)該是應(yīng)用,用不用容器,用什么容器,應(yīng)用部署在哪臺(tái)主機(jī)哪個(gè)集群都應(yīng)該是透明的,都不重要。只要保證資源有效可用,在資源異常情況下能順利實(shí)現(xiàn)應(yīng)用遷移即可。
  回到應(yīng)用。這里的應(yīng)用我們指業(yè)務(wù)應(yīng)用。一個(gè)業(yè)務(wù)應(yīng)用可以看作是一個(gè)系統(tǒng),也可以是系統(tǒng)的一個(gè)模塊,或者組件。一個(gè)業(yè)務(wù)應(yīng)用可能由多個(gè)服務(wù)組成,這里就涉及到了服務(wù)的編排。每個(gè)服務(wù)可能需要部署一到多個(gè)服務(wù)實(shí)例,每個(gè)服務(wù)實(shí)例運(yùn)行在Pods或容器中。Pods或容器和主機(jī)、存儲(chǔ)、網(wǎng)絡(luò)等資源相關(guān),主機(jī)上有CPU、Memory等資源。我們希望我們運(yùn)維一個(gè)應(yīng)用時(shí),不同層次的對(duì)象可以有效平滑的關(guān)聯(lián)起來(lái),就像一個(gè)人,有骨架,有血肉,是一個(gè)整體。而不是點(diǎn)這里一下,再點(diǎn)那里一下,跳來(lái)跳去。
  圖表 4應(yīng)用管理
  • 案例需求八
  同時(shí)業(yè)務(wù)服務(wù)涉及到鏡像倉(cāng)庫(kù)、服務(wù)的注冊(cè)發(fā)現(xiàn)、服務(wù)配置、服務(wù)部署策略、服務(wù)運(yùn)行監(jiān)控、服務(wù)彈性伸縮、服務(wù)負(fù)載均衡、異常遷移、自動(dòng)恢復(fù)等。每個(gè)租戶(hù)登錄時(shí)可能只希望看到鏡像倉(cāng)庫(kù)、日志、監(jiān)控告警、配置等中自己相關(guān)的信息,不希望其他租戶(hù)看到自己的信息。
  • 案例需求九
  多租戶(hù)還有重要的一點(diǎn)就是安全和資源隔離。租戶(hù)用戶(hù)不需要連接登錄遠(yuǎn)程容器云資源主機(jī)或容器引擎。我們說(shuō)了,容器資源由容器平臺(tái)來(lái)運(yùn)維,租戶(hù)只是使用資源。不管私有云或公有云,理念要一致,不能隨意而為。否則安全就無(wú)法保證。
  基于上面提到的需求,我們看下怎么實(shí)現(xiàn)?雌饋(lái)挺復(fù)雜,其實(shí)也很簡(jiǎn)單。只有想不到,沒(méi)有做不到。
  多租戶(hù)和權(quán)限中心實(shí)現(xiàn)
  從目前國(guó)內(nèi)各廠商的實(shí)現(xiàn)來(lái)看,沒(méi)有能滿(mǎn)足以上需求的, 也沒(méi)有廠商認(rèn)真考慮上面的問(wèn)題。
  多租戶(hù)設(shè)計(jì),需要考慮到租戶(hù)的權(quán)限訪(fǎng)問(wèn)控制,這涉及到容器云平臺(tái)整體的權(quán)限控制架構(gòu),所以這里我們提出了一個(gè)權(quán)限中心的概念,實(shí)現(xiàn)一個(gè)權(quán)限中心,由權(quán)限中心來(lái)實(shí)現(xiàn)對(duì)容器云各組件及各功能的動(dòng)態(tài)控制,以適應(yīng)靈活的不同的場(chǎng)景需求?
  一、 組織結(jié)構(gòu)的實(shí)現(xiàn)可采用類(lèi)似論壇的層次結(jié)構(gòu)方法,無(wú)論多少層多少級(jí),只標(biāo)注其父結(jié)點(diǎn)ID,樹(shù)型結(jié)構(gòu)遍歷可以獲得所有的結(jié)點(diǎn)。這也是我們下面權(quán)限訪(fǎng)問(wèn)控制實(shí)現(xiàn)的基礎(chǔ)。
  二、由于每項(xiàng)功能可以提供不同的操作,所以定義權(quán)限時(shí)很難用統(tǒng)一的權(quán)限名稱(chēng)來(lái)定義,這里可以借助Oracle數(shù)據(jù)庫(kù)的權(quán)限定義,比如應(yīng)用管理,有部署、查看、運(yùn)維、刪除等權(quán)限;租戶(hù)資源管理,有申請(qǐng)、使用、再分配等權(quán)限。
  三、角色定義,就需要基于用戶(hù)及用戶(hù)組織結(jié)構(gòu),權(quán)限和容器云提供給租戶(hù)的功能列表來(lái)實(shí)現(xiàn)。可以采用Oracle 數(shù)據(jù)庫(kù)的用戶(hù)角色權(quán)限定義方式來(lái)定義。容器云平臺(tái)初始化時(shí)可以預(yù)定義角色,比如租戶(hù)管理員角色、應(yīng)用管理員角色等。
  四、用戶(hù)登錄我們借用Windows domain的概念,一個(gè)租戶(hù)就是一個(gè)domain。租戶(hù)賬號(hào)就是domain name。 登錄時(shí)指定domainName\useraccount的方式登錄。根據(jù)定義的角色權(quán)限展示不同用戶(hù)視圖。以租戶(hù)賬號(hào)登錄時(shí),可以不用指定domain登錄。 租戶(hù)/用戶(hù)賬號(hào)是有效的Email Address。租戶(hù)賬號(hào)是超級(jí)用戶(hù)賬號(hào)。
  五、資源管理需要容器云平臺(tái)來(lái)支撐,簡(jiǎn)單的方式是通過(guò)標(biāo)簽來(lái)進(jìn)行資源分類(lèi)。 一方面可以方便的充分有效的利用公司內(nèi)資源,另一方面也有針對(duì)性的對(duì)應(yīng)用不同資源需求提供支持。再者也可以簡(jiǎn)單實(shí)現(xiàn)資源隔離。
  這樣組織結(jié)構(gòu)可支持不同的需求變化,每用戶(hù)(人員)有從屬于租戶(hù)(domain)下的自己的賬號(hào)。租戶(hù)可定義不同的角色,角色賦予用戶(hù),用戶(hù)可有多種角色、角色權(quán)限可繼承。用戶(hù)使用資源重點(diǎn)關(guān)注應(yīng)用的運(yùn)維。
  之所以把權(quán)限訪(fǎng)問(wèn)控制提取出來(lái)實(shí)現(xiàn)一個(gè)統(tǒng)一的權(quán)限中心組件,是因?yàn)檎麄(gè)容器云平臺(tái),各個(gè)組件都面臨著權(quán)限訪(fǎng)問(wèn)控制需求。從云計(jì)算的理念來(lái)說(shuō),松耦合,插件式的組件或模塊設(shè)計(jì)更靈活和適用快速變化的需求。對(duì)一個(gè)客戶(hù)來(lái)說(shuō),一個(gè)組件可能需要也可能不需要,每個(gè)組件都可以以插拔的方式來(lái)控制,根據(jù)客戶(hù)需求來(lái)部署相應(yīng)的組件,實(shí)現(xiàn)相應(yīng)的權(quán)限訪(fǎng)問(wèn)控制,將會(huì)更靈活和便利。
【免責(zé)聲明】本文僅代表作者本人觀點(diǎn),與CTI論壇無(wú)關(guān)。CTI論壇對(duì)文中陳述、觀點(diǎn)判斷保持中立,不對(duì)所包含內(nèi)容的準(zhǔn)確性、可靠性或完整性提供任何明示或暗示的保證。請(qǐng)讀者僅作參考,并請(qǐng)自行承擔(dān)全部責(zé)任。

專(zhuān)題

乃东县| 平舆县| 定襄县| SHOW| 保德县| 广南县| 隆回县| 竹溪县| 承德市| 观塘区| 武鸣县| 巴塘县| 青冈县| 康平县| 阿拉善右旗| 乌苏市| 临泉县| 桂阳县| 安龙县| 银川市| 翼城县| 天门市| 镇坪县| 定日县| 南平市| 封丘县| 中超| 海淀区| 延吉市| 南漳县| 汕头市| 自治县| 顺平县| 涟水县| 华池县| 讷河市| 富蕴县| 大港区| 昔阳县| 南江县| 汾阳市|