通過資源畫像推薦容器規(guī)格配置
ACK為Kubernetes原生的工作負載提供了資源畫像的能力,通過對資源使用量歷史數(shù)據(jù)的分析,實現(xiàn)了容器粒度的資源規(guī)格推薦,可以有效簡化為容器配置Request和Limit的復雜度。本文介紹如何通過控制臺和命令行使用資源畫像功能。
前提條件及注意事項
僅支持ACK集群Pro版,且滿足以下條件:
已安裝ack-koordinator組件(原ack-slo-manager),且組件版本為v0.7.1及以上,請參見ack-koordinator。
已安裝metrics-server組件,且組件版本為v0.3.8及以上。
如果節(jié)點的容器運行時為containerd,且加入集群的時間早于2022年01月19日14:00,請重新加入節(jié)點或升級集群至到最新版本。具體操作,請參見添加已有節(jié)點、手動升級集群。
目前資源畫像控制臺已在成本套件中開放公測,可直接訪問使用。
為了確保畫像結果的準確性,建議您在開啟工作負載的資源畫像后最少觀察等待1天以上,以便累積充足的數(shù)據(jù)。
費用說明
ack-koordinator組件本身的安裝和使用是免費的,不過需要注意的是,在以下場景中可能產(chǎn)生額外的費用:
ack-koordinator是非托管組件,安裝后將占用Worker節(jié)點資源。您可以在安裝組件時配置各模塊的資源申請量。
ack-koordinator默認會將資源畫像、精細化調(diào)度等功能的監(jiān)控指標以Prometheus的格式對外透出。若您配置組件時開啟了ACK-Koordinator開啟Prometheus監(jiān)控指標選項并使用了阿里云Prometheus服務,這些指標將被視為自定義指標并產(chǎn)生相應費用。具體費用取決于您的集群規(guī)模和應用數(shù)量等因素。建議您在啟用此功能前,仔細閱讀阿里云Prometheus計費說明,了解自定義指標的免費額度和收費策略。您可以通過賬單和用量查詢,監(jiān)控和管理您的資源使用情況。
資源畫像介紹
Kubernetes為容器資源管理提供了資源請求(Request)的資源語義描述。當容器指定Request時,調(diào)度器會將其與節(jié)點的資源容量(Allocatable)進行匹配,決定Pod應該分配到哪個節(jié)點。容器的Request一般基于人工經(jīng)驗填寫,管理員會參考容器的歷史利用率情況、應用的壓測表現(xiàn),并根據(jù)線上運行情況的反饋持續(xù)調(diào)整。
但基于人工經(jīng)驗的資源規(guī)格配置模式存在以下局限性:
為了保障線上應用的穩(wěn)定性,管理員通常會預留相當數(shù)量的資源Buffer來應對上下游鏈路的負載波動,容器的Request配置會遠高于其實際的資源利用率,導致集群資源利用率過低,造成大量資源浪費。
當集群分配率較高時,為了提升集群資源利用率,管理員會主動縮小Request配置,協(xié)調(diào)更多的資源容量。該操作會提升容器的部署密度,當應用流量上漲時會影響集群的穩(wěn)定性。
針對以上述問題,ack-koordinator提供資源畫像能力,實現(xiàn)容器粒度的資源規(guī)格推薦,降低容器配置的復雜性。ACK通過控制臺提供了相應功能,便于應用管理員快速分析應用資源規(guī)格的合理性,按需進行資源規(guī)格配置的變更。同時,ACK還提供命令行的訪問方式,支持通過CRD直接對應用資源畫像進行管理。關于資源畫像的更多信息,請參見云棲號視頻課程-ACK資源畫像。
通過控制臺使用資源畫像
步驟一:安裝資源畫像
登錄容器服務管理控制臺,在左側導航欄選擇集群。
在集群列表頁面,單擊目標集群名稱,然后在左側導航欄,選擇 。
在成本優(yōu)化頁面,單擊資源畫像頁簽,然后在資源畫像區(qū)域,按照頁面提示開啟功能。
組件安裝或升級:按照頁面提示安裝或升級ack-koordinator組件。首次使用時,需要安裝ack-koordinator組件。
說明當前的ack-koordinator版本<0.7.0時,需進行遷移和升級。具體操作,請參見將ack-koordinator從應用市場遷移至組件中心。
畫像配置:首次使用時,在安裝或升級完成后,您可以勾選啟用默認配置控制資源畫像的開啟范圍(推薦使用),也可后續(xù)在控制臺中單擊畫像配置進行調(diào)整。
單擊開啟畫像,進入資源畫像頁面。
步驟二:資源畫像策略管理
登錄容器服務管理控制臺,在左側導航欄選擇集群。
在集群列表頁面,單擊目標集群名稱,然后在左側導航欄,選擇 。
在成本優(yōu)化頁面,單擊資源畫像頁簽,然后單擊畫像配置。
畫像配置分為全量配置和自定義配置兩種模式,資源畫像組件安裝過程中推薦的默認配置為全量配置模式。您可以在此對配置模式和配置參數(shù)進行修改,并單擊確定生效。
全量配置模式(推薦)
全量配置模式將為所有工作負載開啟資源畫像,默認排除arms-prom和kube-system兩個系統(tǒng)命名空間。
配置項
說明
取值范圍
排除的命名空間
不開啟資源畫像的命名空間,一般為系統(tǒng)組件對應的命名空間。最終開啟范圍為命名空間和負載類型的交集。
當前集群內(nèi)已經(jīng)存在的命名空間,支持多選,默認值為kube-system和arms-prom。
開啟的負載類型
開啟資源畫像的負載類型范圍。最終開啟范圍為命名空間和負載類型的交集。
支持K8s原生的三類工作負載,包括Deployment、StatefulSet和DaemonsSet,支持多選。
CPU/內(nèi)存資源消耗冗余
生成資源畫像參考的安全冗余水位,詳見下文描述。
要求為非負數(shù),提供三檔常用的冗余度70%、50%、30%。
自定義配置模式
自定義配置模式僅開啟一部分命名空間的工作負載,若您的集群規(guī)模較大(例如1000節(jié)點以上),或僅需試用開啟一部分工作負載,可以通過自定義配置模式按需指定。
配置項
說明
取值范圍
開啟的命名空間
開啟資源畫像的命名空間,最終開啟范圍為命名空間和負載類型的交集。
當前集群內(nèi)已經(jīng)存在的命名空間,支持多選。
負載類型
開啟資源畫像的負載類型范圍,最終開啟范圍為命名空間和負載類型的交集。
支持K8s原生的三類工作負載,包括Deployment、StatefulSet和DaemonsSet,支持多選。
CPU/內(nèi)存資源消耗冗余
生成資源畫像參考的安全冗余水位,詳見下文描述。
要求為非負數(shù),提供三檔常用的冗余度(70%、50%、30%)。
資源消耗冗余:管理員在評估應用業(yè)務容量時(例如QPS),通常不會將物理資源使用到100%。這既包括超線程等物理資源的局限性,也包括應用自身需要保留部分資源以應對高峰時段的負載請求。當畫像值與原始資源請求的差距超過安全冗余時,會提示降配建議,具體算法參見應用畫像概覽部分中有關畫像建議的說明。
步驟三:查看應用畫像概覽
資源畫像的策略配置完成后,您可以在資源畫像頁面查看各工作負載的資源畫像情況。
為提高畫像結果準確性,首次使用時系統(tǒng)將提示需要至少累積24小時的數(shù)據(jù)。
畫像總體概覽以及各列的詳細說明如下表所示。
下表中,“-”代表不涉及。
列名 | 含義 | 取值說明 | 是否支持字段篩選 |
工作負載名稱 | 對應工作負載的名字(Name)。 | - | 支持。可在菜單欄頂部按名稱進行精確查找。 |
命名空間 | 對應工作負載的名字(Namespace) | - | 支持。默認篩選條件中不包括kube-system命名空間。 |
工作負載類型 | 對應工作負載的類型。 | 包括Deployment、DaemonSet和StatefulSet三種類型。 | 支持。默認篩選條件為全部。 |
CPU請求 | 工作負載Pod的CPU資源申請量(Request)。 | - | 不支持。 |
內(nèi)存請求 | 工作負載Pod的內(nèi)存資源申請量。 | - | 不支持。 |
畫像數(shù)據(jù)狀態(tài) | 工作負載資源畫像。 |
| 不支持。 |
CPU畫像、內(nèi)存畫像 | 資源畫像針對工作負載原始的資源請求量給出的規(guī)格(Request)調(diào)整建議,建議參考了資源畫像值、原始資源請求量(Request)以及畫像策略配置的資源消耗冗余,詳見下文描述。 | 包括升配、降配以及保持三種。對應的百分比為偏差幅度。計算公式為Abs(畫像值-請求值) / 請求值。 | 支持,默認篩選條件包括升配和降配。 |
創(chuàng)建時間 | 畫像結果的創(chuàng)建時間。 | - | 不支持。 |
資源變配 | 評估畫像結果和改配建議后,單擊資源變配進行資源的升降配置。更多信息,請參見下文的步驟五:變更應用資源規(guī)格。 | - | 不支持。 |
ACK資源畫像會為工作負載的每個容器資源規(guī)格生成畫像值,通過對比畫像值(Recommend)、原始資源請求量(Request),以及畫像配置的資源消耗冗余(Buffer)。資源畫像控制臺會為工作負載生成操作的提示,例如對資源請求提高或降低(即升配或降配)。若工作負載有多個容器,則會提示偏差幅度最大的容器,具體計算原理如下。
畫像值(Recommend)大于原始資源請求量(Request):表示容器長期處于資源超用狀態(tài)(使用量大于申請量),存在穩(wěn)定性風險,應及時提高資源規(guī)格,控制臺提示“建議升配”。
畫像值(Recommend)小于原始資源請求量(Request):表示容器可能有一定程度的資源浪費,可以降低資源規(guī)格,需要結合畫像配置的資源消耗冗余進行判斷,詳情如下:
根據(jù)畫像值和配置的資源消耗冗余,計算目標資源規(guī)格(Target):
Target = Recommend * (1 + Buffer)
計算目標資源規(guī)格(Target)與原始資源請求量(Request)的偏離程度(Degree):
Degree = 1 - Request / Target
根據(jù)畫像值以及偏離程度(Degree)的水位,生成CPU和內(nèi)存建議的提示操作,若偏離程度(Degree)的絕對值大于0.1,則提示建議降配信息
針對其他情況,資源畫像為應用資源規(guī)格建議的提示為保持,表示可以暫時不調(diào)整。
步驟四:查看應用畫像詳情
在資源畫像頁面,單擊工作負載名稱,進入對應的畫像詳情頁面。
詳情頁包括三部分功能:工作負載基本信息、各容器的畫像詳情資源曲線、針對應用進行資源規(guī)格變更窗口。
如上圖所示,以CPU為例,畫像詳情資源曲線中各項指標的含義如下。
曲線名稱 | 含義 |
cpu limit | 容器的CPU資源限制值。 |
cpu request | 容器的CPU資源請求值。 |
cpu recommend | 容器的CPU資源畫像值。 |
cpu usage(average) | 對應工作負載內(nèi),各容器副本CPU使用量的平均值。 |
cpu usage(max) | 對應工作負載內(nèi),各容器副本CPU使用量的最大值。 |
步驟五:變更應用資源規(guī)格
在應用畫像詳情頁面底部的資源變配區(qū)域,根據(jù)畫像生成的畫像值修改各容器的資源規(guī)格。
各列含義如下:
配置項
含義
當前所需資源
容器當前填寫的資源請求量(Request)。
當前限制資源
容器當前填寫的資源限制量(Limit)。
畫像值
資源畫像為容器生成的畫像值,可作為資源請求量(Request)的參考值。
安全冗余
資源畫像策略管理中配置的安全冗余,可作為目標所需資源的參考值,例如在畫像值的基礎上累加冗余系數(shù)(如上圖4.28 * 1.3 = 5.6)。
目標所需資源
容器資源請求量(Request)計劃調(diào)整的目標值。
目標限制資源
容器資源限制量(Limit)計劃調(diào)整的目標值。注意,若工作負載使用了CPU拓撲感知調(diào)度,CPU資源的限制需要配置為整數(shù)。
配置完成后,單擊提交,將執(zhí)行資源規(guī)格更新操作并自動跳轉(zhuǎn)到工作負載詳情頁。
資源規(guī)格更新后,控制器會對工作負載進行滾動更新并重新創(chuàng)建Pod。
通過命令行使用資源畫像
步驟一:啟用資源畫像
使用以下YAML內(nèi)容,創(chuàng)建
recommendation-profile.yaml
文件,開啟工作負載的資源規(guī)格畫像。創(chuàng)建RecommendationProfile CRD,可以開啟工作負載的資源畫像,并獲取容器的資源規(guī)格畫像數(shù)據(jù)。RecommendationProfile CRD支持通過命名空間(Namespace)以及工作負載類型控制開啟范圍,開啟范圍為二者的交集。
apiVersion: autoscaling.alibabacloud.com/v1alpha1 kind: RecommendationProfile metadata: # 對象名稱,nonNamespaced類型不需指定命名空間。 name: profile-demo spec: # 開啟資源畫像的工作負載類型。 controllerKind: - Deployment # 開啟資源畫像的命名空間范圍。 enabledNamespaces: - default
各項配置字段含義如下:
參數(shù)
類型
說明
metadata.name
String
對象的名稱。若RecommendationProfile為nonNamespaced類型,則無需指定命名空間。
spec.controllerKind
String
開啟資源畫像的工作負載類型。支持的工作負載類型包括Deployment 、StatefulSet和DaemonSet。
spec.enabledNamespaces
String
開啟資源畫像的命名空間范圍。
執(zhí)行以下命令,為目標應用開啟資源畫像。
kubectl apply -f recommender-profile.yaml
使用以下YAML內(nèi)容,創(chuàng)建
cpu-load-gen.yaml
文件。apiVersion: apps/v1 kind: Deployment metadata: name: cpu-load-gen labels: app: cpu-load-gen spec: replicas: 2 selector: matchLabels: app: cpu-load-gen-selector template: metadata: labels: app: cpu-load-gen-selector spec: containers: - name: cpu-load-gen image: registry.cn-zhangjiakou.aliyuncs.com/acs/slo-test-cpu-load-gen:v0.1 command: ["cpu_load_gen.sh"] imagePullPolicy: Always resources: requests: cpu: 8 # 該應用的CPU請求資源為8核。 memory: "1Gi" limits: cpu: 12 memory: "2Gi"
執(zhí)行以下命令,通過安裝cpu-load-gen.yaml部署cpu-load-gen應用。
kubectl apply -f cpu-load-gen.yaml
執(zhí)行以下命令,獲取資源規(guī)格畫像結果。
kubectl get recommendations -l \ "alpha.alibabacloud.com/recommendation-workload-apiVersion=apps-v1, \ alpha.alibabacloud.com/recommendation-workload-kind=Deployment, \ alpha.alibabacloud.com/recommendation-workload-name=cpu-load-gen" -o yaml
說明為了確保畫像結果的準確性,建議您最少等待1天以上,以便累積充足的數(shù)據(jù)。
ack-koordinator為每個開啟資源畫像的工作負載生成對應的資源規(guī)格畫像,并將結果保存在Recommendation CRD中。名為
cpu-load-gen.yaml
的工作負載資源規(guī)格畫像結果示例如下。apiVersion: autoscaling.alibabacloud.com/v1alpha1 kind: Recommendation metadata: labels: alpha.alibabacloud.com/recommendation-workload-apiVersion: app-v1 alpha.alibabacloud.com/recommendation-workload-kind: Deployment alpha.alibabacloud.com/recommendation-workload-name: cpu-load-gen name: f20ac0b3-dc7f-4f47-b3d9-bd91f906**** namespace: recommender-demo spec: workloadRef: apiVersion: apps/v1 kind: Deployment name: cpu-load-gen status: recommendResources: containerRecommendations: - containerName: cpu-load-gen target: cpu: 4742m memory: 262144k originalTarget: # 表示資源畫像算法的中間結果,不建議直接使用。 # ...
為了便于檢索,Recommendation和工作負載的Namespace一致,同時在Label中保存了工作負載的API Version、類型以及名稱,格式如下表所示。
Label Key
說明
示例
alpha.alibabacloud.com/recommendation-workload-apiVersion
工作負載的API Version,由Kubernetes的Label規(guī)范約束,正斜線(/)將被替換為短劃線(-)。
app-v1(替換前為app/v1)
alpha.alibabacloud.com/recommendation-workload-kind
對應的工作負載類型,例如Deployment、StatefulSet等。
Deployment
alpha.alibabacloud.com/recommendation-workload-name
工作負載名稱,由Kubernetes的Label規(guī)范約束,長度不能超過63個字符。
cpu-load-gen
各容器的資源規(guī)格畫像結果保存在
status.recommendResources.containerRecommendations
中,各字段含義如下表所示。字段名稱
含義
格式
示例
containerName
表示容器名稱。
string
cpu-load-gen
target
表示資源規(guī)格畫像結果,包括CPU和Memory兩個維度。
map[ResourceName]resource.Quantity
cpu: 4742mmemory: 262144k
originalTarget
表示資源規(guī)格畫像算法的中間結果,不建議直接使用。若您有特殊需求,請提交工單。
-
-
說明單個Pod畫像的CPU最小值為0.025核,內(nèi)存的最小值為250 MB。
通過對比目標應用(
cpu-load-gen.yaml
)中聲明的資源規(guī)格和本步驟畫像檢測結果,以CPU為例,可以發(fā)現(xiàn)該容器的Request申請過大。您可以通過調(diào)小Request來節(jié)省集群資源容量。類別
原始資源規(guī)格
資源畫像規(guī)格
CPU
8核
4.742核
步驟二:(可選)通過Prometheus查看結果
ack-koordinator組件為資源畫像結果提供了Prometheus查詢接口,您可以通過ACK提供的Prometheus監(jiān)控直接查看。
如果您首次使用該功能的大盤,請確保資源畫像大盤已經(jīng)升級到最新版本。關于升級的具體操作,請參見相關操作。
通過ACK控制臺Prometheus監(jiān)控查看資源畫像結果的具體操作如下:
登錄容器服務管理控制臺,在左側導航欄選擇集群。
在集群列表頁面,單擊目標集群名稱,然后在左側導航欄,選擇 。
在Prometheus監(jiān)控頁面,選擇
。在資源畫像頁簽,查看詳細數(shù)據(jù),包括容器的規(guī)格(Request)、容器實際的資源使用量(Usage)以及容器的資源規(guī)格畫像值(Recommend)。更多信息,請參見使用阿里云Prometheus監(jiān)控。
如果您自建了Prometheus監(jiān)控,請參考以下監(jiān)控項來配置大盤。
# 指定工作負載中容器的CPU資源規(guī)格畫像。 koord_manager_recommender_recommendation_workload_target{exported_namespace="$namespace", workload_name="$workload", container_name="$container", resource="cpu"} # 指定工作負載中容器的Memory資源規(guī)格畫像。 koord_manager_recommender_recommendation_workload_target{exported_namespace="$namespace", workload_name="$workload", container_name="$container", resource="memory"}
重要ack-koordinator組件提供的資源畫像監(jiān)控指標已于v1.5.0-ack1.14版本中更名為
koord_manager_recommender_recommendation_workload_target
,但同時對于更早版本中提供的資源畫像監(jiān)控指標slo_manager_recommender_recommendation_workload_target
也仍然兼容。如果您自建了Prometheus監(jiān)控,建議您在升級ack-koordinator組件至v1.5.0-ack1.14版本后將監(jiān)控指標切換至koord_manager_recommender_recommendation_workload_target
。
FAQ
資源畫像的算法原理是什么?
資源畫像算法涉及一套多維度的數(shù)據(jù)模型,算法原理可以總結為以下幾點:
資源畫像算法會持續(xù)不斷地收集容器的資源使用數(shù)據(jù),取CPU和內(nèi)存的聚合統(tǒng)計值生產(chǎn)畫像結果。
針對時間這一因素進行了優(yōu)化,在聚合統(tǒng)計時,較新的數(shù)據(jù)采樣點會擁有更高的權重。
算法參考了容器出現(xiàn)OOM等運行狀態(tài)信息,可以進一步提高畫像值的準確性。
更多信息,請參見資源畫像技術原理介紹、資源畫像原理介紹及使用建議。
資源畫像對應用的類型有什么要求?
適合于在線服務類應用使用。
目前資源畫像的結果優(yōu)先考慮滿足容器的資源需求,確保可以覆蓋絕大部分數(shù)據(jù)樣本。不過對于離線應用來說,這種批處理類型的任務更加關注整體的吞吐,可以接受一定程度的資源競爭,以提高集群資源的整體利用率,畫像結果對于離線應用來說會顯得有些保守。此外,對于關鍵的系統(tǒng)組件,通常以“主備”的形式部署多個副本,處于“備份”角色的副本長期處于閑置狀態(tài),這些副本的資源用量樣本也會對畫像算法產(chǎn)生一定程度的干擾。針對以上場景,請對畫像結果按需加工后再使用,后續(xù)您可持續(xù)關注資源畫像的產(chǎn)品動態(tài)。
是否可以直接使用畫像值來設置容器的Request和Limit?
需要結合業(yè)務自身特點來判斷,資源畫像提供的結果是對應用當前資源需求情況的總結,管理員應結合應用自身特性,在畫像值的基礎之上加工后使用,例如考慮留有一定的容量來應對流量高峰,或是做“同城雙活”的無縫切換,都需要留有一定數(shù)量的資源冗余;或者應用對資源較為敏感,無法在宿主機負載較高時平穩(wěn)運行,也需要在畫像值的基礎上調(diào)高規(guī)格。
自建Prometheus如何查看資源畫像監(jiān)控指標?
資源畫像的相關監(jiān)控指標會在ack-koordinator組件的Koordinator Manager模塊以Promethus的格式提供HTTP接口。您可以執(zhí)行以下命令獲取Pod IP,并訪問查看指標數(shù)據(jù)。
# 執(zhí)行以下命令獲取Pod IP地址
$ kubectl get pod -A -o wide | grep koord-manager
# 預期輸出,具體以實際情況為準
kube-system ack-koord-manager-5479f85d5f-7xd5k 1/1 Running 0 19d 192.168.12.242 cn-beijing.192.168.xx.xxx <none> <none>
kube-system ack-koord-manager-5479f85d5f-ftblj 1/1 Running 0 19d 192.168.12.244 cn-beijing.192.168.xx.xxx <none> <none>
# 執(zhí)行以下命令查看指標數(shù)據(jù)(注意Koordinator Manager是雙副本主備模式,數(shù)據(jù)只會在主副本Pod中提供)
# 其中IP地址和端口請參考Koordinator Manager模塊對應的Deployment配置
# 訪問前請確保當前執(zhí)行命令的宿主機能與集群的容器網(wǎng)絡互通。
$ curl -s http://192.168.12.244:9326/metrics | grep slo_manager_recommender_recommendation_workload_target
# 預期輸出(具體以實際情況為準)
# HELP slo_manager_recommender_recommendation_workload_target Recommendation of workload resource request.
# TYPE slo_manager_recommender_recommendation_workload_target gauge
slo_manager_recommender_recommendation_workload_target{container_name="xxx",namespace="xxx",recommendation_name="xxx",resource="cpu",workload_api_version="apps/v1",workload_kind="Deployment",workload_name="xxx"} 2.406
slo_manager_recommender_recommendation_workload_target{container_name="xxx",namespace="xxx",recommendation_name="xxx",resource="memory",workload_api_version="apps/v1",workload_kind="Deployment",workload_name="xxx"} 3.861631195e+09
ack-koordinator組件安裝后,會自動創(chuàng)建Service和Service Monitor對象,關聯(lián)對應的Pod。如果您正在使用阿里云Promethus,那么這些指標會被自動采集,并展示在對應的Grafana大盤上。
由于Prometheus有多種采集方式,如果您使用的是自建Prometheus,請自行參見Prometheus官方文檔進行配置,并在配置過程中參考以上過程進行調(diào)試。調(diào)試完成后,您可參見步驟二:(可選)通過Prometheus查看結果,在環(huán)境中配置對應的Grafana監(jiān)控大盤。
如何清理資源畫像結果和規(guī)則?
資源畫像結果和規(guī)則分別保存在Recommendation和RecommendationProfile兩個CRD中,執(zhí)行以下命令刪除所有資源畫像結果和規(guī)則。
# 刪除所有資源畫像結果。
kubectl delete recommendation -A --all
# 刪除所有資源畫像規(guī)則。
kubectl delete recommendationprofile -A --all
如何為子賬號使用資源畫像進行授權?
ACK的授權體系包含對基礎資源層的RAM授權和對ACK集群層的RBAC(Role-Based Access Control)授權兩部分,有關ACK的授權體系介紹,請參見授權最佳實踐。若您希望為某一子賬號授權使用集群的資源畫像功能,推薦您參考以下最佳實踐進行授權:
RAM授權
您可以使用主賬號登錄RAM管理控制臺,為該子賬號授予系統(tǒng)內(nèi)置的AliyunCSFullAccess權限。具體操作,請參見RAM系統(tǒng)策略授權。
RBAC授權
完成RAM授權后,您還需要為該子賬號授予目標集群中開發(fā)人員或以上的RBAC權限。具體操作,請參見為RAM用戶或RAM角色授予RBAC權限。
系統(tǒng)預置的開發(fā)人員或以上的RBAC權限擁有對集群中所有Kubernetes資源的讀寫權限。若您希望對子賬號授予更精細化的權限,可以參考自定義Kubernetes授權策略創(chuàng)建或編輯自定義ClusterRole實例。資源畫像功能需要為ClusterRole添加如下內(nèi)容:
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: recommendation-clusterrole
- apiGroups:
- autoscaling.alibabacloud.com
resources:
- '*'
verbs:
- '*'