TGViewer
Библиотека девопса | DevOps, SRE, Sysadmin Библиотека девопса | DevOps, SRE, Sysadmin @devopsslib · 10.4K subscribers
Post #4328 1.16K
📎 Лучшие практики конфигурации в Kubernetes

Вот несколько проверенных правил, которые помогут сделать вашу конфигурацию чистой, понятной и удобной в поддержке.

— Используйте актуальные версии API

Kubernetes быстро развивается. Старые версии API со временем устаревают и перестают работать. Перед созданием ресурсов всегда проверяйте, что используете самые свежие стабильные версии. Команда kubectl api-resources поможет выявить доступные версии.

— Храните конфигурацию в системе контроля версий

Никогда не применяйте манифесты напрямую с локальной машины. Всегда держите их под контролем версий, например в Git. Это поможет быстро откатиться при ошибках и отслеживать изменения без паники.

— Пишите конфигурацию в YAML, а не JSON

Технически работают оба формата, но YAML удобнее для человека — читается легче и занимает меньше места. Однако в YAML есть нюансы: используйте только true или false для булевых значений и избегайте yes, no, on или off, поскольку они могут некорректно интерпретироваться.

— Минимализм — ваш друг

Не задавайте значения по умолчанию, уже обработанные Kubernetes. Минимальные манифесты легче дебажить, они чисты и реже вызывают ошибки.

— Группируйте связанные объекты

Если ваш Deployment, Service и ConfigMap принадлежат одному приложению, объедините их в один манифест. Это упростит управление и развертывание. Можно даже применять целые директории командой kubectl apply -f configs/.

— Добавляйте поясняющие аннотации

Манифесты — это не только инструкции для системы, но и документация для команды. Используйте аннотации, например kubernetes.io/description, чтобы описывать, зачем нужен тот или иной объект. Это очень поможет при отладке и совместной работе.

— Управление рабочими нагрузками: выбирайте правильный контроллер

• Избегайте «голых» Pod без контроллера — они не восстанавливаются при сбоях.

• Для приложений используйте Deployments с ReplicaSet — они обеспечивают поддержание нужного количества копий и позволяют безопасно обновлять версии.

• Для одноразовых задач подойдут Jobs — выполняют работу и завершаются, перезапускаются при сбоях.

— Службы и сетевое взаимодействие

Создавайте Services до запуска зависимых подов — это гарантирует правильную инициализацию переменных окружения для подключения.

Используйте DNS для сервисов — обращайтесь к ним по имени, а не IP. Это упрощает масштабирование и управление.

Осторожно с опциями hostPort и hostNetwork — они ограничивают масштабируемость и усложняют планирование.

— Эффективное использование лейблов

Хорошо подобранные лейблы позволяют легко группировать и фильтровать ресурсы. Следуйте официальным рекомендациям по семантическим меткам:
labels:
app.kubernetes.io/name: myapp
app.kubernetes.io/component: web
tier: frontend
phase: test


Полезные команды и советы

• Применяйте сразу целые папки с манифестами:
kubectl apply -f configs/


• Используйте селекторы меток для массового просмотра или удаления ресурсов:
kubectl get pods -l tier=frontend
kubectl delete pod -l phase=test


• Для быстрого прототипирования создавайте деплойменты и сервисы из командной строки:
kubectl create deployment webapp --image=nginx
kubectl expose deployment webapp --port=80


➡️ Оригинальная статья из блога k8s

🐸Библиотека devops'a

#локализация
  • ❤ 3
  • 👍 2
More from @devopsslib
  1. Sep 29, 2026Для тех, кто работает с Kubernetes и облачной инфраструктурой, в октябре намечается отличн…
  2. Sep 29, 2026CENTI CONF: DevOps Day — митап по разработке и инженерным решениям ⚡️ 6 ноября Centicore G…
  3. Sep 28, 2026Роутер умеет больше, чем просто раздавать Wi-Fi: JETON TECH по спеццене в DNS Собирались о…
  4. Sep 25, 2026🤖 ИИ-агенту теперь можно поставить задачу прямо в GitLab — и не расписывать каждый следую…
  5. Sep 18, 2026От исходного кода до процессора: разберись, как работает программа 💻 Стартует практически…
  6. Sep 15, 2026😭 Как не потратить недельный лимит AI-кодинга за три дня? Разберём на вебинаре, как трати…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →