更新时间:2023-12-13 GMT+08:00

CCE.Job

模型说明

CCE.Job用于为云容器引擎服务(CCE)的集群创建kubernetes集群中的Job对象。

例如,想要运行一些容器执行某种特定的任务,任务一旦执行完成,容器也就没有必要存在了。对于这种场景,可以使用Job,Job指的就是这些一次性任务。通过Job运行一个容器,当其任务执行完后,就自动退出,集群也不再重新将其唤醒。

模型属性

表1 模型定义属性说明

属性

是否必选

描述

k8sManifest

kubernetes的job对象的原生的manifest

参数类型:dict

取值说明:用户自定义,建议使用公开镜像(上传镜像到镜像仓库,设置类型为公开),建议更新时不要更改metadata下面的名称(name)和标签(labels)

取值约束:不可为空

使用建议:用户自定义,参考文档:https://kubernetes.io/docs/tasks/job/automated-tasks-with-cron-jobs/

namespace

资源在集群内所在的命名空间

参数类型:string

取值说明:需为集群下有效的namespace,示例:default

取值约束:由小写字母、数字和中划线组成,且必须以字母开头

使用建议:按需在CCE管理控制台-资源管理-命名空间查询选择

clusterId

资源所属的CCE集群的ID,只支持在1.7及以上的集群中创建

参数类型:HuaweiCloud.CCE.Cluster.Id

取值说明:已有容器集群的ID或新建集群的ID

取值约束:满足UUID规则,最大64位

使用建议:1.直接填ID:进入CCE管理控制台-资源管理-集群管理,在集群详情页面查看集群ID。2.通过get_reference获取。通过连线到cluster对象以get_reference自动获取

关联关系

表2 关联关系说明

关系说明

关联节点

依赖关系

AOS.Batch

依赖关系

DCS.Redis

依赖关系

RDS.MySQL

依赖关系

CCE.Storage.EVS

依赖关系

OBS.Bucket

依赖关系

CCE.Storage.SFS

依赖关系

CCE.ConfigMap

依赖关系

CCE.Job

依赖关系

CCE.Storage.OBS

依赖关系

CCE.DaemonSet

依赖关系

CCE.Secret

依赖关系

CCE.Service

依赖关系

CCE.Ingress

依赖关系

CCE.StatefulSet

依赖关系

CCE.NodePool

依赖关系

CCE.Deployment

依赖关系

CCE.Pod

依赖关系

RDS.PostgreSQL

被包含关系

CCE.Cluster

输出

属性

参数类型

描述

refName

string

任务的名称

blueprint样例

tosca_definitions_version: huaweicloud_tosca_version_1_0
inputs:
  job-image-addr:
    default: "*.*.*.*:20202/***/redis:V1"
    description: "job used image address."
node_templates:
  ccej4ipi:
    type: HuaweiCloud.CCE.Job
    properties:
      k8sManifest:
        apiVersion: 'batch/v1'
        kind: Job
        metadata:
          name: my-job
        spec:
          template:
            metadata:
              name: my-job
            spec:
              containers:
                - command:
                    - bash
                    - '-c'
                    - 'echo job finished > /var/log/job-finished'
                  image: 
                    get_input: job-image-addr
                  imagePullPolicy: IfNotPresent
                  name: job-sample
                  volumeMounts:
                    - mountPath: '/var/log'
                      name: sample
              imagePullPolicy: IfNotPresent
              imagePullSecrets:
                - name: default-secret
              restartPolicy: Never
              volumes:
                - hostPath:
                    path: '/var/log'
                  name: sample