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

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

по рекламе: @jannytg
Download Telegram
Python для сетевых
инженеров


Автор:
Эрик Чоу
Год издания:
2023

#devops #python #ru

Скачать книгу
👍7🔥2
Kubernetes-вопрос. Что такое CNI-плагин и для чего он нужен?

Аббревиатура CNI расшифровывается как Container Network Interface. Он представляет собой некий уровень абстракции над реализацией сети. Мы можем работать с верхнеуровневыми абстракциями вроде «IP-адрес PODа», Endpoint.
За то, как это будет реализовано на физическом уровне, отвечает CNI-плагин. Существует множество CNI-плагинов (например, Flannel, Calico, Cilium), которые реализуют разный функционал и показывают разную сетевую производительность. От простейших, которые используют для работы L3-маршрутизацию, правила iptables и IPVS, до достаточно сложных, которые, например, могут осуществлять шифрование внутреннего трафика в кластере, поддержку VLAN, маршрутизацию на основе IBGP, поддержку EGRESS и прочее.
🔥5
Kubernetes. Можем ли мы опубликовать приложение, работающее по бинарному протоколу, например postgresql, через ingress?

Да, многие ингресс-контроллеры поддерживают публикацию бинарных протоколов, но это неудобно. Kubernetes ingress сам, как правило, публикуется при помощи Kubernetes service. Для каждой публикации приложения по бинарному протоколу через ingress придётся дополнительно описывать Kubernetes service.
👍7
This media is not supported in your browser
VIEW IN TELEGRAM
Не делайте это, если вы DevOps или Админ

#devops #shorts
👍7
Как удалить файл с именем -rf?
Anonymous Quiz
12%
rm -rf
61%
rm ./-rf
12%
rm rf
14%
Никак
👍8
Kubernetes-вопрос. Какая роль у контроллера DaemonSet?

DaemonSet используется в Kubernetes, когда нужно запустить один или несколько подов на всех рабочих узлах кластера. То есть при запуске новых нод вам не потребуется вручную запускать поды, которые должны там быть для каких-то служебных задач. Например, с помощью него можно запустить поды с Prometheus Node Exporter для мониторинга, collectd или поды с fluentd or logstash для логирования узлов.

Примечание: это не полный список контроллеров, есть еще
Jobs.
👍8
Использование Docker

Автор:
Моуэт Э.
Год издания:
2017

#docker #ru

Скачать книгу
👍8
Ускоряйся! Наука DevOps

Автор:
Николь Ф.
Год издания:
2020

#devops #ru

Скачать книгу
🔥51👍1
Kubernetes. Каким образом мы можем вывести ноду из работы для обслуживания?

Мы можем запретить запуск PODов на ноде с помощью kubectl cordon и удалить PODы с ноды при помощи kubectl drain.
👍6
This media is not supported in your browser
VIEW IN TELEGRAM
Как ищет работу начинающий DevOps

#devops #shorts
👍6🤡1
Какой инструмент обычно используется для непрерывной интеграции и непрерывного развертывания (CI/CD)?
Anonymous Quiz
68%
Jenkins
11%
Docker
13%
Git
8%
Ansible
👍6
Kubernetes. Что такое под (pod)?

Под — это самая маленькая сущность в Kubernetes, в которой запускаются контейнеры. Контейнеров внутри пода может быть несколько.

Помимо контейнеров, у каждого пода есть:

— уникальный IP-адрес, который позволяет подам общаться друг с другом;
— хранилище PV (по необходимости);
— данные по конфигурации, которые определяют, как контейнер должен запускаться.

Внутри пода может быть один или несколько контейнеров
👍12
Что из перечисленного НЕ является инструментом управления конфигурацией?
Anonymous Quiz
4%
Chef
5%
Puppet
4%
Ansible
86%
Jira
👍3👎21
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