● 集群v1.15及以上版本支持变更集群规格。
● 集群v1.15.11开始支持变更到2000节点,单控制节点不允许变更到1000节点及以 上。
● 变更集群规格目前只支持扩容到更大规格,不支持降低集群规格。
● 集群变更规格不支持回退,一旦变更失败将会上报告警。
● 集群规格变更不会影响集群中已运行业务,但变更过程中管理面(Master节点)
会有短暂中断,建议变更期间停止其他操作(如创建工作负载等)。
操作步骤
步骤1 登录CCE控制台,在左侧导航栏中选择“资源管理 > 集群管理”。
步骤2 在集群卡片中,单击“更多 > 变更规格”。
步骤3 在弹出的页面,在“集群管理规模” 后根据实际需求选择集群管理规模。
步骤4 单击“提交”。
您可以单击“返回集群管理”,在左上角单击“操作记录”,可查看集群变更记录。
状态从“进行中”变为“成功”,表示集群规格变更成功。
步骤5 (可选)如果集群规格变更失败,您可继续单击“更多 > 变更规格”重试,变更集群 规格。
----结束
3.12 集群管理权限控制
操作场景
若需要对集群中的资源进行权限控制,(例如A用户只能对某个命名空间下的应用有读 写权限,B用户只能对集群下的资源有读权限等),请参照本章节操作。
操作步骤
步骤1 若需要对集群进行权限控制,请在创建集群时的“认证方式”参数后勾选“认证能力 增强”,分别上传自己的CA根证书、客户端证书和客户端证书私钥(证书制作方法可 参考Certificates),并勾选“我已确认上传的证书合法”。详细请参见表3-8。
注意
● 请上传小于1MB的文件,CA根证书和客户端证书上传格式支持.crt或.cer格式,客 户端证书私钥仅支持上传未加密的证书私钥。
● 客户端证书有效期需要5年以上。
● 上传的CA根证书既给认证代理使用,也用于配置kube-apiserver聚合层,如不合 法,集群将无法成功创建。
步骤2 通过kubectl创建角色。
下面的例子展示了如何创建“Role”R:允许该角色读取default空间下的所有Pod。参 数详细解释请参见Kubernetes官方文档。
kind: Role
apiVersion: rbac.authorization.k8s.io/v1 metadata:
namespace: default name: pod-reader rules:
- apiGroups: [""]
resources: ["pods"]
verbs: ["get", "watch", "list"]
步骤3 通过kubectl创建角色绑定。
下面的例子给出RoleBindings赋予default命名空间下的pod-reader的角色给用户 jane。该策略允许用户jane可以读取default命名空间下的所有pods。参数详细解释请 参见Kubernetes官方文档。
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1 metadata:
name: read-pods namespace: default subjects:
- kind: User
name: jane #用户名
apiGroup: rbac.authorization.k8s.io roleRef:
kind: Role
name: pod-reader #创建的角色名 apiGroup: rbac.authorization.k8s.io
步骤4 创建角色并与用户绑定成功后,请在接口请求的headers中携带用户信息以及集群创建 时上传的证书访问kubernetes接口。例如调取查询pod的接口时,执行命令如下:
curl -k -H "X-Remote-User:
jane
" cacert /root/tls-ca.crt key /root/tls.key --cert /root/tls.crt https://192.168.23.5:5443/api/v1/namespaces/default/pods 返回200表示访问成功,返回403表示没有权限访问。说明
为避免命令执行失败,请提前把证书上传到/root目录下。
参数解释如下:
● X-Remote-User: jane:请求头固定为X-Remote-User,jane为用户名。
● tls-ca.crt :创建集群时上传的CA根证书。
● tls.crt:与集群创建时所上传的CA根证书配套的客户端证书。
● tls.key:与集群创建时所上传的CA根证书配套的客户端密钥。
● 192.168.23.5:5443:为连接集群的地址,获取方式如下:
登录CCE控制台,在左侧导航栏中选择“资源管理 > 集群管理”,单击待连接集 群的名称,在集群基本信息中获取“内网apiserver地址”后的IP地址和端口号。
图3-50 获取访问地址
说明
– CCE支持华为云帐号和IAM用户分别下载config文件(kubeconfig.json),IAM用户下 载的config文件只有30天的有效期,而华为云帐号下载的config文件会长期有效。该文 件用于对接认证用户集群,请用户妥善保存该认证凭据,防止文件泄露后,集群有被攻 击的风险。如果不幸泄露,可以通过证书更新的方式,替换认证凭据。
– IAM用户下载的config文件所拥有的Kubernetes权限与CCE控制台上IAM用户所拥有的 权限一致。
● 节点可分配容器IP数(alpha.cce/fixPoolMask):在创建CCE集群时配置,仅网络 模型为“VPC网络”需要配置。
● 节点最大实例数(maxPods):在创建节点时配置,是kubelet的配置项。
● CCE Turbo集群节点网卡数量:CCE Turbo集群ECS节点使用弹性辅助网卡,裸金 属节点使用弹性网卡,节点可以创建最大Pod数量与节点可使用网卡数量相关。
节点上最多能创建多少个Pod,取决于这几个参数的最小值。
● 对于“容器隧道网络”的集群,仅取决于节点最大实例数。
● 对于“VPC网络”的集群,取决于节点最大实例数和节点可分配容器IP数的最小 值,即 min(节点最大实例数, 节点可分配容器IP数)。
● 对于“云原生2.0网络”的集群(CCE Turbo集群),取决于节点最大实例数和节 点可使用网卡数量。