Kubernetes-вопрос. Какая роль у контроллера DaemonSet?
DaemonSet используется в Kubernetes, когда нужно запустить один или несколько подов на всех рабочих узлах кластера. То есть при запуске новых нод вам не потребуется вручную запускать поды, которые должны там быть для каких-то служебных задач. Например, с помощью него можно запустить поды с Prometheus Node Exporter для мониторинга, collectd или поды с fluentd or logstash для логирования узлов.
Примечание: это не полный список контроллеров, есть еще Jobs .
Примечание: это не полный список контроллеров, есть еще
👍8
Как активировать debug режим в bash?
Anonymous Quiz
20%
Нельзя
60%
Команда set -x в начале скрипта
9%
Команда get -x в начале скрипта
12%
Команда set -x в конце скрипта
👍9🤔1
Kubernetes. Каким образом мы можем вывести ноду из работы для обслуживания?
Мы можем запретить запуск PODов на ноде с помощью kubectl cordon и удалить PODы с ноды при помощи kubectl drain.
👍6
Какой инструмент обычно используется для непрерывной интеграции и непрерывного развертывания (CI/CD)?
Anonymous Quiz
68%
Jenkins
11%
Docker
13%
Git
8%
Ansible
👍6
Kubernetes. Что такое под (pod)?
Под — это самая маленькая сущность в Kubernetes, в которой запускаются контейнеры. Контейнеров внутри пода может быть несколько.
Помимо контейнеров, у каждого пода есть:
— уникальный IP-адрес, который позволяет подам общаться друг с другом;
— хранилище PV (по необходимости);
— данные по конфигурации, которые определяют, как контейнер должен запускаться.
Внутри пода может быть один или несколько контейнеров
Под — это самая маленькая сущность в Kubernetes, в которой запускаются контейнеры. Контейнеров внутри пода может быть несколько.
Помимо контейнеров, у каждого пода есть:
— уникальный IP-адрес, который позволяет подам общаться друг с другом;
— хранилище PV (по необходимости);
— данные по конфигурации, которые определяют, как контейнер должен запускаться.
Внутри пода может быть один или несколько контейнеров
👍12
Что из перечисленного НЕ является инструментом управления конфигурацией?
Anonymous Quiz
4%
Chef
6%
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
55%
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
10%
# system disable httpd
27%
# systemctl disable httpd.service
😁6👍1🤡1