Kubernetes. Что такое под (pod)?
Под — это самая маленькая сущность в Kubernetes, в которой запускаются контейнеры. Контейнеров внутри пода может быть несколько.
Помимо контейнеров, у каждого пода есть:
— уникальный IP-адрес, который позволяет подам общаться друг с другом;
— хранилище PV (по необходимости);
— данные по конфигурации, которые определяют, как контейнер должен запускаться.
Внутри пода может быть один или несколько контейнеров
Под — это самая маленькая сущность в Kubernetes, в которой запускаются контейнеры. Контейнеров внутри пода может быть несколько.
Помимо контейнеров, у каждого пода есть:
— уникальный IP-адрес, который позволяет подам общаться друг с другом;
— хранилище PV (по необходимости);
— данные по конфигурации, которые определяют, как контейнер должен запускаться.
Внутри пода может быть один или несколько контейнеров
👍12
Что из перечисленного НЕ является инструментом управления конфигурацией?
Anonymous Quiz
4%
Chef
5%
Puppet
4%
Ansible
86%
Jira
👍3👎2❤1
Kubernetes. Приложение перестало работать — как понять, что случилось?
Причин, по которым приложение не работает в кластере Kubernetes, много.
Вот самые распространенные:
🔵 под отсутствует;
🔵 под не запускается (статус Pending);
🔵 под запускается, но падает с ошибкой (статус CrashLoopBackOff);
🔵 под работает (статус Runnung), но недоступен по сети.
Ниже кратко рассмотрим алгоритмы, позволяющие понять, что же все-таки случилось.
🔵 Для начала нужно убедиться, что манифест выполнился и под действительно зарегистрирован в кластере. Если подов и деплоймента не находится, проверьте манифесты.
🔵 Если поды находятся в статусе Pending, значит Scheduler не может найти подходящую ноду для запуска пода. На это тоже может быть много причин: недостаточно ресурсов в кластере, несовпадение taints/tolerances, невозможность скачать образ и многое другое. Найти причину помогут события, связанные с подом, однако некоторые проблемы (например, отказ Scheduler) не попадут в этот список. Также проверьте статус нод в кластере и селекторы, указанные в манифесте.
🔵 Если под был назначен ноде, но при запуске произошла ошибка, под будет иметь статус CrashLoopBackOff и кластер будет предпринимать попытки запустить его повторно. Обычно это происходит в случае ошибки в самом приложении внутри контейнера, а найти причину обычно помогают логи (если приложение их пишет, конечно).
🔵 Следующая ситуация — поды работают (статус Running), однако не доступны по сети из других подов. Для начала нужно проверить, создан ли Service с соответствующим селектором. Также необходимо проверить, что они находятся в одном namespace.
Причин, по которым приложение не работает в кластере Kubernetes, много.
Вот самые распространенные:
Ниже кратко рассмотрим алгоритмы, позволяющие понять, что же все-таки случилось.
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-инженер — это третий друг, который заранее посмотрел прогноз погоды, понял, что будет дождь, взял с собой тент, развернул его и, когда погода испортилась, помог перенести мангал с мясом под тент. В итоге все насладились вкусным мясом (выпустили качественный продукт).
на простом примере
Есть два друга, которые хотят пожарить мясо на природе. Итоговый продукт их деятельности — шашлык. Друзья распределяют между собой задачи: один нанизывает мясо на шампур (сравним его с разработчиком), другой собирает мангал и разводит огонь (сравним его с инженером инфраструктуры).
Угли готовы, мясо на шампурах, положили шампуры на мангал — ждут. Но пошел дождь, надо перенести мангал под тент, чтобы угли не потухли. Одному это сделать трудно, дождь усиливается.
Без DevOps-культуры разработчик (отвечающий за нанизывание мяса на шампуры) может сказать: «Мясо на шампурах — моя работа сделана. Дальше разбираться я не буду», — и в итоге шашлыка никто не поест.
DevOps-инженер — это третий друг, который заранее посмотрел прогноз погоды, понял, что будет дождь, взял с собой тент, развернул его и, когда погода испортилась, помог перенести мангал с мясом под тент. В итоге все насладились вкусным мясом (выпустили качественный продукт).
👍11😁3🥱2❤1
Какую из следующих команд вы бы использовали, чтобы остановить или отключить службу 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
Скачать книгу
DevOps Solutions
Автор: Jeffery D. Smith
Год издания: 2020
#devops #en
Скачать книгу
👍5
Основные команды для работы с kubernetes
Посмотреть настройки и статус конкретного pod`а.
Посмотреть настройки и статус конкретного pod`а.
$ kubectl get pods имя_пода -o yaml
$ kubectl describe pod имя_пода
$ kubectl logs имя_пода👍7
Что такое под (pod) в Kubernetes?
Anonymous Quiz
3%
Это компьютер, на котором запущен Kubernetes
8%
Это связующее звено между контейнерами, позволяющее им обмениваться информацией
4%
Это сервер, поддерживающий Kubernetes, в котором развернут монолит
84%
Это самая маленькая сущность, в которой запускаются контейнеры
❤8
___________ запускается на каждом ноде и обеспечивает работу контейнеров в поде.
Anonymous Quiz
54%
Kubelet
17%
Scheduler
10%
Etcd
19%
Pod
🔥8👍5
Основные команды для работы с kubernetes
Запуск нового pod`а.
Удаление pod`а.
Запуск нового pod`а.
$ kubectl run имя_пода --image=образ
Удаление pod`а.
$ kubectl delete pod имя_пода👍9