通过MSE Ingress访问容器服务,您需要为MSE Ingress Controller赋予相关权限。本文介绍如何为ACK和ASK集群中的MSE Ingress Controller组件授权。

为ACK集群中的MSE Ingress Controller授权

重要 此操作仅适用于专有版或者托管版的ACK集群,且集群版本为1.16.0及以上。

步骤一:创建ACK集群

已创建Kubernetes集群。具体操作,请参见创建Kubernetes专有版集群或者创建Kubernetes托管版集群

步骤二:为ACK集群安装MSE Ingress Controller组件

  1. 登录容器服务控制台
  2. 在左侧导航栏,单击集群,然后单击目标集群名称。
  3. 在左侧导航栏,选择运维管理 > 组件管理
  4. 组件管理页面,单击网络页签,然后在MSE Ingress Controller组件的右下角,单击安装

步骤三:为MSE Ingress Controller组件授权

  1. 登录容器服务控制台
  2. 在左侧导航栏,单击集群,然后单击目标集群名称。
  3. 在集群信息页面,单击集群资源页签,然后单击Worker RAM角色右侧的链接。
  4. 在RAM控制台,为该角色添加AliyunMSEFullAccess权限。
    1. 角色页面的权限管理页签,单击新增授权
    2. 新增授权页面的选择权限区域,选择系统策略页签,然后在输入栏输入权限策略名称进行模糊搜索。
      例如,输入mse可以搜索到AliyunMSEFullAccess添加权限
    3. 单击权限策略名称AliyunMSEFullAccess,然后单击确定完成添加权限。
    您可以在下图所示的位置查看是否已为该角色成功添加AliyunMSEFullAccess权限。授权成功
  5. 在目标集群的命名空间mse-ingress-controller中搜索到ack-mse-ingress-controller应用,单击操作列下方的更多,选择重新部署,然后单击确定
    重新部署
    重新部署完成后,单击ack-mse-ingress-controller应用,确认重建后的Pod处于Running状态。Running

(可选)步骤四:创建SLS权限策略并为集群授予SLS相关权限

如果您希望通过MseIngressConfig为MSE云原生网关开启SLS日志投递服务,那么您需要为集群资源的Worker RAM角色额外授予SLS相关权限。

  1. 使用阿里云账号登录RAM控制台
  2. 在左侧导航栏,选择权限管理 > 权限策略
  3. 权限策略页面,单击创建权限策略
  4. 创建权限策略页面,单击脚本编辑页签,输入如下权限策略内容,然后单击继续编辑基本信息
    {
        "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"
                    }
                }
            }
        ]
    }
  5. 输入权限策略名称备注
  6. 检查并优化权限策略内容。
    • 基础权限策略优化

      系统会对您添加的权限策略语句自动进行基础优化。基础权限策略优化会完成以下任务:

      • 删除不必要的条件。
      • 删除不必要的数组。
    • 可选:高级权限策略优化

      您可以将鼠标悬浮在可选:高级策略优化上,单击执行,对权限策略内容进行高级优化。高级权限策略优化功能会完成以下任务:

      • 拆分不兼容操作的资源或条件。
      • 收缩资源到更小范围。
      • 去重或合并语句。
  7. 单击确定
  8. 为集群资源的Worker RAM角色授予SLS相关权限。
    1. 登录容器服务管理控制台
    2. 在左侧导航栏,单击集群,然后单击目标集群名称。
    3. 在集群信息页面,单击集群资源页签,然后单击Worker RAM角色右侧的链接。
    4. 在RAM控制台,为该角色添加SLS相关权限。
      1. 角色页面的权限管理页签,单击新增授权
      2. 新增授权页面的选择权限区域,选择自定义策略页签,然后在文本框输入权限策略名称进行模糊搜索。
        说明 SLS的权限策略名称为您在步骤5自定义的名称。
        SLS授权
      3. 单击目标权限策略名称,然后单击确定完成授权。

为ASK集群中的MSE Ingress Controller授权

重要 此操作仅适用于1.16.0及以上版本的ASK集群。

步骤一:创建ASK集群

创建Kubernetes集群。具体操作,请参见创建ASK集群

步骤二:为ASK集群安装MSE Ingress Controller组件

  1. 登录容器服务控制台
  2. 在左侧导航栏,单击集群,然后单击目标集群名称。
  3. 在左侧导航栏,选择运维管理 > 组件管理
  4. 组件管理页面,单击网络页签,然后在MSE Ingress Controller组件的右下角,单击安装

步骤三:为MSE Ingress Controller组件授权

  1. 登录云资源访问授权页面,单击同意授权
    成功授权后,ECI拥有对您AliyunMSEForECIRole的访问权限。
  2. 在目标集群的命名空间mse-ingress-controller下搜索ack-mse-ingress-controller应用,然后单击操作列下方的更多,选择重新部署,然后单击确定
    重新部署
    重新部署完成后,单击ack-mse-ingress-controller应用,确认重建后的Pod处于Running状态。Running

后续操作

关于如何在容器服务集群中通过MSE Ingress访问服务,请参见通过MSE Ingress访问容器服务