Деплойте приложения в Kubernetes правильно — без простоев, с масштабированием и надёжной конфигурацией.
1. Используйте Readiness и Liveness пробы
Kubernetes отслеживает, готово ли ваше приложение принимать трафик.
livenessProbe:
httpGet:
path: /healthz
port: 8080
initialDelaySeconds: 5
periodSeconds: 10
readinessProbe:
httpGet:
path: /ready
port: 8080
initialDelaySeconds: 5
periodSeconds: 10
2. Настройте ресурсы
Это помогает избежать перегрузки узлов или нехватки ресурсов:
resources:
requests:
cpu: "250m"
memory: "256Mi"
limits:
cpu: "500m"
memory: "512Mi"
3. Используйте Rolling Updates
Позволяет обновлять приложение без простоя:
strategy:
type: RollingUpdate
rollingUpdate:
maxUnavailable: 1
maxSurge: 1
4. Храните секреты безопасно
Пример использования Kubernetes Secret:
env:
- name: DB_PASSWORD
valueFrom:
secretKeyRef:
name: db-secret
key: password
5. Разносите конфиги через ConfigMap
Не добавляйте конфигурации в образ:
envFrom:
- configMapRef:
name: app-config
6. Используйте метки и селекторы
Хорошая структура меток облегчает управление и мониторинг:
metadata:
labels:
app: myapp
tier: backend
7. Отдайте предпочтение Helm или Kustomize
Эти инструменты упрощают шаблоны и управление окружениями.
8. Внедрите мониторинг и логи
Prometheus, Grafana и стек логирования помогут держать всё под контролем.
Вывод
Следуя этим практикам, вы сделаете деплой в Kubernetes надёжным, масштабируемым и безопасным.