Я воспроизвел ваш сценарий, я объясню, как это работает для меня. Я использую GKE с Kubernetes 1.15.3 и HELM 2.16.1.
Я загрузил таблицу управления рулем на свой локальный компьютер и распаковал файл, чтобы настроить значение.yaml:
$ helm fetch stable/jenkins
$ tar xzvf jenkins-1.9.16.tgz
В папке jenkins отредактируйте строки 422-427 из файла values.yaml
.
agent:
...
requests:
cpu: "2"
memory: "2Gi"
limits:
cpu: "4"
memory: "3Gi"
...
Это настроит контейнер агента для запуска с указанными ресурсами.
Выполните другие изменения в файле, если вы хотите, для этого примера я позволю со значениями по умолчанию.
Установить таблицу управления:
helm install jenkins/ -n jenkins
После установки следуйте инструкциям на экран для доступа к консоли jenkins.
Чтобы проверить, будут ли агенты запускаться с настроенными ресурсами, давайте создадим новое задание с помощью простой команды оболочки.
New Item > Freestyle project
В разделе «Конфигурация задания» выберите «Выполнить оболочку» над разделом «Сборка» в раскрывающемся списке. Введите любую команду linux как id
, ls
, uname -a
и т. Д. c ...
Сохранить и вызвать кнопку Build Now
.
Проверить в кубернетах для новые контейнеры, в этом случае новый контейнер агента имеет имя default-6w3fq
См. описание модуля:
kubectl describe pod default-6w3fq
Name: default-6w3fq
...
IP:
Containers:
jnlp:
Image: jenkins/jnlp-slave:3.27-1
...
Limits:
cpu: 4
memory: 3Gi
Requests:
cpu: 2
memory: 2Gi
...
Вы можете ждать задания завершите и просмотрите журналы заданий, вместо этого используйте команду kubectl
.
Я попытался выполнить развертывание со значениями по умолчанию и обновить таблицу управления новыми значениями значений ... ничего не произошло. Это сработало, когда я запустил обновление с флагом --force
: helm upgrade jenkins jenkins/ --force
- force - принудительно обновлять ресурсы с помощью стратегии замены
Ссылки: https://helm.sh/docs/helm/helm_upgrade/ https://github.com/helm/charts/tree/master/stable/jenkins