操作场景
本文介绍如何在弹性集群中选择多种工作负载形式来运行您的服务。
注意:
- 弹性集群没有 Node,工作负载在创建时会根据参数设置为每个 Pod 分配实际的资源。详情请参见 指定资源规格。
- 如果您需要通过 yaml 来创建、管理您的 Kubernetes 对象,可通过指定 annotation 完成。详情请参见 Annotation 说明。
前提条件
- 已创建状态为“运行中”的弹性集群,详情请参见 创建集群。
- 集群有合适的且为 Active 状态的命名空间。
工作负载类型介绍
Deployment
Deployment 声明了 Pod 的模板和控制 Pod 的运行策略,适用于部署无状态的应用程序。您可以根据业务需求,对 Deployment 中运行的 Pod 的副本数、调度策略、更新策略等进行声明。
StatefulSet
StatefulSet 主要用于管理有状态的应用,创建的 Pod 拥有根据规范创建的持久型标识符。Pod 迁移或销毁重启后,标识符仍会保留。在需要持久化存储时,您可以通过标识符对存储卷进行一一对应。如果应用程序不需要持久的标识符,建议您使用 Deployment 部署应用程序。
Job
Job 控制器会创建 1 - N 个 Pod,这些 Pod 按照运行规则运行,直至运行结束。Job 可用于批量计算及数据分析等场景,通过重复执行次数、并行度、重启策略等设置满足业务述求。
Job 执行完成后,不再创建新的 Pod,也不会删除已有 Pod,您可在“日志”中查看已完成的 Pod 的日志。如果您删除了 Job,Job 创建的 Pod 也会同时被删除,将查看不到该 Job 创建的 Pod 的日志。
CronJob
一个 CronJob 对象类似于 crontab(cron table)文件中的一行。它根据指定的预定计划周期性地运行一个 Job,格式可以参考 Cron。
Cron 格式说明如下:
# 文件格式说明
# ——分钟(0 - 59)
# | ——小时(0 - 23)
# | | ——日(1 - 31)
# | | | ——月(1 - 12)
# | | | | ——星期(0 - 6)
# | | | | |
# * * * * *
操作步骤
- 登录容器服务控制台,选择左侧导航栏中的【弹性集群】。
- 在 “弹性集群” 列表页面,单击需创建工作负载的集群 ID,进入集群 “Deployment” 页面。如下图所示:
- 单击【新建】,进入 “新建Workload” 页面。
- 填写工作负载名,并选择要创建的工作负载类型。
- 各类型工作负载的具体参数设置请参考:
- Deployment 管理
- StatefulSet 管理
- CronJob 管理
- Job 管理
- 其他操作指引请参考:
- 设置工作负载的资源限制
- 设置工作负载的调度规则
- 设置工作负载的健康检查
- 设置工作负载的运行命令和参数
- 各类型工作负载的具体参数设置请参考: