Kor — это инструмент для обнаружения неиспользуемых ресурсов в Kubernetes.
На данный момент Kor умеет находить и перечислять неиспользуемые:
🔹 ConfigMaps
🔹 Secrets
🔹 Services
🔹 ServiceAccounts
🔹 Deployments
🔹 Statefulsets
🔹 Roles
GitHub: Kor
👉 DevOps Portal
На данный момент Kor умеет находить и перечислять неиспользуемые:
GitHub: Kor
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤8
This media is not supported in your browser
VIEW IN TELEGRAM
Гайд, где собраны короткие советы по работе с VI, включая шорткаты, разделение окон, подсветку синтаксиса и многое другое.
Ссылка здесь
👉 DevOps Portal
Ссылка здесь
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤3
Запуск и управление контейнерами Docker
Изучите, как запускать контейнеры самых разных типов (серверы, базы данных, CLI-инструменты и т.д.), взаимодействовать с ними и сформировать чёткое понимание того, как Docker управляет вашими приложениями «под капотом».
Здесь: Docker 101: Run and Manage Containers
👉 DevOps Portal
Изучите, как запускать контейнеры самых разных типов (серверы, базы данных, CLI-инструменты и т.д.), взаимодействовать с ними и сформировать чёткое понимание того, как Docker управляет вашими приложениями «под капотом».
Здесь: Docker 101: Run and Manage Containers
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍3🔥1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20❤4
Быстрый совет по Linux
Команда
Результат покажет оба файла бок о бок, при этом отличия будут подсвечены красным и зелёным, что значительно упрощает их визуальное сравнение.
👉 DevOps Portal
Команда
diff — это полезный инструмент для поиска различий между файлами в терминале Linux. Однако icdiff предлагает более удобное сравнение — построчно, рядом, с цветовой подсветкой различий.$ icdiff config-dev.ini config-prod.ini
Результат покажет оба файла бок о бок, при этом отличия будут подсвечены красным и зелёным, что значительно упрощает их визуальное сравнение.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍28❤11🔥8
Linux 101: Bind Mount
Bind-монтирование широко использовалось вместе с
🔹 Монтирование путей хоста в контейнеры или поды
🔹 Обмен данными между контейнерами
🔹 Обеспечение быстрого обхода union-файловой системы
Практика: https://labs.iximiuz.com/challenges/storage-bind-mount
👉 DevOps Portal
Bind-монтирование широко использовалось вместе с
chroot, а сегодня активно применяется в Docker и Kubernetes. Например:Практика: https://labs.iximiuz.com/challenges/storage-bind-mount
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍4
В этой статье объясняется, как Kubernetes интегрирует метаданные о совместимости образов через Node Feature Discovery (NFD), позволяя ворклоадам указывать и валидировать требуемую ОС хоста, модули ядра и аппаратные возможности до планирования
Читайте здесь
👉 DevOps Portal
Читайте здесь
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤3
This media is not supported in your browser
VIEW IN TELEGRAM
Годная утилита для создания диаграмм для софта. К тому же бесплатная и совместимая с GitHub
Отлично подходит для UML, flowchart’ов и процессов. Экспорт в изображение, PDF, HTML и многое другое.
Забираем тут
👉 DevOps Portal
Отлично подходит для UML, flowchart’ов и процессов. Экспорт в изображение, PDF, HTML и многое другое.
Забираем тут
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7😁6❤2
This media is not supported in your browser
VIEW IN TELEGRAM
Быстрый совет по Linux
Команда
Но знаешь ли ты, что её можно использовать и для просмотра содержимого директории? По сути, она показывает вывод команды
Зачем это нужно?
Ну, как минимум, тебе больше не придётся задумываться о том, что
👉 DevOps Portal
Команда
less используется для чтения содержимого файлов, это не секрет.Но знаешь ли ты, что её можно использовать и для просмотра содержимого директории? По сути, она показывает вывод команды
lsЗачем это нужно?
Ну, как минимум, тебе больше не придётся задумываться о том, что
less нельзя применять к директорииPlease open Telegram to view this post
VIEW IN TELEGRAM
😁8👍5❤4
Опенсорс платформа, которая может быть использована для управления секретами. Доступна как облачная версия, так локальная (Docker Compose, Kubernetes)
GitHub: infisical
👉 DevOps Portal
GitHub: infisical
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤6
Изучите топ-10 техник траблшутинга в Kubernetes, которые должен освоить каждый DevOps инженер. Эти советы по отладке K8s основаны на реальных кейсах и показывают, как быстро и надёжно решать типовые и критические проблемы в Kubernetes
Читайте здесь
👉 DevOps Portal
Читайте здесь
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤5
Образы контейнеров
Довольно часто можно встретить практику, когда статически слинкованный бинарник на Go просто кладут в образ, собранный
- нет rootfs-лейаута
- отсутствуют CA-сертификаты
- нет базы данных часовых поясов
Решение? Использовать distroless-базу вместо этого
Подробнее о проблеме и одном из возможных решений:
🔹 Building Container Images FROM Scratch: 6 Pitfalls That Are Often Overlooked
🔹 What's Inside Distroless Container Images: Taking a Closer Look
👉 DevOps Portal
FROM scratch стоит ли так делать? 🤔Довольно часто можно встретить практику, когда статически слинкованный бинарник на Go просто кладут в образ, собранный
FROM scratch. Но у такого подхода есть ряд подводных камней:- нет rootfs-лейаута
- отсутствуют CA-сертификаты
- нет базы данных часовых поясов
Решение? Использовать distroless-базу вместо этого
Подробнее о проблеме и одном из возможных решений:
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤2
Этот репозиторий содержит более 20 инструментов, которые автоматически генерируют диаграммы архитектуры Kubernetes на основе манифестов, Helm-чартов или состояния кластера.
Github: Awesome-Kubernetes-Architecture-Diagrams
👉 DevOps Portal
Github: Awesome-Kubernetes-Architecture-Diagrams
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍2
Как удаляется Pod: разбор закулисных процессов
Когда мы выполняем команду:
появляется сообщение подтверждения, что Pod удалён (если всё прошло успешно):
Задумывались, что происходит “под капотом”?
Прежде чем разбирать процесс удаления Pod’а, нужно понимать базовые сигналы, которые используются при завершении процессов.
На картинке показан пошаговый разбор процесса, чтобы было понятнее✌️
👉 DevOps Portal
Когда мы выполняем команду:
kubectl delete pod
появляется сообщение подтверждения, что Pod удалён (если всё прошло успешно):
$ kubectl delete pod techops-pod
pod "techops-pod" deleted
Задумывались, что происходит “под капотом”?
Прежде чем разбирать процесс удаления Pod’а, нужно понимать базовые сигналы, которые используются при завершении процессов.
SIGTERM — запрашивает корректное завершение работы. Позволяет приложению завершить активные задачи и выполнить очистку перед остановкой. В Kubernetes при получении SIGTERM Pod получает время, чтобы завершиться “по-человечески”.
SIGKILL — принудительно завершает процесс без какой-либо очистки. Если Pod не завершился в отведённое время после SIGTERM, Kubernetes отправляет SIGKILL, чтобы окончательно его убить.
На картинке показан пошаговый разбор процесса, чтобы было понятнее
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤5
Начиная с Kubernetes 1.34.1, интерфейс контейнерного рантайма (CRI-O) по умолчанию требует указания полностью квалифицированных имён образов.
При указании образов контейнеров в ваших деплойментах используйте полный путь до реестра.
Например: docker.io/nginx вместо просто nginx.
Если вы укажете короткое имя образа, которое совпадает с несколькими реестрами, пулл образа завершится ошибкой со следующим сообщением:
👉 DevOps Portal
При указании образов контейнеров в ваших деплойментах используйте полный путь до реестра.
Например: docker.io/nginx вместо просто nginx.
Если вы укажете короткое имя образа, которое совпадает с несколькими реестрами, пулл образа завершится ошибкой со следующим сообщением:
Warning Failed 57m (x12 over 59m) kubelet Error: ImageInspectError
Warning InspectFailed 4m43s (x258 over 59m) kubelet Failed to inspect image "": rpc error: code = Unknown
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10👍5
Официальным языком DevOps должен быть YAML
- Helm использует YAML
- GitHub использует YAML
- Ansible использует YAML
- Argo CD использует YAML
- Kubernetes использует YAML
- Azure DevOps использует YAML
- Docker Compose использует YAML
и многие другие…
Все продвинутые инструменты, которые ты стремишься изучить и применять, работают на YAML.
Так что сначала разберись с ним, вот тебе шпаргалка
👉 DevOps Portal
- Helm использует YAML
- GitHub использует YAML
- Ansible использует YAML
- Argo CD использует YAML
- Kubernetes использует YAML
- Azure DevOps использует YAML
- Docker Compose использует YAML
и многие другие…
Все продвинутые инструменты, которые ты стремишься изучить и применять, работают на YAML.
Так что сначала разберись с ним, вот тебе шпаргалка
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥31❤7👍5🏆2
10 ошибок Kubernetes, которые нужно знать (и как их исправить)
Ошибки в K8s - одна из самых распространённых проблем, с которыми разработчики сталкиваются при запуске ворклоадов в продакшене, что приводит к неудачным деплоям, даунтайму и пустой трате времени на траблшутинг.
Читайте здесь
👉 DevOps Portal
Ошибки в K8s - одна из самых распространённых проблем, с которыми разработчики сталкиваются при запуске ворклоадов в продакшене, что приводит к неудачным деплоям, даунтайму и пустой трате времени на траблшутинг.
Читайте здесь
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤2
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤5