亚洲成人国产,日韩免费一二三区,亚洲一区在线免费视频,精品视频在线免费,成人性生交大片免费看9999,#NAME?,91香蕉视频在线

您當前的位置是:  首頁 > 新聞 > 文章精選 >
 首頁 > 新聞 > 文章精選 >

容器云多租戶及權限中心設計

2017-12-01 09:15:41   作者:汪照輝 王作敬   來源:開源云中文社區(qū)   評論:0  點擊:


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

專題