为容器服务中的MSE Ingress Controller授权
通过MSE Ingress访问容器服务,您需要为MSE Ingress Controller赋予相关权限。本文介绍如何为ACK和ACK Serverless集群中的MSE Ingress Controller组件授权。
为ACK集群中的MSE Ingress Controller授权
此操作仅适用于专有版或者托管版的ACK集群,且集群版本为1.16.0及以上。
步骤一:创建ACK集群
已创建Kubernetes集群。具体操作,请参见创建Kubernetes专有版集群或者创建Kubernetes托管版集群。
步骤二:为ACK集群安装MSE Ingress Controller组件
- 登录容器服务控制台。
- 在左侧导航栏,单击集群,然后单击目标集群名称。
- 在左侧导航栏,选择 。
- 在组件管理页面,单击网络页签,然后在MSE Ingress Controller组件的右下角,单击安装。
步骤三:为MSE Ingress Controller组件授权
- 登录容器服务控制台。
- 在左侧导航栏,单击集群,然后单击目标集群名称。
- 在集群信息页面,单击集群资源页签,然后单击Worker RAM角色右侧的链接。
在RAM控制台,为该角色添加AliyunMSEFullAccess权限。
在角色页面的权限管理页签,单击新增授权。
在新增授权页面的选择权限区域,选择系统策略页签,然后在输入栏输入权限策略名称进行模糊搜索。
例如,输入mse可以搜索到AliyunMSEFullAccess。
单击权限策略名称AliyunMSEFullAccess,然后单击确定完成添加权限。
您可以在下图所示的位置查看是否已为该角色成功添加AliyunMSEFullAccess权限。
在目标集群的命名空间mse-ingress-controller中搜索到ack-mse-ingress-controller应用,单击操作列下方的更多,选择重新部署,然后单击确定。
重新部署完成后,单击ack-mse-ingress-controller应用,确认重建后的Pod处于Running状态。
(可选)步骤四:创建SLS权限策略并为集群授予SLS相关权限
如果您希望通过MseIngressConfig为MSE云原生网关开启SLS日志投递服务,那么您需要为集群资源的Worker RAM角色额外授予SLS相关权限。
使用阿里云账号登录RAM控制台。
在左侧导航栏,选择 。
在权限策略页面,单击创建权限策略。
在创建权限策略页面,单击脚本编辑页签,输入如下权限策略内容,然后单击继续编辑基本信息。
{ "Version": "1", "Statement": [ { "Action": [ "log:CloseProductDataCollection", "log:OpenProductDataCollection", "log:GetProductDataCollection" ], "Resource": [ "acs:mse:*:*:instance/*", "acs:log:*:*:project/*/logstore/mse_*" ], "Effect": "Allow" }, { "Action": "ram:PassRole", "Resource": "acs:ram::*:role/aliyunserviceroleforslsaudit", "Effect": "Allow" }, { "Action": "ram:CreateServiceLinkedRole", "Resource": "*", "Effect": "Allow", "Condition": { "StringEquals": { "ram:ServiceName": "audit.log.aliyuncs.com" } } } ] }
输入权限策略名称和备注。
检查并优化权限策略内容。
基础权限策略优化
系统会对您添加的权限策略语句自动进行基础优化。基础权限策略优化会完成以下任务:
删除不必要的条件。
删除不必要的数组。
可选:高级权限策略优化
您可以将鼠标悬浮在可选:高级策略优化上,单击执行,对权限策略内容进行高级优化。高级权限策略优化功能会完成以下任务:
拆分不兼容操作的资源或条件。
收缩资源到更小范围。
去重或合并语句。
单击确定。
为集群资源的Worker RAM角色授予SLS相关权限。
登录容器服务管理控制台。
在左侧导航栏,单击集群,然后单击目标集群名称。
在集群信息页面,单击集群资源页签,然后单击Worker RAM角色右侧的链接。
在RAM控制台,为该角色添加SLS相关权限。
为ACK Serverless集群中的MSE Ingress Controller授权
此操作仅适用于1.16.0及以上版本的ACK Serverless集群。
步骤一:创建ACK Serverless集群
创建Kubernetes集群。具体操作,请参见创建ACK Serverless集群。
步骤二:为ACK Serverless集群安装MSE Ingress Controller组件
- 登录容器服务控制台。
- 在左侧导航栏,单击集群,然后单击目标集群名称。
- 在左侧导航栏,选择 。
- 在组件管理页面,单击网络页签,然后在MSE Ingress Controller组件的右下角,单击安装。
步骤三:为MSE Ingress Controller组件授权
登录云资源访问授权页面,单击同意授权。
成功授权后,ECI拥有对您AliyunMSEForECIRole的访问权限。
在目标集群的命名空间mse-ingress-controller下搜索ack-mse-ingress-controller应用,然后单击操作列下方的更多,选择重新部署,然后单击确定。
重新部署完成后,单击ack-mse-ingress-controller应用,确认重建后的Pod处于Running状态。
后续操作
关于如何在容器服务集群中通过MSE Ingress访问服务,请参见通过MSE Ingress访问容器服务。