TGViewer
DevOps Star (Звезда Девопса) DevOps Star (Звезда Девопса) @devops_star · 2.13K subscribers
Post #265 989
🔥 Как ускорить деплой в Kubernetes?

Медленный деплой в Kubernetes — боль любого DevOps-инженера. Ожидание завершения обновления может растягиваться на минуты, а иногда и дольше. Давайте разберёмся, как ускорить этот процесс!

1️⃣ Используем kubectl rollout restart вместо полного пересоздания подов
Вместо kubectl delete pod лучше использовать:

kubectl rollout restart deployment my-app

Так Kubernetes обновит поды поочередно, не убивая их сразу.

2️⃣ Минимизируем образ контейнера
Чем меньше образ, тем быстрее он загружается. Используйте минимальные базовые образы, например:
- alpine
- distroless
- scratch

3️⃣ Включаем сжатие в Docker
При docker push можно сжать слои с помощью:

export DOCKER_BUILDKIT=1
docker build --compress -t my-app .

Это ускорит загрузку образа в реестр.

4️⃣ Используем kustomize или Helm для ускорения шаблонизации
Kustomize позволяет изменять манифесты без дублирования, а Helm хранит шаблоны, минимизируя изменения в values.yaml.

5️⃣ Подключаем imagePullPolicy: IfNotPresent
Если образ уже есть на ноде, Kubernetes не будет скачивать его заново. Включаем в деплойменте:

containers:
- name: my-app
image: my-registry/my-app:latest
imagePullPolicy: IfNotPresent

Но будь осторожен — это работает только при версионных тегах!

6️⃣ Настраиваем readinessProbe
Иногда поды стартуют, но ещё не готовы принимать трафик. Добавляем readinessProbe, чтобы сервис не направлял запросы на неподготовленные поды:

readinessProbe:
httpGet:
path: /health
port: 8080
initialDelaySeconds: 2
periodSeconds: 5

Это ускоряет переключение на новые версии.

7️⃣ Параллельный rollout (maxSurge/maxUnavailable)
Позволяет обновлять несколько подов сразу:

strategy:
rollingUpdate:
maxSurge: 2
maxUnavailable: 1
type: RollingUpdate

Так Kubernetes создаст новые поды раньше, чем удалит старые.

8️⃣ Используем --cache-from для кэширования слоёв Docker
Если билдите образ в CI/CD, кэшируйте слои:

docker build --cache-from=my-registry/my-app:latest -t my-app .

Это ускорит сборку.

9️⃣ Оптимизируем CI/CD пайплайн
- Используем kaniko для сборки образов без Docker Daemon
- Включаем параллельные шаги
- Отключаем ненужные тесты в pre-prod стадиях


👉 @devops_star
  • 👍 3
More from @devops_star
  1. Oct 1, 2026SQL за полтора часа в одном видео! Полный базовый курс по SQL. Базы данных курс для начина…
  2. Sep 30, 2026Как стать DevOps Инженером с Нуля, что учить и в каком порядке 00:00 – 1. Вступление 01:06…
  3. Sep 28, 2026RAID-массивы - восстановление данных Технологии Raid массивов. Что делать, если из raid ма…
  4. Sep 23, 2026🔍 AIOps против DevOps Может ли AIOps полностью заменить DevOps? 🔄 1/ 💡 Культура имеет з…
  5. Sep 21, 2026Инструментарий инженера DevOps🧰🎒 Операционная система → Linux (recommended), Windows Про…
  6. Sep 17, 2026Стратегии деплоя: как мы пришли к использованию Argo CD Сегодня хочу затронуть тему, котор…
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 →