fix numeration

This commit is contained in:
Sergey Bondarev
2021-11-02 14:17:38 +03:00
parent 22b0b17016
commit f990be6d7e
34 changed files with 21 additions and 21 deletions
+201
View File
@@ -0,0 +1,201 @@
# Job
### Запускаем простой job
1) Создаем job
```bash
kubectl apply -f ~/school-dev-k8s/practice/9.oneshot-tasks/1.job/job.yaml
```
2) Проверяем
```bash
kubectl get job
```
Видим:
```bash
NAME COMPLETIONS DURATION AGE
hello 1/1 2s 88s
```
3) Смотрим на Pod'ы
```bash
kubectl get pod
```
Видим Pod, созданный Job'ой:
```bash
NAME READY STATUS RESTARTS AGE
hello-6l9tv 0/1 Completed 0 2m6s
```
4) Смотрим его логи
```bash
kubectl logs hello-6l9tv
```
Видим что все отработало правильно:
```bash
Mon Mar 18 15:06:10 UTC 2019
Hello from the Kubernetes cluster
```
5) Удаляем Job
```bash
kubectl delete job hello
```
### Проверяем работу параметра backoffLimit
6) Открываем файл job.yaml и находим командy выполняющуюся в Pod:
```yaml
args:
- /bin/sh
- -c
- date; echo Hello from the Kubernetes cluster
```
И ломаем полностью:
```yaml
args:
- /bin/sh
- -c
- date; echo Hello from the Kubernetes cluster; exit 1
```
7) Создаем Job:
```bash
kubectl apply -f ~/school-dev-k8s/practice/9.oneshot-tasks/1.job/job.yaml
```
8) Проверяем
```bash
kubectl get job
```
Видим:
```bash
NAME COMPLETIONS DURATION AGE
hello 0/1 27s 27s
```
9) Смотрим на Pod'ы
```bash
kubectl get pod
```
Видим Pod'ы, созданные Job'ой:
```bash
NAME READY STATUS RESTARTS AGE
hello-5nvqf 0/1 Error 0 22m
hello-ks4ks 0/1 Error 0 22m
hello-rl984 0/1 Error 0 22m
```
Они в статусе Error
10) Смотрим в описание Job'ы
```bash
kubectl describe job hello
```
Видим, что backoffLimit сработал
```bash
Warning BackoffLimitExceeded 23m job-controller Job has reached the specified backoff limit
```
11) Удаляем Job
```bash
kubectl delete job hello
```
### Проверяем работу параметра activeDeadlineSeconds
12) Открываем файл job.yaml и находим командy, выполняющуюся в Pod'е:
```yaml
args:
- /bin/sh
- -c
- date; echo Hello from the Kubernetes cluster
```
И делаем ее бесконечной
```yaml
args:
- /bin/sh
- -c
- while true; do date; echo Hello from the Kubernetes cluster; sleep 1; done
```
13) Создаем Job
```bash
kubectl apply -f ~/school-dev-k8s/practice/9.oneshot-tasks/1.job/job.yaml
```
14) Проверяем
```bash
kubectl get job
```
Видим:
```bash
NAME COMPLETIONS DURATION AGE
hello 0/1 27s 27s
```
15) Смотрим на Pod'ы
```bash
kubectl get pod
```
Видим Pod'ы, созданный Job'ой
```bash
NAME READY STATUS RESTARTS AGE
hello-bt6g6 1/1 Running 0 5s
```
16) Ждем 60 секунд и проверяем Job
```bash
kubectl describe job hello
```
Видим, что activeDeadlineSeconds сработал
```bash
Warning DeadlineExceeded 2m17s job-controller Job was active longer than specified deadline
```
17) Удаляем Job
```bash
kubectl delete job hello
```
### Есть еще два неописанных в манифесте Job'а параметра
Это `.spec.completions` и `.spec.parallelism` . Они отвечают за желаемое количество успешно выполненных Pod'ов в рамках Job'а и за параллельный запуск Pod'ов в рамках Job'а соответственно.
+18
View File
@@ -0,0 +1,18 @@
---
apiVersion: batch/v1
kind: Job
metadata:
name: hello
spec:
backoffLimit: 2
activeDeadlineSeconds: 60
template:
spec:
containers:
- name: hello
image: quay.io/prometheus/busybox
args:
- /bin/sh
- -c
- date; echo Hello from the Kubernetes cluster
restartPolicy: Never
@@ -0,0 +1,58 @@
# CronJob
1) Создаем CronJob:
```bash
kubectl apply -f ~/school-dev-k8s/practice/9.oneshot-tasks/2.cronjob/cronjob.yaml
```
2) Проверяем
```bash
kubectl get cronjob
```
Видим:
```bash
NAME SCHEDULE SUSPEND ACTIVE LAST SCHEDULE AGE
hello */1 * * * * False 0 <none> 14s
```
3) Через минуту пробуем посмотреть на Job'ы
```bash
kubectl get job
```
Видим созданный Job
```bash
NAME COMPLETIONS DURATION AGE
hello-1552924260 1/1 2s 49s
```
4) Смотрим на Pod'ы
```bash
kubectl get pod
```
Видим Pod
```bash
NAME READY STATUS RESTARTS AGE
hello-1552924260-gp7pk 0/1 Completed 0 80s
```
5) Если мы подождем 5-10 минут, то увидим что старые Job'ы и Pod'ы удаляются по мере появления новых
```bash
kubectl get job,pod
```
6) Удаляем CronJob
```bash
kubectl delete -f ~/school-dev-k8s/practice/9.oneshot-tasks/2.cronjob/cronjob.yaml
```
@@ -0,0 +1,22 @@
---
apiVersion: batch/v1beta1
kind: CronJob
metadata:
name: hello
spec:
schedule: "*/1 * * * *"
concurrencyPolicy: Allow
jobTemplate:
spec:
backoffLimit: 2
activeDeadlineSeconds: 100
template:
spec:
containers:
- name: hello
image: quay.io/prometheus/busybox
args:
- /bin/sh
- -c
- date; echo Hello from the Kubernetes cluster
restartPolicy: Never