Exercise 6.3: Working with Jobs

  1. CP 노드에 연결된 터미널로 이동

  2. Job 생성

    cat <<EOF | kubectl create -f -
    apiVersion: batch/v1
    kind: Job
    metadata:
      name: sleepy
    spec:
      template:
        spec:
          containers:
          - name: resting
            image: busybox
            command: ["/bin/sleep"]
            args: ["3"]
          restartPolicy: Never
    EOF
  3. 생성된 Job 상태 확인

    kubectl get job sleepy
  4. 생성된 Job의 상세 내용 확인

    kubectl describe job sleepy
  5. 생성된 Job의 Manifest를 YAML 형식으로 출력

    kubectl get job sleepy -o yaml | grep -A 5 -B 1 ^spec
  6. Job 삭제

    kubectl delete job sleepy
  7. Job 생성

    cat <<EOF | kubectl create -f -
    apiVersion: batch/v1
    kind: Job
    metadata:
      name: sleepy
    spec:
      completions: 5
      template:
        spec:
          containers:
          - name: resting
            image: busybox
            command: ["/bin/sleep"]
            args: ["3"]
          restartPolicy: Never
    EOF
  8. 생성된 Job 및 Pod 상태 확인

    kubectl get job,pod -l job-name=sleepy
  9. Job 삭제

    kubectl delete job sleepy
  10. Job 생성

    cat <<EOF | kubectl create -f -
    apiVersion: batch/v1
    kind: Job
    metadata:
      name: sleepy
    spec:
      completions: 5
      parallelism: 2
      template:
        spec:
          containers:
          - name: resting
            image: busybox
            command: ["/bin/sleep"]
            args: ["3"]
          restartPolicy: Never
    EOF
  11. 생성된 Job 및 Pod 상태 확인

    kubectl get job,pod -l job-name=sleepy
  12. Job 삭제

    kubectl delete job sleepy
  13. Job 생성

    cat <<EOF | kubectl create -f -
    apiVersion: batch/v1
    kind: Job
    metadata:
      name: sleepy
    spec:
      completions: 5
      parallelism: 2
      activeDeadlineSeconds: 15
      template:
        spec:
          containers:
          - name: resting
            image: busybox
            command: ["/bin/sleep"]
            args: ["5"]
          restartPolicy: Never
    EOF
  14. 생성된 Job 상태 확인

    kubectl get job sleepy
  15. 생성된 Job의 status.conditions 확인

    kubectl get job sleepy -ojsonpath='{.status.conditions}' | jq
  16. Job 삭제

    kubectl delete job sleepy
  17. CronJob 생성

    cat <<EOF | kubectl create -f -
    apiVersion: batch/v1
    kind: CronJob
    metadata:
      name: sleepy
    spec:
      schedule: "*/1 * * * *"
      jobTemplate:
        spec:
          template:
            spec:          
              containers:
              - name: resting
                image: busybox
                command: ["/bin/sleep"]
                args: ["5"]
              restartPolicy: Never
    EOF
  18. 생성된 CronJob 상태 확인

    kubectl get cronjob sleepy
  19. Job 목록 확인

    kubectl get job
  20. Pod 목록 확인

    kubectl get pod
  21. CronJob 삭제

    kubectl delete cronjob sleepy
  22. CronJob 생성

    cat <<EOF | kubectl create -f -
    apiVersion: batch/v1
    kind: CronJob
    metadata:
      name: sleepy
    spec:
      schedule: "*/1 * * * *"
      jobTemplate:
        spec:
          template:
            spec:
              activeDeadlineSeconds: 10          
              containers:
              - name: resting
                image: busybox
                command: ["/bin/sleep"]
                args: ["30"]
              restartPolicy: Never
    EOF
  23. 생성된 CronJob 상태 확인

    kubectl get cronjob sleepy
  24. Job 목록 확인

    kubectl get job
  25. CronJob 삭제

    kubectl delete cronjob sleepy

Last updated