mirror of
https://github.com/slurm-personal/school-dev-k8s.git
synced 2026-06-27 13:50:24 +00:00
Change some practice
This commit is contained in:
@@ -0,0 +1,197 @@
|
||||
# Job
|
||||
|
||||
### Запускаем простой job
|
||||
|
||||
1) Создаем job
|
||||
|
||||
```bash
|
||||
kubectl apply -f 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 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 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
|
||||
```
|
||||
Reference in New Issue
Block a user