Работал ли с шаблоном для деплоя в Kubernetes

«Работал ли с шаблоном для деплоя в Kubernetes» — вопрос из категории DevOps, который задают на 23% собеседований Golang Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Да, работал. Использовал Helm для управления шаблонами деплоя в Kubernetes.

Пример простого Helm-чарта:

# values.yaml
replicaCount: 2
image:
  repository: nginx
  tag: latest
# templates/deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: {{ .Release.Name }}-app
spec:
  replicas: {{ .Values.replicaCount }}
  template:
    spec:
      containers:
      - name: app
        image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"

Также использовал Kustomize для кастомизации манифестов. Например, переопределение количества реплик или переменных окружения для разных окружений (dev/prod).

Плюсы:

  • Гибкость настройки через values.yaml
  • Возможность переиспользования шаблонов
  • Удобство управления зависимостями (Helm)