任务(Job)
前提条件
以项目用户登录系统。
集群类型为Kubernetes集群。
创建任务Jobs
在左侧导航树中选择“任务Job/Cron Jobs”。
单击“创建任务”。
任务设置参数。
任务参数如表 1所示。
表 1 工作负载参数
参数 设置说明 设置示例 任务名称 名称以小写字母开头,可以包含数字、小写字母和-,且不能重名。 - 任务类型 - 任务Job。
- 定时任务Cron Jobs。- 重启策略 - 失败时重启。
- 从不重启。- 时区同步 开启“时区同步后,通过挂载宿主机的/etc/location路径到容器中,使容器内时区与宿主机同步”。 - 退出等待时间 运行在容器里的进程在接受到结束信号后,截止被强制终止前的等待时间.默认值是30秒,设置为0表示立即结束。 30 完成数 Completions: 任务结束需要成功运行的容器组个数。 30 并行数 Parallelism: 并行运行的容器组的个数。 3 退出超时时限 Active Deadline Seconds: 任务运行的超时时间。 30 最大重试次数 Back off Limit: 失败尝试次数,若失败次数超过该值,则任务不会继续尝试工作。 3 启动依赖 当有多个任务需要按顺序执行的话,可以开启此开关,设置依赖启动的任务,只有当依赖任务执行成功后,此任务才执行,同时可设置超时时限,默认为300秒 - 设置容器组的调度策略,可设置主机亲和和容器组亲和两种调度策略,单击“添加主机亲和策略”或者“添加容器组亲和策略”添加需要的调度策略。
调度策略参数说明如表 2所示。
表 2 调度策略
参数 配置说明 配置示例 主机亲和 亲和模式 亲和模式包括亲和和反亲和。
亲和:容器组倾向于调度到相同的主机上。
反亲和:容器组倾向于调度到不同的主机上。亲和 亲和策略 主机亲和策略包括强制和尝试两种。
强制亲和:保证满足亲和条件,在无法满足时调度失败并报错。
尝试亲和:优先满足亲和条件,在无法满足时采取默认调度策略。强制亲和 主机标签 选择主机标签。
可选择主机或者主机标签。- 设置创建的容器参数,包括镜像、容器规格等。
选择镜像后,可以单击“拉取镜像配置”,将镜像中设置的配置参数填充到对应设置项中,也可设定镜像拉取策略。
容器的参数如表 3所示。
表 3 容器参数
参数 配置说明 配置示例 镜像 创建应用使用的镜像。
输入镜像名称后,可自动匹配镜像的路径。- 镜像拉取策略 设置拉取镜像的策略。
- 总是拉取。
不在主机时拉取。
- 不拉取,只是用本地镜像。不在主机时拉取 CPU配额 容器使用的CPU和内存最大值。
如果不设置将使用该项目的默认值,也可自定义资源配额。- 内存配额 - 启动命令 容器的启动入口和启动命令。启动命令用于指定容器主进程的启动命令。启动入口用于指定容器启动程序及参数,与启动命令搭配使用。
如果镜像中定义了启动入口和启动命令,单击“拉取镜像配置”可填充为镜像中的设置值。如果在此处设置了不同改的值,则会覆盖镜像中的设置值。- 启动参数 - 特权模式 开启特权模式后,容器可以以root用户权限访问宿主机。
默认为关闭状态。开启 容器端口 设置容器的端口映射列表。通过将容器内的某一端口映射到主机的端口上,提供容器对外访问的方式。
添加自定义端口映射时,需设置容器端口和协议(可选TCP或者UDP),并单击加号。- 环境变量 设置容器的环境变量。
环境变量包括变量名和变量值,单击加号可添加多个环境变量。- 自定义监控指标 开启时,可设置自定义指标的收集地址和端口,创建好后,在监控指标中可以找到。 - 单击“添加存储挂载”设置任务的存储配置。
任务的存储配置如表 8‑5所示。
表 5 存储配置
参数 配置说明 配置示例 存储卷 任务的存储设置。
- 不使用存储。
- 临时存储卷:使用主机下的随机目录作为存储。临时存储卷的生命周期与该任务的Pod一致。
- 主机目录:使用主机目录作为存储,只能被单节点访问,数据不能被其他节点访问。该任务的Pod不能被调度到其他节点上。
- 持久化存储卷:请选择已创建的PVC,参考存储卷管理。
- 配置集:为容器挂载配置项后,可作为任务配置文件使用。参考配置集管理。
- 保密字典:为容器挂载保密字典后,可作为任务配置文件使用。参考保密字典管理。- 设置应用的重启策略。
为应用挂载配置集/保密字典后,可设置当挂载的配置集或者保密字典更新后应用重启。
设置工作负载的健康检查。
健康检查是指容器运行过程中,根据用户需要,定时检查容器健康状况。健康检查设置包括健康检查类型、健康检查方式和参数。
管理平台提供了两种健康检查的方式:
存活检查
该检查方式用于检测容器是否存活,类似于我们执行 ps 命令检查进程是否存在。如果容器的存活检查失败,集群会对该容器执行重启操作,若容器的存活检查成功则不执行任何操作。
就绪检查
检查方式用于检测容器是否准备好开始处理用户请求。一些程序的启动时间可能很长,比如要加载磁盘数据或者要依赖外部的某个模块启动完成才能提供服务。这时候程序进程在,但是并不能对外提供服务。这种场景下该检查方式就非常有用。如果容器的就绪检查失败,集群会屏蔽请求访问该容器,若检查成功,则会开放对该容器的访问。
管理平台提供的健康检查方式有如下三种:
HTTP 请求检查
HTTP 请求方式针对的是提供 HTTP/HTTPS 服务的容器,集群周期性地对该容器发起HTTP/HTTPS GET 请求,如果 HTTP/HTTPS response 返回码属于 200~399范围,则证明探测成功,否则探测失败。
使用HTTP探测需设定公共参数并指定主机域名(主机名称或IP地址)、端口、路径、协议、HTTP头的名称和值,公共参数的说明请参见表 4。
TCP 端口检查
对于提供 TCP 通信服务的容器,集群周期性地对该容器建立 TCP 连接,如果连接成功,则证明探测成功,否则探测失败。
使用 TCP 端口探测方式需设置公共参数并指定主机域名(主机名称或IP地址)和端口,公共参数的说明请参见表 4。
Shell检查
命令检查是一种强大的检查方式,该方式要求用户指定一个容器内的可执行命令,集群会周期性地在容器内执行该命令,如果命令的返回结果是 0 则检查成功,否则检查失败。
使用Shell进行健康检查需要设定公共参数并指定Shell命令,公共参数的说明请参见表 4。
表 4 健康检查参数
参数 配置说明 配置示例 初始化等待时间 健康检查初始化等待时间,单位为秒。 5 超时时间 超时时间,单位为秒。
例如,设置为10,表明执行健康检查的超时等待时间为10秒,如果超过这个时间,本次健康检查就被视为失败。若设置为0或不设置,默认超时等待时间为1秒。20 检测间隔时间 两次检查的间隔时间,单位为秒。
例如,设置为10,表明两次健康检查的时间间隔为10秒。10 最小探测失败次数 探测结果为失败的最小连续失败次数。 3 最小探测成功次数 探测结果为成功的最小连续失败次数。 3
9 单击“立即创建”。