TToolBox
💻
💻 dev
13 апреля 2026 г.6 мин чтения

Как развернуть Jenkins на Kubernetes: пошаговое руководство 2026

Как развернуть 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 — работает онлайн, без регистрации.
Поделиться:

Теги

#jenkins#kubernetes#ci-cd#devops#helm