Как развернуть Jenkins на Kubernetes: пошаговое руководство 2026
Развернуть Jenkins на Kubernetes можно за 30‑40 минут, следуя пошаговой инструкции с готовыми манифестами и настройками CI/CD.
Развернуть Jenkins на Kubernetes за 30‑40 минут можно, используя официальные Helm‑чарты и готовые манифесты; процесс включает подготовку кластера, установку Helm, конфигурацию Persistent Volume и настройку базовых pipeline. Эта статья подробно описывает каждый шаг, чтобы вы смогли быстро запустить CI/CD в 2026‑м году.
Как установить Jenkins в Kubernetes?
Установить Jenkins в Kubernetes проще всего с помощью Helm‑чарта, который автоматически создаёт все необходимые ресурсы, включая Service, Deployment и PVC. Для начала убедитесь, что у вас установлен Helm версии 3.12 и доступ к кластеру.
- 1. Добавьте репозиторий Jenkins:
helm repo add jenkins https://charts.jenkins.io - 2. Обновите локальный кэш чарта:
helm repo update - 3. Создайте namespace
jenkins:kubectl create namespace jenkins - 4. Установите чарт с базовыми параметрами:
helm install jenkins jenkins/jenkins -n jenkins --set controller.tag=2.462.1 - 5. Проверьте статус подов:
kubectl get pods -n jenkins
После успешного запуска вы получите внешний IP‑адрес или LoadBalancer, по которому сможете зайти в веб‑интерфейс Jenkins.
Почему использовать Jenkins в Kubernetes выгодно?
Jenkins в Kubernetes обеспечивает масштабируемость, автоматическое восстановление и изоляцию сборок, что экономит до 30% инфраструктурных расходов по сравнению с традиционными VM‑решениями.
- • Автоскейлинг: при росте нагрузки Kubernetes автоматически добавляет новые поды‑агенты.
- • Изоляция: каждый pipeline запускается в отдельном контейнере, что повышает безопасность.
- • Экономия: в 2026‑м году средняя стоимость одного vCPU в облаке составляет 1500 руб./мес, а использование Kubernetes позволяет сократить потребление до 70% от базовой нагрузки.
- • Обновляемость: новые версии Jenkins и плагинов разворачиваются без простоя, используя rolling‑update.
Что нужно подготовить перед развертыванием?
Перед установкой убедитесь, что кластер готов к работе с постоянными томами и имеет доступ к Docker‑реестру, где хранятся образы Jenkins и агентов.
- 1. Настройте StorageClass, например
fast-ssd, с параметромreclaimPolicy: Retain. - 2. Создайте секрет Docker‑registry:
kubectl create secret docker-registry regcred --docker-server=registry.example.com --docker-username=user --docker-password=pass --docker-email=mail@example.com -n jenkins - 3. Проверьте доступность Ingress‑контроллера (NGINX или Traefik) для внешнего доступа.
- 4. Определите ресурсы (CPU, RAM) для контроллера Jenkins: минимум 2 CPU и 4 GiB RAM.
- 5. Подготовьте файл values.yaml с параметрами PVC (размер 20 GiB) и настройками безопасности.
Как настроить CI/CD pipeline после установки?
После первого входа в Jenkins создайте новый pipeline, используя декларативный Jenkinsfile, который будет запускаться в Kubernetes‑агенте.
- 1. Перейдите в «New Item», выберите «Pipeline» и назовите его, например
my-app-ci. - 2. В разделе «Pipeline script» вставьте Jenkinsfile:
pipeline { agent { kubernetes { yaml """ apiVersion: v1 kind: Pod spec: containers: - name: maven image: maven:3.9.6-jdk-11 command: - cat tty: true """ } } stages { stage('Checkout') { steps { checkout scm } } stage('Build') { steps { sh 'mvn clean package' } } stage('Test') { steps { sh 'mvn test' } } stage('Deploy') { steps { sh 'kubectl apply -f k8s/' } } } } - 3. Сохраните и запустите pipeline – Jenkins автоматически создаст pod‑агент в кластере.
- 4. Настройте уведомления в Slack или Telegram, указав webhook URL в разделе «Post-build Actions».
Что делать, если возникли ошибки при деплое?
Если при развертывании появляются ошибки, сначала проверьте логи подов Jenkins и агентов, а затем выполните диагностику согласно следующему чек‑листу.
- 1. Получите список подов:
kubectl get pods -n jenkinsи найдите статусCrashLoopBackOff. - 2. Посмотрите логи:
kubectl logs <имя‑пода> -n jenkins– ищите сообщения о нехватке памяти или ошибках монтирования PVC. - 3. Увеличьте лимиты ресурсов в values.yaml (например,
resources.limits.cpu: "4" resources.limits.memory: "8Gi"). - 4. Проверьте, что секрет Docker‑registry корректен:
kubectl describe secret regcred -n jenkins. - 5. Если проблема в Ingress, перезапустите контроллер:
kubectl rollout restart deployment/ingress-nginx-controller -n ingress-nginx. - 6. При необходимости откатите релиз Helm:
helm rollback jenkins 1 -n jenkins.
Воспользуйтесь бесплатным инструментом Kubernetes YAML Generator на toolbox-online.ru — работает онлайн, без регистрации.
Теги