Add basic info

This commit is contained in:
Marsel Ibraev
2021-09-24 11:51:02 +03:00
parent 40b04340dd
commit f44beb51a9
197 changed files with 12740 additions and 0 deletions
+198
View File
@@ -0,0 +1,198 @@
# Job
### Запускаем простой job
1) Создаем job
```bash
cd ~/slurm/practice/7.oneshot-tasks/1.job
kubectl apply -f job.yaml
```
2) Проверяем
```bash
kubectl get job
```
Видим:
```bash
NAME COMPLETIONS DURATION AGE
hello 1/1 2s 88s
```
3) Смотрим на поды
```bash
kubectl get pod
```
Видим под, созданный джобой:
```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) Удаляем джоб
```bash
kubectl delete job hello
```
### Проверяем работу параметра backoffLimit
6) Открываем файл job.yaml и находим командy выполняющуюся в поде
```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) Создаем джоб
```bash
kubectl apply -f job.yaml
```
8) Проверяем
```bash
kubectl get job
```
Видим:
```bash
NAME COMPLETIONS DURATION AGE
hello 0/1 27s 27s
```
9) Смотрим на поды
```bash
kubectl get pod
```
Видим поды, созданные джобой:
```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) Смотрим в описание джобы
```bash
kubectl describe job hello
```
Видим, что backoffLimit сработал
```bash
Warning BackoffLimitExceeded 23m job-controller Job has reached the specified backoff limit
```
11) Удаляем джоб
```bash
kubectl delete job hello
```
### Проверяем работу параметра activeDeadlineSeconds
12) Открываем файл job.yaml и находим командy, выполняющуюся в поде
```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) Создаем джоб
```bash
kubectl apply -f job.yaml
```
14) Проверяем
```bash
kubectl get job
```
Видим:
```bash
NAME COMPLETIONS DURATION AGE
hello 0/1 27s 27s
```
15) Смотрим на поды
```bash
kubectl get pod
```
Видим поды, созданный джобой
```bash
NAME READY STATUS RESTARTS AGE
hello-bt6g6 1/1 Running 0 5s
```
16) Ждем 60 секунд и проверяем джоб
```bash
kubectl describe job hello
```
Видим, что activeDeadlineSeconds сработал
```bash
Warning DeadlineExceeded 2m17s job-controller Job was active longer than specified deadline
```
17) Удаляем джоб
```bash
kubectl delete job hello
```
+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: busybox
args:
- /bin/sh
- -c
- date; echo Hello from the Kubernetes cluster
restartPolicy: Never