DevOps на минималках
3.08K subscribers
109 photos
62 videos
86 links
Все самое полезное для девопсера в одном канале.

1. Библиотека книг и статей по теме DevOps.
2. Задачи и тесты по DevOps для тренировки и обучения.
3. Вопросы с собеседований по DevOps и ответы на них.

по рекламе: @jannytg
Download Telegram
Kubernetes для DevOps

Автор:
Джон Арундел
Год издания:
2020

#devops #ru

Скачать книгу
👍11
Kubernetes. Приложение перестало работать — как понять, что случилось?

Причин, по которым приложение не работает в кластере Kubernetes, много.

Вот самые распространенные:

🔵под отсутствует;
🔵под не запускается (статус Pending);
🔵под запускается, но падает с ошибкой (статус CrashLoopBackOff);
🔵под работает (статус Runnung), но недоступен по сети.

Ниже кратко рассмотрим алгоритмы, позволяющие понять, что же все-таки случилось.

🔵 Для начала нужно убедиться, что манифест выполнился и под действительно зарегистрирован в кластере. Если подов и деплоймента не находится, проверьте манифесты.

🔵Если поды находятся в статусе Pending, значит Scheduler не может найти подходящую ноду для запуска пода. На это тоже может быть много причин: недостаточно ресурсов в кластере, несовпадение taints/tolerances, невозможность скачать образ и многое другое. Найти причину помогут события, связанные с подом, однако некоторые проблемы (например, отказ Scheduler) не попадут в этот список. Также проверьте статус нод в кластере и селекторы, указанные в манифесте.

🔵Если под был назначен ноде, но при запуске произошла ошибка, под будет иметь статус CrashLoopBackOff и кластер будет предпринимать попытки запустить его повторно. Обычно это происходит в случае ошибки в самом приложении внутри контейнера, а найти причину обычно помогают логи (если приложение их пишет, конечно).

🔵Следующая ситуация — поды работают (статус Running), однако не доступны по сети из других подов. Для начала нужно проверить, создан ли Service с соответствующим селектором. Также необходимо проверить, что они находятся в одном namespace.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🤓1
Состояние репозитория ушло на много коммитов вперед. Как откатить весь репозиторий к определенному коммиту?
Anonymous Quiz
56%
git reset --hard <tag/branch/commit hash>
16%
git reset --soft <tag/branch/commit hash>
15%
git hardreset --hard --a <tag/branch/commit hash>
13%
Нельзя это сделать
👍5
Что делает DevOps-инженер?

на простом примере


Есть два друга, которые хотят пожарить мясо на природе. Итоговый продукт их деятельности — шашлык. Друзья распределяют между собой задачи: один нанизывает мясо на шампур (сравним его с разработчиком), другой собирает мангал и разводит огонь (сравним его с инженером инфраструктуры).

Угли готовы, мясо на шампурах, положили шампуры на мангал — ждут. Но пошел дождь, надо перенести мангал под тент, чтобы угли не потухли. Одному это сделать трудно, дождь усиливается.

Без DevOps-культуры разработчик (отвечающий за нанизывание мяса на шампуры) может сказать: «Мясо на шампурах — моя работа сделана. Дальше разбираться я не буду», — и в итоге шашлыка никто не поест.

DevOps-инженер — это третий друг, который заранее посмотрел прогноз погоды, понял, что будет дождь, взял с собой тент, развернул его и, когда погода испортилась, помог перенести мангал с мясом под тент. В итоге все насладились вкусным мясом (выпустили качественный продукт).
👍11😁3🥱21
This media is not supported in your browser
VIEW IN TELEGRAM
Собеседование на DevOps инженера...

#devops #shorts
💩4👍3
Какую из следующих команд вы бы использовали, чтобы остановить или отключить службу httpd при загрузке системы?
Anonymous Quiz
54%
# systemctl disable httpd.service
10%
# system disable httpd.service
9%
# system disable httpd
27%
# systemctl disable httpd.service
😁6🤡2👍1
Operations Anti-patterns,
DevOps Solutions

Автор:
Jeffery D. Smith
Год издания:
2020

#devops #en

Скачать книгу
👍5
Основные команды для работы с kubernetes

Посмотреть настройки и статус конкретного pod`а.

$ kubectl get pods имя_пода -o yaml
$ kubectl describe pod имя_пода
$ kubectl logs имя_пода
👍7
___________ запускается на каждом ноде и обеспечивает работу контейнеров в поде.
Anonymous Quiz
54%
Kubelet
17%
Scheduler
10%
Etcd
19%
Pod
🔥8👍5
Проект «Феникс»

Автор:
Джин Ким
Год издания:
2013

#devops #ru

Скачать книгу
🔥11
Основные команды для работы с kubernetes

Запуск нового pod`а.
$ kubectl run имя_пода --image=образ


Удаление pod`а.
$ kubectl delete pod имя_пода
👍9
This media is not supported in your browser
VIEW IN TELEGRAM
DevOps инженер приехал в офис

#devops #shorts
👍10😁2🔥1
Kubernetes написан на
Anonymous Quiz
19%
C++
56%
Go
15%
Python
4%
Java Spring
6%
C
0%
Pascal
Как в Kubernetes устроена работа с хранилищами?

У Kubernetes есть volumes, например, нативный emtyDir. Часть из них stateless, то есть они живут, пока жив под. Судьба у данных, которые туда попадают, аналогичная.

Для statefull-приложений используются постоянные хранилища, Persistent Volumes (PV). Persistent Volumes (PV) — это единицы хранения, которые были выделены кластеру Kubernetes его администратором. Это могут быть локальные диски, СХД, внешние дисковые полки. Они никак не зависят от жизненного цикла подов.

Persistent Volume Claim (PVC) — это запрос на выделение PV определенных характеристик: типа хранилища, объема, типа доступа (чтение и/или запись). Для описания подробных характеристик доступных PV используются Storage Classes.

В динамике это все выглядит следующим образом: под отправляет PVC, а PVC уже обращается к PV и передает ее поду.
👍5