-
添加权限 登录U
CS 控制台,在左侧导航栏中选择“权限管理”。 在右边下拉列表中选择要添加权限的集群。 单击右上角的“添加权限”按钮,进入添加权限页面。 在添加权限页面,确认集群名称,选择该集群要授权使用的命名空间,例如选择“全部命名空间”,选择要授权的用户或用户组,再选择具体权限。 用户/用户组:一个用户组中可以有多个用户,一个用户也可以加入多个用户组,用户拥有其所在用户组权限的合集。 命名空间:支持“全部命名空间”和其他命名空间。全部命名空间包括当前舰队已有的命名空间和舰队后续新增的命名空间,选择全部命名空间时,不能再选其他命名空间;其他命名空间即表示您自己选择命名空间的范围,UCS服务提供了几个常见的命名空间供您选择(如default、kube-system、kube-public),您也可以新增命名空间,但要自行确保新增的命名空间在集群中存在。 单击“确定”,完成为选择的集群添加权限。
-
注销集群 登录UCS控制台,在左侧导航栏中单击“容器舰队”。 选择“未加入舰队的集群”页签,在目标集群栏中单击右上角的按钮。 弹出“注销集群”对话框,仔细阅读注意事项,确认风险后单击“确定”。 (可选)对于附着集群来说,注销集群成功后,还需前往目标集群卸载代理组件。 kubectl -n kube-system delete deployments/proxy-agent secret/proxy-agent-cert (可选)对于本地集群来说,注销集群成功后,您可以手动执行卸载命令,在本地主机环境中删除集群,清理资源: ./ucs-ctl delete cluster [集群名称] 如果命令执行失败,请参考如何手动清理本地集群节点?处理。
-
获取资源权限 由于UCS服务的容器集群功能支持CCE集群,因此需要获取访问云容器引擎CCE服务的权限。在您首次登录UCS控制台时,UCS将自动请求获取该权限,从而更好地为您提供服务。 当您同意授权后,UCS将在
IAM 中创建名为ucs_admin_trust的委托,统一使用系统账户“op_svc_ucs”对您的CCE及其他云服务资源进行操作,并且授予其如表1所示的权限。关于资源委托详情,您可参考委托进行了解。 表1 权限列表 权限 描述 Tenant Guest 全部云服务只读权限(除IAM权限)系统角色 VPC FullAccess VPC服务系统策略所有执行权限 NAT FullAccess NAT网关服务系统策略所有执行权限 DNS FullAccess DNS服务系统策略所有执行权限 LTS FullAccess LTS服务系统策略所有执行权限
AOM FullAccess AOM服务的所有执行权限 VPCEndpoint Administrator VPCEP服务系统策略所有执行权限 该角色有依赖,需要在同项目中勾选依赖的角色:Server Administrator、VPC Administrator和DNS Administrator。 CCE Administrator 具有CCE集群及集群下所有资源(包含工作负载、服务等)的读写权限 该角色有依赖,需要同时又拥有以下权限: 全局服务:OBS Buckets Viewer。 区域级项目(在同项目中勾选):Tenant Guest、Server Administrator、ELB Administrator、SFS Administrator、SWR Admin、
APM FullAccess。 ELB Administrator ELB服务的所有执行权限 该角色有依赖,需要在同项目中勾选依赖的角色:Tenant Guest。 OBS Administrator OBS服务的管理员权限,拥有该服务的所有权限
CTS Administrator CTS服务的所有执行权限 拥有该权限的用户拥有除IAM外,其他所有服务的只读权限 该角色有依赖,需要在同项目中勾选依赖的角色:Tenant Guest、以及Tenant Administrator。 由于UCS对其他云服务有许多依赖,因此在使用UCS期间,请不要自行删除或者修改“ucs_admin_trust”委托,以避免因为某个服务权限不足而影响UCS功能的正常使用。如果误操作,可以参考误删除或修改系统创建的ucs_admin_trust委托,怎么恢复?进行恢复。
-
注销舰队中的集群 登录UCS控制台,在左侧导航栏中单击“容器舰队”。 在“容器舰队”页签下单击舰队名称,进入舰队详情页。 在左侧导航栏中选择“容器集群”,在目标集群栏中,单击右上角的按钮。 弹出“注销集群”对话框,仔细阅读注意事项,确认风险后单击“确定”。 (可选)对于附着集群来说,注销集群成功后,还需前往目标集群卸载代理组件。 kubectl -n kube-system delete deployments/proxy-agent secret/proxy-agent-cert (可选)对于本地集群来说,注销集群成功后,您可以手动执行卸载命令,在本地主机环境中删除集群,清理资源: ./ucs-ctl delete cluster [集群名称] 如果命令执行失败,请参考如何手动清理本地集群节点?处理。
-
添加权限 登录UCS控制台,在左侧导航栏中选择“权限管理”。 在右边下拉列表中选择要添加权限的集群/舰队。 单击右上角的“添加权限”按钮,进入添加权限页面。 在添加权限页面,确认集群/舰队名称,选择该集群/舰队要授权使用的命名空间,例如选择“全部命名空间”,选择要授权的用户或用户组,再选择具体权限。 用户/用户组:一个用户组中可以有多个用户,一个用户也可以加入多个用户组,用户拥有其所在用户组权限的合集。 命名空间:支持“全部命名空间”和其他命名空间。全部命名空间包括当前舰队已有的命名空间和舰队后续新增的命名空间,选择全部命名空间时,不能再选其他命名空间;其他命名空间即表示您自己选择命名空间的范围,UCS服务提供了几个常见的命名空间供您选择(如default、kube-system、kube-public),您也可以新增命名空间,但要自行确保新增的命名空间在集群中存在。 单击“确定”,完成为选择的集群/舰队添加权限。 图4 为舰队添加权限
-
创建舰队 登录UCS控制台,在左侧导航栏中选择“容器舰队”,在“容器舰队”页签下单击“创建容器舰队”。 填写舰队信息。 图1 创建容器舰队 舰队名称:自定义舰队的名称,需以小写字母开头,由小写字母、数字、中划线(-)组成,且不能以中划线(-)结尾。 添加集群:列表中显示当前未加入舰队的集群,可以在创建舰队时添加集群,也可以在舰队创建完成后添加。如不选择任何集群,则会创建一个空的舰队,完成创建后请参考添加集群。 描述:添加舰队的描述信息。 集群加入容器舰队后,将获得所选容器舰队的权限,失去原有权限。 单击“确定”,创建舰队。
-
添加集群 登录UCS控制台,在左侧导航栏中选择“容器舰队”。 在目标舰队栏中单击“添加集群”,或单击右上角的按钮。 您也可以单击舰队名称进入舰队详情页,在“容器集群”页面单击右上角“添加集群”。 图2 为舰队添加集群 勾选一个或多个已有集群。一个集群只能加入一个舰队,因此列表中显示的集群均为未加入舰队的集群。 图3 添加集群 仅可添加未加入容器舰队的集群,若想跨容器舰队添加集群,需先将集群从容器舰队内移出。 集群加入容器舰队后,集群关联的权限将被更新为容器舰队的权限,请谨慎操作。 如果该容器舰队开通了集群联邦,集群会自动接入集群联邦。关于集群联邦的介绍,请参见开通集群联邦章节。 CCE集群加入已开通联邦的舰队时,若集群所在region为当前region,将在集群所属VPC下创建VPCEP打通网络,非当前region则需要集群绑定公网地址; 若舰队已启用服务网格功能,则只能添加CCE 集群 单击“确定”,完成集群添加。
-
问题描述 使用kubectl创建工作负载后,再创建延迟生效(Lazy模式)的调度策略PropagationPolicy/ClusterPropagationPolicy,创建完成后工作负载资源由于延迟生效特性,未正常分发。 删除1中创建的延迟生效的调度策略,再重新创建立即生效的(not Lazy模式)的调度策略PropagationPolicy/ClusterPropagationPolicy,工作负载资源仍未按预期分发。
-
可能原因 先创建工作负载资源再创建延迟生效的调度策略,工作负载资源在创建后,会进入Karmada的等待队列,在配置延迟生效的调度策略后,该工作负载资源会从等待队列中移出,并且绑定该延迟生效的调度策略,但此时并不会生成ResourceBinding。由于Karmada当前的机制,在删除调度策略时,会先查询ResourceBinding,再去查询对应的工作负载资源,但此时由于ResourceBinding未生成,导致工作负载资源无法完全清理,资源无法进入等待队列。(即这种情况下删除延迟生效(Lazy模式)的调度策略清理不完全);再创建新的立即生效的调度策略时,工作负载资源不在等待队列中,因此无法立即匹配到立即生效的调度策略,需要延迟到工作负载资源发生变更时才能匹配新的调度策略并分发。
-
现象一:提示clusterrole、clusterrolebinding已存在 问题原因:一个集群不能同时加入两个或两个以上的联邦。有这个报错提示,说明当前集群已经添加到联邦中,或者曾经加入过联邦但是存在资源残留。 解决方案:手工清理残留资源。 操作步骤: 获取报错集群的kubeconfig配置文件,并准备kubectl及运行节点,将kubeconfig文件放在运行节点/tmp目录。 执行如下命令,清理残留资源。 alias kubectl='kubectl --kubeconfig=/tmp/kubeconfig' kubectl delete clusterrolebinding `kubectl get clusterrolebinding |grep karmada-controller-manager | awk '{print $1}'` kubectl delete clusterrole `kubectl get clusterrole |grep karmada-controller-manager | awk '{print $1}'` kubectl delete namespace `kubectl get namespace |egrep 'karmada-[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}' |awk '{print $1}'`
-
现象三:CCE集群已绑定EIP,集群加入联邦仍失败,报错:network in cluster is unstable, please retry it later 问题原因:联邦需要访问CCE集群的5443端口,但是CCE集群的控制面安全组入方向规则不允许120.46.145.12(源地址)访问CCE集群的5443端口。 解决方案:修改CCE控制面入方向安全组,允许120.46.145.12(源地址)访问CCE集群的5443端口。
-
现象四:显示已接入集群联邦,状态异常,报错:cluster is not reachable 请在对应的成员集群中执行以下命令,查询ServiceAccount是否存在。其中{cluster_name}请替换为集群名称。 kubectl get sa -A|grep karmada-{cluster_name}.clusterspace.{cluster_name} 若回显显示ServiceAccount不存在,请先将该成员集群移出舰队,再重新添加该集群至对应舰队。
-
请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 身份认证信息 表3 请求Body参数 参数 是否必选 参数类型 描述 projectID 是 String 项目id vpcID 是 String VPC id,必须属于上述项目 subnetID 是 String 子网id,必须属于上述vpc duration 是 Integer kubeconfg证书有效期,单位为天 最小值:1 最大值:10950
-
请求示例 创建联邦网络连接并下载联邦kubeconfig POST https://ucs.myhuaweicloud.com/v1/clustergroups/{clustergroupid}/cert
{
"projectID" : "08d44be1ef00d22e2f6fc0061f54a2f1",
"vpcID" : "11c9fe72-5a90-4295-bcfe-774726fb9066",
"subnetID" : "0de91d89-1e06-4e24-b371-35d5d3d3779b",
"duration" : 30
}
-
使用步骤 UCS最基础的入门操作包括创建容器舰队、添加集群、管理多集群生命周期,通过这三个步骤即可实现在跨云跨地域的多集群场景下轻松部署、管理和扩展容器化应用程序。 图1为UCS的入门使用流程,实际上针对不同集群类型和不同管理目的,在使用方式上有细微的差异,具体差异请参考对应使用方式的指导文档,本入门指导旨在帮助您对UCS产品入门操作进行初步认识。 图1 UCS入门流程 进行必要的准备工作,请参见步骤一:准备工作。 创建容器舰队,请参见步骤二:创建容器舰队。 为容器舰队添加集群,请参见步骤三:为容器舰队添加集群。 管理多集群生命周期,请参见步骤四:管理多集群生命周期。