管理集群
您可参考本文内容,更新集群令牌、超售比、设置地域、使用 kubectl 工具管理集群或删除不再在平台中使用的集群。
更新接入集群的令牌
您接入平台的集群,如果出现以下情况,可能会影响您正常使用集群,建议您更新集群的令牌:
-
集群的令牌已过期;
-
集群的令牌被泄露,存在安全隐患。
说明:不支持更新自建集群的令牌。
前提条件
您已经为待更新令牌的集群生成了新的令牌,如需帮助,请联系我们的运维工程师获得支持。
操作步骤
-
在左侧导航栏中,单击 集群管理 > 集群。
-
单击待更新令牌的接入集群的 集群名称。
-
单击基本信息区域右上角的
> 更新令牌。
-
输入新的令牌。
-
单击 更新。
更新超售比
管理员参考当前集群中 CPU、内存的资源需求,设置集群超售比,帮助管理员将用户设置的容器 CPU、内存的限制值(limit)和请求值(request),限制在合理范围之内,提高计算资源利用率。
-
超售比:限制值与请求值的比值(limits/requests)。
-
限制值(limits):容器运行时可以使用的最大资源量,容器运行过程中,资源占用量不可超过该值。
-
请求值(requests):容器创建时请求占用的资源量。Kubernetes 进行容器调度时,将根据该值进行判断,会把容器调度到资源可用量满足容器请求值的节点上运行;如果没有满足要求的节点(例如:当请求值大于可调度的节点上的资源可用量时),容器将无法正常启动。
注意:
-
集群的 CPU、内存超售比均默认为无。
-
您可以在集群层面设置统一的超售比,集群中的命名空间默认使用该超售比。您也可以为集群中不同的命名空间单独设置不同的超售比,或不设置某个命名空间的超售比。创建应用时,将以所在命名空间设置的超售比为准。
-
开启集群的超售比后,创建应用时,容器的请求值固定为 指定的限制值/集群超售比(或 指定的限制值/命名空间超售比),用户通过 YAML 设定 request 无效。如果未指定限制值,限制值为所在命名空间的容器限额中,设置的 默认值。
例如:以 CPU 资源为例,假定设置集群的 CPU 资源超售比为 4,命名空间超售比采用默认值,用户创建应用时,指定了 CPU 限制值为 4c,则 CPU 请求值为 4c/4 = 1c;假定此时更新命名空间的 CPU 超售比为 2,则应用的 CPU 请求值为 4c/2 = 2c。 -
在开启超售比的集群中,如果更新了超售比数值,不影响已创建自定义应用下正在运行的容器的请求值;Pod 重建后,会根据最新的超售比来重新计算容器的请求值。
-
开启节点虚拟化的集群,如需配置虚拟机超售比,则需要先关闭集群或命名空间的超售比。
前提条件
-
接入平台的集群,需要联系平台管理员为集群安装相关组件才可更新超售比。在平台中创建的集群默认支持更新超售比。
-
集群状态正常。
操作步骤
-
在左侧导航栏中,单击 集群管理 > 集群。
-
单击待更新超售比 集群名称。
-
单击基本信息区域右上角的 更新超售比。
-
设置 CPU、内存资源的集群超售比,仅支持输入大于 1 的正整数。
集群默认无超售比,开关状态如
;单击打开超售比开关后状态如
,则代表可设置超售比。
-
单击 更新。
设置地域
在集群和所属节点上设置地域,可为业务流量配置跨域负载的策略,用户可基于自身数据中心的规划,进行地域的规划及管理。
前提条件
您已添加地域,具体操作请参考 添加地域 。
注意事项
-
global 集群不支持设置地域。
-
若集群已设置了地域,集群和所属节点的地域无法再次调整。
操作步骤
-
在左侧导航栏中,单击 集群管理 > 集群。
-
单击基本信息区域右上角的 集群名称。
-
单击 设置地域。
-
选择 所属地域。
-
单击 设置。
提示:为集群设置地域后,其下所属节点将同步添加
topology.kubernetes.io/region
:<region>
标签,节点上已存的标签值将会被覆盖。
打开 Kubectl 工具
kubectl 是用于管理 Kubernetes 集群的命令行工具。kubectl 是 Kubernetes API 的客户端,Kubernetes API 是一个 HTTP REST API,是真正的 Kubernetes 用户界面,Kubernetes 完全受这个 API 控制,这意味着每个 Kubernetes 操作都作为 API 端点暴露,并且可以由对此端点的 HTTP 请求执行,因此,kubectl 的主要工作是执行对 Kubernetes API 的 HTTP 请求,对集群进行管理,或在集群上安装部署容器化自定义应用。
-
如需了解更多 Kubectl 相关内容,请参考 Overview of kubectl 。
-
Kubectl 常用命令及说明,请参考 Kubectl 通用语法说明 。
-
在集群上运行、管理计算组件的基本命令参见 kubectl-commands (右键单击该链接,选择
链接存储为…
)。
操作步骤
-
在左侧导航栏中单击 集群管理 > 集群。
-
单击待打开 Kubectl 工具的集群右侧的
> Kubectl 工具。
-
在 Kubectl 工具界面,输入符合 Kubectl 语法的命令行即可执行相关管理操作。
下载 kubeconfig 文件
Kubeconfig 文件是一个配置文件,是用于配置集群访问文件的统称,它存储了客户端与 Kubernetes 集群之间的连接信息,并且包含集群地址、认证信息、上下文信息等。可参考 Kubernetes 官网文档 配置对多集群的访问 快速使用Kubeconfig 文件。
使用 kubeconfig 文件,可以方便地管理不同的 Kubernetes 集群和用户身份,并在本地客户端与集群进行交互,平台支持自建集群和接入集群下载 kubeconfig 文件,以满足用户不同的应用场景。
操作步骤
-
在左侧导航栏中,单击 集群管理 > 集群。
-
单击 集群名称。
-
单击 操作 > 下载 kubeconfig 文件,稍等片刻后,文件将由浏览器下载至本机。
说明:
-
平台下载的 kubeconfig 文件时效默认为 10 年。
-
您每次下载的 kubeconfig 文件都有所不同,若需要使在此之前下载的 kubeconfig 文件都失效,您可以执行以下命令:
提示:更新后,在此之前下载的所有 kubeconfig 文件将失效。
kubectl delete sa -n cpaas-system kubeconfig
-
若您需要使用 kubeconfig 文件实现更加严格的权限管理,例如某用户的角色仅支持查看 Kubernetes 资源,希望将 kubeconfig 包含权限与该用户权限相同,可参考如下步骤配置 :
-
在顶部导航栏右侧单击账号信息后单击 个人信息。
-
单击 添加 API 令牌,输入描述信息并调整有效期,单击 添加 并复制 API 令牌。
-
使用在集群页面下载的 kubeconfig 文件或手动生成的 kubeconfig 文件作为模板,将 users 字段中的 token 值替换为已保存的 API 令牌,并修改其他参数,例如集群 server 地址,以下为 kubeconfig 文件示例:
-
kubeconfig 文件示例:
apiVersion: v1 clusters: - cluster: server: https://{平台访问地址}/kubernetes/{集群名} # 需要修改{平台访问地址} {集群名} insecure-skip-tls-verify: true name: direct-cluster contexts: - context: cluster: direct-cluster user: kubeconfig-user name: direct-connect current-context: direct-connect kind: Config preferences: {} users: - name: kubeconfig-user user: token: {token}
参数 描述 clusters 包含了一个或多个集群的配置信息,每个集群包含名称、服务地址、认证信息等。 users 包含了一个或多个用户的配置信息,每个用户包含名称、认证信息等。 contexts 包含了一个或多个上下文的配置信息,每个上下文包含名称、关联的集群和用户等。 current-context 包含当前使用的上下文信息。
-
管理容器组
在集群维度下,平台管理员需要经常对整个集群中的容器组进行管理和维护,实时监控集群容器组的健康运行状态:
-
通过集群界面查看整个集群的容器组,快速排查集群下状态异常的容器组,并进行故障处理。例如,可以通过删除操作使其重新调度,以保障业务的持续运行。
-
统计整个集群下的容器组信息,分析容器组的资源占用和使用情况,并推进优化。这有助于提高集群的资源利用率和性能表现,为业务提供更好的服务,并支持导出当前集群下所有容器组列表 CSV 文件。
操作步骤
-
在左侧导航栏中,单击 集群管理 > 集群。
-
单击 集群名称。
-
切换至容器组页签,可通过筛选条件筛选并查看容器组。
-
单击
,可导出当前集群下所有容器组列表 CSV 文件。
删除集群
将不再计划通过本平台管理、使用的 Kubernetes 集群从平台上移除。
注意:当集群已被项目使用,集群删除后,项目将无法再使用该集群。集群下的项目资源会保留。
操作步骤
-
在左侧导航栏中,单击 集群管理 > 集群。
-
单击待删除 集群名称。
-
单击待删除集群右侧的
> 删除。
-
输入集群名称后,单击 删除。