创建集群
更新时间:2024-10-12
概述
本文介绍如何使用容器引擎 CCE 控制台创建标准集群,以及如何创建集群所需的私有网络、子网、安全组等资源。
操作步骤
-
登录百度智能云平台:
- 登录成功后,选择产品服务 > 云原生 > 容器引擎 CCE,在左侧导航栏选择集群管理 > 集群列表,进入集群列表页面。
- 在集群列表页面,点击列表上侧的创建集群。
-
CCE 为您预置了适合不同场景的集群创建模版,您可在选择模版弹窗中,根据模板介绍结合自身业务需求选择模板,点击确认进入创建集群页面。
- 默认单一区域下集群配额为 20 个,每个集群内节点配额为 200 个。
- 如有需求,可以提 工单 提升配额。
- 在创建集群页面中,根据集群创建导航并结合业务需求依次配置:集群基本信息、基础配置、网络配置、Master 配置、Worker 配置。
步骤一:集群配置
在 CCE 创建集群页面,完成集群的基础信息配置、网络配置和高级设置。
基础信息配置
配置项 | 说明 |
---|---|
付费方式 | 包年包月:先付费后使用,价格更低廉。关联创建的 BCC、BLB 和 EIP 资源,付费方式均为包年包月。注意:若付费方式选择包年包月,还需设置购买时长,以及是否开启自动续费。 |
按量付费:先使用后付费,按需开通。关联创建的 BCC、BLB 和 EIP资源,付费方式均为按量付费。 | |
当前地域 | 集群所在的地域。 |
集群名称 | 集群的名称。支持大小写字母、数字以及-_ /.特殊字符,必须以字母开头,长度1-65。 |
Kubernetes 版本 | 当前支持的 Kubernetes 版本。 |
集群规模 | 若选择标准托管集群,需选择集群规模,可参见 如何选择集群规模。 |
IPv6 双栈网络 | 开启 IPv6 双栈网络,将筛选出已配置 IPv6 的 VPC 网络和子网,并自动分配 IPv6 的容器网段和服务网段。注意:选择后不支持变更,请谨慎选择,CCE 使用 IPv4/IPv6 双栈网络说明。 |
容器运行时 | Kubernetes 集群的容器运行时组件,可参见 如何选择 Kubernetes 集群的容器运行时组件。 |
节点名称 | 内网 IP:集群将以实例的内网IP作为节点名称(NodeName)。节点加入集群后,不支持变更 NodeName。 |
主机名称:集群将以实例的主机名称(hostname)作为节点名称(NodeName),须保证加入集群的实例的主机名称不重复。节点加入集群后,不支持变更 NodeName。 |
网络配置
容器网络为独立的地址空间,须与节点网络、节点子网、其他集群的容器网络相互独立。以下以创建标准托管集群时的网络配置项为例进行说明。
配置项 | 说明 |
---|---|
集群网络 | 设置集群的网络。如需创建新的私有网络,可前往 创建私有网络。 |
API Server 访问 | 【自动创建负载均衡器 BLB】系统将自动为集群 API Server 创建一个内网应用型负载均衡 BLB 实例,若删除该 BLB 实例会导致 API Server 无法访问。若选择自动创建负载均衡器 BLB,还需进行 API Server 子网和公网访问设置。
|
【使用已有负载均衡器 BLB】集群 API Server 将与已有的负载均衡 BLB 实例绑定,若删除该 BLB 实例会导致 API Server 无法访问。注意:若集群要开启公网访问,请确保选择的 BLB 实例已绑定弹性公网 IP,否则无法通过公网访问。 | |
LB Service 子网 | Service 及 Ingress 将使用该子网创建负载均衡器,不能选择 NAT 子网。 |
容器网络模式 | 目前支持 VPC 路由、VPC-ENI、VPC-Hybrid 三种容器网络模式,不同容器网络模式的区别可参见 如何选择 Kubernetes 集群的容器网络模式。 |
容器网络配置 | 容器网络模式选择 VPC 路由时,需进行容器网络配置,依次设置容器网段、预留容器 IP 数、Cluster IP 网段。请务必在选择网段前,合理有效地规划集群的网络,避免出现网络冲突,否则可能存在风险。注意:配置内容创建后不支持修改,网络规划可参见 CCE 集群网络说明及规划。 |
弹性网卡模式 | 容器网络模式选择 VPC-ENI 时,需选择弹性网卡模式,CCE 提供共享和独占两种弹性网卡模式:
|
容器子网 | 容器网络模式选择 VPC-ENI 时,需对容器子网进行配置。集群创建的 Pod 将从容器子网中分配 IP 地址,请选择与节点同可用区的子网作为容器网络。 |
ENI 安全组 | 容器网络模式选择 VPC-ENI 时,需设置 ENI 安全组。新建的弹性网卡将绑定该安全组,所有的外部流量都将通过该安全组进入容器。CCE 默认/附加安全组说明。 |
ClusterIP 网段 | 容器网络模式选择 VPC-ENI 或 VPC-Hybrid 时,需设置 ClusterIP 网段。ClusterIP 网段不能与节点网段冲突,创建后不支持修改。 |
Nodeport 范围 | 可用于 NodePort 服务的端口号的范围。在 Kubernetes 集群中,默认的 NodePort 范围是 30000-32767。 |
Kube-proxy 模式 | 容器网络模式选择 VPC 路由或 VPC-ENI 时,需设置 Kube-proxy 代理模式。可选择 IPTABLES 或 IPVS。IPVS 适用于集群存在大量 Service,对负载均衡有高性能要求的场景。 |
高级设置(可选)
配置项 | 说明 |
---|---|
资源标签 | 可设置资源标签,标签支持按用途、所有者或项目等对资源进行分类。 |
集群删除保护 | 默认开启,开启后可以防止通过控制台或 API 误删除集群。 |
认证方式 | 默认使用常用的 X509 客户端证书认证,可选择开启 OIDC 认证,详情参见 集群认证说明。 |
自定义证书 SAN | 在申请或生成 SSL/TLS 证书时,可以指定证书中包含的额外身份信息。这些信息可以包括 IP 或域名,指定后暂不支持更新。 |
NodeLocalDNS | 默认不开启,开启后将在集群节点上以 Daemonset 形式运行 NodeLocal DNS Cache,以提高集群 DNS 性能。详情参见 集群使用 NodeLocal DNSCache 说明。 |
集群备注 | 可自定义集群的描述信息。 |
步骤二:节点配置
Master 配置
用户可以根据自身业务需求,选择不同的 Master 类型:
- 托管 Master:表示 Master 节点完全由百度云负责配置、创建和维护,且对用户不可见。用户无需为托管 Master 付费,但是此模式下,集群内 Worker 有最小数量限制。
- 自定义 Master:用户可以根据业务规模和需求自定义 Master 副本数及机器配置(配置方法同下文“Worker 配置”)。自定义 Master 集群无最小 Worker 数限制。
若创建标准独立集群,需在创建集群页面进行 Master 配置。以下以标准独立集群为例,对 Master 配置的相关配置项进行说明。
节点配置
配置项 | 说明 |
---|---|
节点来源 | CCE 支持新建节点或使用已有服务器两种节点来源,若选择使用已有服务器则只支持选择当前集群私有网络下的可用实例。 |
Master 节点 | 可选择 3 副本或 5 副本,若选择 3 副本则至少需要添加 3 个节点。点击添加节点进行 Master 节点配置,节点配置相关参数请参见 添加节点。 |
服务器配置
配置项 | 说明 |
---|---|
Master 安全组 | 可选择普通安全组或企业安全组,详情参见 CCE默认/附加安全组说明。 |
资源标签 | 可设置资源标签,标签支持按用途、所有者或项目等对资源进行分类。可选择对其关联资源 CDS、EIP、快照、快照链统一加标签。 |
高级设置(可选)
配置项 | 说明 | |
---|---|---|
数据存储 | etcd 数据目录 | 在 etcd 服务器运行的机器上,用于存储 etcd 数据文件的文件系统目录。若已挂载数据盘,建议存储到数据盘。 |
kubelet 数据目录 | kubelet 服务用来存储其运行时数据的文件系统目录,如 volume 文件、plugin 文件等数据存储目录。若已挂载数据盘,建议存储到数据盘。 | |
容器数据目录 | 容器、镜像等数据存储目录。若已挂载数据盘,建议存储到数据盘。 | |
执行脚本 | 部署前执行脚本 | 在节点部署之前,系统会自动执行指定的脚本。请确保该脚本具备可重入性以及重试逻辑。脚本内容及其产生的日志将自动保存到节点的 /usr/local/cce/scripts/ 目录中。 |
部署后执行脚本 | 在节点部署完成后,系统将自动运行该脚本。您需要自行监控和验证脚本的执行状况。脚本内容及其产生的日志将自动保存到节点的/usr/local/cce/scripts/目录中。 |
Worker 配置
点击添加配置,弹出“添加节点”对话框。用户可以选择“新建节点”,新建节点当前仅支持后付费的付费方式。如需采用预付费方式,可以先在 BCC 页面创建预付费节点,然后选择“已有节点”,然后选择已创建的预付费节点。
节点配置
配置项 | 说明 |
---|---|
节点来源 | CCE 支持新建节点或使用已有服务器两种节点来源,新建节点当前仅支持后付费的付费方式。如需采用预付费方式,可以先在 BCC 页面创建预付费节点,然后选择使用已有服务器,选择已创建的预付费节点。若选择使用已有服务器则只支持选择当前集群私有网络下的可用实例。 |
Worker 节点 | 点击添加节点进行 Worker 节点配置,节点配置相关参数详见 添加节点,以下对机型、存储、安全组、公网 IP 进行解释。 |
1. 机型
- 用户可根据自身业务需求,选择不同的云服务器类型,如选择普通型,配置详情如下图所示:
GPU 配置说明:
- 操作系统支持由百度智能云配置过的集成GPU驱动版系统,如果用户在自己的 BCC 中创建了 GPU 自定义镜像的话,镜像是支持 GPU 自定义镜像,用户如果使用自定义镜像需要手动设置集成GPU驱动。
- GPU 提供固定大小的本地磁盘且暂不支持自主选择,具体信息如下表所示:
GPU卡型号 GPU数量(块) GPU(核) 内存(GB) 磁盘(GB) NVIDIA Tesla K40 1 6 40 200 NVIDIA Tesla K40 2 12 80 400 NVIDIA Tesla K40 4 24 160 800 NVIDIA 深度学习开发卡 1 6 40 200 NVIDIA 深度学习开发卡 2 12 80 400 NVIDIA 深度学习开发卡 4 24 160 800
2. 存储
- 用户可以选择直接创建 CDS 盘或从快照创建 CDS 盘。如何选择 SSD 云磁盘 / 高性能云磁盘 / 普通云磁盘,请查看详细说明。
-
创建的 CDS 云磁盘会自动挂载到云服务器上,也可以指定挂载目录,CCE 将会对磁盘格式化并挂载到指定目录。
3. 安全组
- CCE 默认安全组/自定义安全组,创建实例后也可以更改相关访问规则,具体可以参考管理安全组。
4. 公网 IP
- 如果勾选“购买弹性公网IP”,则需要进行 EIP 的配置,具体请参考 EIP 实例。
- 公网带宽中可以选择按使用流量计费或按使用带宽计费中任意一种作为计费标准。
服务器配置
配置项 | 说明 |
---|---|
Worker 安全组 | 可选择普通安全组或企业安全组,详情参见 CCE默认/附加安全组说明。 |
资源标签 | 可设置资源标签,标签支持按用途、所有者或项目等对资源进行分类。可选择对其关联资源 CDS、EIP、快照、快照链统一加标签。 |
高级设置(可选)
配置项 | 说明 | |
---|---|---|
数据存储 | etcd 数据目录 | 在 etcd 服务器运行的机器上,用于存储 etcd 数据文件的文件系统目录。若已挂载数据盘,建议存储到数据盘。 |
kubelet 数据目录 | kubelet 服务用来存储其运行时数据的文件系统目录,如 volume 文件、plugin 文件等数据存储目录。若已挂载数据盘,建议存储到数据盘。 | |
容器数据目录 | 容器、镜像等数据存储目录。若已挂载数据盘,建议存储到数据盘。 | |
执行脚本 | 部署前执行脚本 | 在节点部署之前,系统会自动执行指定的脚本。请确保该脚本具备可重入性以及重试逻辑。脚本内容及其产生的日志将自动保存到节点的 /usr/local/cce/scripts/ 目录中。 |
部署后执行脚本 | 在节点部署完成后,系统将自动运行该脚本。您需要自行监控和验证脚本的执行状况。脚本内容及其产生的日志将自动保存到节点的 /usr/local/cce/scripts/ 目录中。 | |
节点参数 | 封锁节点(cordon) | 默认不开启,若开启封锁节点,节点将处于不可调度状态,新创建的 Pod 将不会调度到该节点上。 |
自定义 kubelet 参数 | 可根据特定需求或集群环境,手动设置 kubelet 的启动参数。默认设置 kube-reserved 和 system-reserved 参数,还可点击添加参数对其他 kubelet 参数进行自定义设置。 | |
K8S标签 | K8S 标签(Label)是管理和选择 K8S 对象的标识,将自动绑定创建的节点,每个 Label 包含键和值两部分。 | |
污点设置(Taints) | 在 Kubernetes 集群中,污点(Taints) 是一种机制,用于阻止 Pod 被调度到特定的节点上。污点是添加到节点上的标记,它们可以指示节点应该避免被某些 Pod 访问。节点污点和 Pod
容忍共同作用。节点设置污点后,可避免 Pod 调度到节点上,或者将 Pod 从节点驱逐。除非 Pod 容忍能够与节点污点相匹配。污点由三部分组成:
|
步骤三:确认配置
-
用户确认选择的配置信息和配置费用后,在前置检查模块通过前置检查后,点击提交,开始创建集群。
- 在 CCE 管理控制台 中,选择左侧导航栏集群管理 > 集群列表,进入集群列表页面,可查看创建集群的状态,创建成功后该集群状态将显示为“运行中”。