Job 实践:创建任务、查看状态与并发执行

来自AI助手的总结
介绍了Kubernetes Job的创建方式及并发执行配置实践
Job 实践:创建任务、查看状态与并发执行

一、Job实践

1.1 Job创建

1.1 方式一:命令行格式

1、创建一个job


[root@k8s-master01 ~]# k create job hello --image=registry.cn-hangzhou.aliyuncs.com/abroad_images/busybox:1.28 -- echo "Hello,Job"

2、查看job


[root@k8s-master01 ~]# kg job

NAME    STATUS     COMPLETIONS   DURATION   AGE

hello   Complete   1/1           8s         9s

回显内容说明:

  • DURATION:表示 Job 从开始执行到最后一个 Pod 完成的时间长度

  • COMPLETIONS:表示 Job 当前已完成的个数与期望完成次数

3、查看job创建的pod


[root@k8s-master01 ~]# kgp

NAME          READY   STATUS      RESTARTS   AGE

hello-n4b5g   0/1     Completed   0          2m16

4、查看执行日志信息


[root@k8s-master01 ~]# k logs -f hello-n4b5g

Hello,Job

5、环境复原


[root@k8s-master01 ~]# k delete job hello

1.1 方式二:yaml文件

1、创建一个job模板文件


[root@k8s-master01 ~]# k create job hello --image=registry.cn-hangzhou.aliyuncs.com/abroad_images/busybox:1.28 --dry-run=client -oyaml  -- echo "Hello,Job" > job.yaml 

2、重新定义一个job

[root@k8s-master01 ~]# vim  job.yaml 
apiVersion: batch/v1
kind: Job
metadata:
  name: hello
spec:
  template:
    metadata:
    spec:
      containers:
      - command:
        - echo
        - Hello,Job
        image: registry.cn-hangzhou.aliyuncs.com/abroad_images/busybox:1.28
        name: hello
      restartPolicy: Never

3、创建job


[root@k8s-master01 ~]# kaf  job.yaml 

4、查看job


[root@k8s-master01 ~]# kg job

NAME    STATUS     COMPLETIONS   DURATION   AGE

hello   Complete   1/1           3s         14s

回显内容说明:

  • DURATION:表示 Job 从开始执行到最后一个 Pod 完成的时间长度

  • COMPLETIONS:表示 Job 当前已完成的个数与期望完成次数

5、查看job创建的pod


[root@k8s-master01 ~]# kgp

NAME          READY   STATUS      RESTARTS   AGE

hello-crdzx   0/1     Completed   0          4s

6、查看执行日志信息


[root@k8s-master01 ~]# k logs -f hello-crdzx

Hello,Job

7、环境复原


[root@k8s-master01 ~]# k delete -f  job.yaml 

1.1 Job并发执行

假设需要创建一个 Job,这个 Job 可以同时创建两个 Pod 执行任务,当执行成功 5 个表示该 Job 执行成功

1、定义job的yaml文件

关键配置信息


  completions: 5  #成功数为5

  parallelism: 3  #并发是3

完整配置信息

[root@k8s-master01 JOB]# vim job.yaml 
apiVersion: batch/v1
kind: Job
metadata:
  labels:
    job-name: echo
  name: echo
  namespace: default
spec:
  completions: 5  #成功数为5
  parallelism: 2  #并发是2
  template:
    spec:
      containers:
      - command:
        - sh 
        - -c
        - echo
        - Hello, Job
        image: registry.cn-hangzhou.aliyuncs.com/zq-demo/nginx:1.14.2
        imagePullPolicy: IfNotPresent
        name: echo
        resources: {}
      restartPolicy: Never

2、创建job


[root@k8s-master01 ~]# kaf job.yaml 

3、查看资源情况

# 查看pod
[root@k8s-master01 ~]# kgp
NAME         READY   STATUS      RESTARTS   AGE
echo-5gj2p   0/1     Completed   0          32s
echo-6f9tq   0/1     Completed   0          25s
echo-8bdr7   0/1     Completed   0          32s
echo-jqsj2   0/1     Completed   0          28s
echo-nvwk8   0/1     Completed   0          28s
# 查看job
[root@k8s-master01 ~]# kg job
NAME   STATUS     COMPLETIONS   DURATION   AGE
echo   Complete   5/5           10s        89s

4、环境复原


[root@k8s-master01 ~]# k delete -f job.yaml

© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容