容器服务通过深度融合新一代云原生技术,提供以容器为核心的高性能 Kubernetes 容器集群管理服务,实现高可用 Kubernetes 集群云端一键构建,容器化应用全生命周期可视化管理,帮助您快速打造一站式纵深容器业务平台。
本文以部署 Nginx 应用为例,为您介绍通过 kubectl 使用容器服务的流程。
创建集群时,可能会产生负载均衡、NAT 网关、公网 IP、云盘等云基础资源费用。请在创建集群页面下方 配置费用 处,查看实际计费。更多计费说明及云基础资源计费,请参见 产品计费。
说明
参数 | 说明 | 示例 |
---|---|---|
基本配置 | ||
名称 | 设置集群名称。 | demo-cluster |
Kubernetes 版本 | 选择部署 Kubernetes 集群的版本。 | 保持默认配置 |
控制面可用区分布 | 选择集群的 Kubernetes API Server 所在区域(Region)的可用区(AZ)分布。 | 保持默认配置 |
描述 | 描述或备注集群信息。 | 保持默认配置(为空) |
标签 | 集群的标签。 | 保持默认配置(为空) |
网络配置 | ||
私有网络 | 选择集群所属的私有网络(VPC)。选择 准备工作 中已完成的私有网络。 | demo-vpc (192.168.0.0/16) |
容器网络模型 | 配置集群的容器网络(CNI)方案。
| VPC-CNI |
控制面子网 | 选择私有网络下的子网。 | demo-vpc-subnetA |
容器网络 | 自定义配置容器网络。VPC-CNI 容器网络模型的集群,需要配置 Pod 子网、Service CIDR。详细的参数配置方法,请参见 容器网络。 | Pod 子网 选中 demo-vpc-subnetA,其余保持默认配置 |
公网访问 | 开启公网访问后,容器服务自动为集群私有网络创建 NAT 网关并配置相关规则,使集群内的节点、应用可以访问公网。 | 开启 |
API Server 公网访问 | 开启后,容器服务自动创建多线路类型(BGP)的公网 IP 并关联 CLB,使集群 API Server 可通过公网访问。 | 开启 |
运维配置 | 本示例中无需设置,详细参数说明,请参见 创建集群。 | 关闭 容器监控,其余参数保持默认配置 |
控制面参数配置 | 集群控制面 Kube API Server 组件配置。详细参数说明,请参见 创建集群。 | 保持默认配置 |
高级配置 | 本示例中无需设置,详细参数说明,请参见 创建集群。 | 保持默认配置 |
参数 | 说明 | 示例 |
---|---|---|
节点信息 | ||
Worker 节点 | 是否创建 Worker 节点并加入集群。 | 立即创建 |
节点来源 | Worker 节点的获取方式。 | 创建节点 |
节点池标签 | 自定义的资源(节点池)标签。 | 保持默认配置(为空) |
节点池配置 | ||
节点池名称 | 设置节点池名称。 | demo-nodepool |
计费类型 | 节点对应的云服务器资源的收费模式。 | 保持默认配置 |
可用区 | 选择新增节点所在的可用区。可用区是同一地域下电力、网络隔离的物理区域,可用区之间内网互通,不同可用区之间物理隔离。 | 保持默认配置 |
子网 | 选择新增节点的子网,同一个私有网络下可能存在多个子网。 | demo-vpc-subnetA |
多子网调度策略 | 为节点池中的多个子网设置调度优先级,用于在 Worker 节点扩容时按照子网优先级顺序进行调度:
| 保持默认配置 |
计算规格 | 选择新增节点(云服务器实例)的规格,支持选择多个实例规格。实例规格的详细说明,请参见 实例规格清单。 | 通用型 ecs.g3i.xlarge |
节点数量 | 新增节点的数量。节点个数和云服务器资源费用相关,请按需选择。 | 保持默认配置 |
ECS 实例标签 | 容器服务为新增的 ECS 实例绑定火山引擎平台标签,用于搜索、管理 ECS 实例。 | 保持默认配置(为空) |
系统配置 | ||
系统镜像 | 选择节点使用的系统镜像。 | 保持默认配置 |
启动时安装批量作业 Agent | 默认安装 Agent,不支持修改。节点池使用 Agent 进行节点管理,方便该节点池中节点的故障监测和自愈。 | 保持默认配置 |
系统云盘 | 提供操作系统运行、日志存储相关工作需要使用的存储空间。 | 保持默认配置 |
数据盘 | 提供额外存储空间,可用于日常工作中的数据存储。 | 保持默认配置 |
安全配置 | ||
安全组 | 为同一个私有网络内具有相同安全保护需求并相互信任的网卡提供访问策略。创建集群时容器服务会自动创建并绑定默认安全组,您也可以在默认安全组基础上添加自定义安全组。 | 保持默认配置 |
登录方式 | 节点实例的登录认证方式,支持通过 密码 和 SSH 密钥对 两种方式。
| 选择 密码 并设置强密码 |
安全加固 | 配置主机安全加固,开启后 HIDS 主机防护免费提供异常登录等风险告警服务,在保证主机系统镜像兼容性的基础上,为节点(云服务器实例)提供实时监控、文件监控、进程监控、系统动态分析等安全加固功能。 | 保持默认配置 |
更多配置 | 本示例中无需设置,详细参数说明,请参见 创建集群。 | 保持默认配置 |
高级配置 | 本示例中无需设置,详细参数说明,请参见 创建集群。 | 保持默认配置 |
您可以通过 kubectl 客户端连接到已创建的集群。
$HOME/.kube/config
文件中。注意
$HOME/.kube/config
文件是您在本地环境中正确安装 kubectl 客户端后生成的文件,$HOME
表示变量,由您本地环境的操作系统(macOS/Linux/Windows 等)、安装 kubectl 客户端的路径决定。
返回类似如下信息,表示 kubectl 已连接集群。kubectl get node
NAME STATUS ROLES AGE VERSION 192.168.0.6 Ready <none> 4h15m v1.26.10-vke.11 vci-node1-cn-beijing-a Ready agent 4h15m v1.26.1
完成集群和 kubectl 的连接后,您可以通过 kubectl 客户端创建无状态工作负载,部署应用。
nginx.yaml
应用文件并复制如下内容到该文件。说明
请根据代码示例中的注释信息,更改参数值。
apiVersion: apps/v1 kind: Deployment metadata: name: doc-deployment # 无状态工作负载名称 namespace: default # 命名空间名称 spec: replicas: 1 # Pod 实例个数 selector: matchLabels: app: doc-deployment template: metadata: labels: # 需要与后续创建的服务(Service )文件中 selector 的参数值保持一致 app: doc-deployment spec: containers: - name: doc-deployment-container # 容器名称 image: doc-cn-beijing.cr.volces.com/vke/nginx-demo:v1.0 # 可以替换为您自己的镜像地址,也可以直接使用该示例镜像地址 ports: - containerPort: 80 # 容器开放的端口号 protocol: TCP
预期返回结果如下所示:kubectl apply -f nginx.yaml
deployment.apps/doc-deployment created
kubectl get deployment ${your_deployment_name}
说明
请将${your_deployment_name}
替换为您设置的无状态工作负载名称。例如doc-deployment
,那么完整的命令为:
kubectl get deployment doc-deployment
NAME READY UP-TO-DATE AVAILABLE AGE doc-deployment 1/1 1 1 85s
$home
目录下,新建nginx-svc.yaml
服务文件,并复制如下内容到该文件。说明
请根据代码示例中的注释信息,更改参数值。
apiVersion: v1 kind: Service metadata: name: nginx-svc # 服务名称 namespace: default # 命名空间名称 spec: selector: # 需要与之前创建的应用文件中 selector 的 matchLabels 参数值保持一致 app: doc-deployment ports: - protocol: TCP name: doc-port # 端口映射的名称 port: 80 targetPort: 80 type: LoadBalancer
预期返回结果如下所示:kubectl apply -f nginx-svc.yaml
service/nginx-svc created
kubectl get svc ${your_service_name}
说明
请将${your_service_name}
替换为您设置的服务名称,例如nginx-svc
,那么完整的命令为:
kubectl get svc nginx-svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE nginx-svc LoadBalancer 172.**.**.** 180.**.**.** 80:31709/TCP 65s
完成应用部署后,可以通过云监控产品了解应用的运行状态,包括 CPU 用量、内存用量等,协助后续的运维工作。容器服务各类监控指标说明参见 云产品监控指标。
...
图标,然后单击 查看监控,查看应用的运行状态。说明
若 查看监控 按钮不可选,则鼠标悬浮到 查看监控 按钮,并根据提示安装集群监控所需的 metrics-collector 组件。
完成快速入门后,如果无需使用集群,请参考 删除集群 中的指引,删除集群及其关联资源;如果需要继续使用集群,请确保您的火山引擎账户余额(含代金券)不低于 100 元人民币,且除去代金券后账户余额不为零。
持续使用容器服务集群会有如下两类费用,详细的计费信息,请参见 产品计费: