本文介绍ACK专有版集群迁移至ACK集群Pro版后如何收敛集群节点Worker Role的权限。
前提条件
已将ACK专有版集群迁移至ACK集群Pro版。具体操作,请参见热迁移ACK专有版集群至ACK集群Pro版。
步骤一:确认需要保留在Worker Role中的最小权限
如果您集群中已安装了ACK选装组件节点自动伸缩autoscaler和免密插件aliyun-acr-credential-helper组件,则不能完全解除Worker Role中绑定的权限,需要按照如下最小化权限策略,重新创建并绑定组件对应的最小化权限。具体操作,请参见创建自定义权限策略。
节点自动伸缩autoscaler组件权限策略内容如下。更多信息,请参见节点自动伸缩。
{ "Version": "1", "Statement": [ { "Action": [ "ess:DescribeScalingGroups", "ess:DescribeScalingInstances", "ess:DescribeScalingActivities", "ess:DescribeScalingConfigurations", "ess:DescribeScalingRules", "ess:DescribeScheduledTasks", "ess:DescribeLifecycleHooks", "ess:DescribeNotificationConfigurations", "ess:DescribeNotificationTypes", "ess:DescribeRegions", "ess:CreateScalingRule", "ess:ModifyScalingGroup", "ess:RemoveInstances", "ess:ExecuteScalingRule", "ess:ModifyScalingRule", "ess:DeleteScalingRule", "ecs:DescribeInstanceTypes", "ess:DetachInstances", "ess:CompleteLifecycleAction", "ess:ScaleWithAdjustment", "vpc:DescribeVSwitches", "cs:DeleteClusterNodes", "cs:DescribeClusterNodes", "cs:DescribeClusterNodePools", "cs:DescribeClusterNodePoolDetail", "ecs:DescribeImages" ], "Resource": [ "*" ], "Effect": "Allow" } ] }
免密插件aliyun-acr-credential-helper组件权限策略内容如下。更多信息,请参见使用免密组件拉取容器镜像。
{ "Action": [ "cr:GetAuthorizationToken", "cr:ListInstanceEndpoint", "cr:PullRepository" ], "Resource": "*", "Effect": "Allow" }
如果您集群中部署的业务应用负载存在依赖Worker Role权限访问阿里云OpenAPI,请您根据业务应用中的调用逻辑保留最小化权限策略。对于迁移后版本在1.22及以上的ACK集群Pro版可选择通过RRSA配置ServiceAccount的RAM权限实现Pod权限隔离进一步收敛权限。
步骤二:解除原ACK专有版集群Worker Role中绑定的权限
登录容器服务管理控制台,在左侧导航栏选择集群。
在集群列表页面,单击目标集群名称。然后单击集群资源页签。单击Worker RAM角色右侧的链接进入RAM管理控制台。
可选:创建自定义权限策略并为Worker Role角色新增授权。具体操作,请参见创建自定义权限策略和为RAM角色授权。
如果确认有需要保留的Worker Role权限策略,则需要创建自定义权限策略并新增授权,如果没有需要保留的Worker Role权限策略,可跳过此步骤。
记录无需在Worker Role中保留的权限策略名称,在权限管理页面,在对应权限策略名称的右侧单击解除授权,然后在弹出的对话框中,单击解除授权。
重要请勿直接删除Worker Role,防止存在未发现的权限依赖组件。如误删除,可通过单击新增授权回滚权限绑定。
执行以下命令,确认集群系统组件是否正常工作。
kubectl get po -n kube-system
若各组件输出状态均为Running,说明集群系统组件已正常工作。
- 本页导读 (1)