Jenkins -> k8s
- Есть Jenkins вне кластера. Дополнительно установлен плагин Kubernetes. Остальные нужные плагины подтянутся сами (Kubernetes client API, ...).
- Есть кластер k8s с доступным для Jenkins внешним адресом. Внутри кластера есть одна нода с доступом в Интернет (доступ с ноды для приложенного pipeline критичен).
- На кластере создаем namespace, пользователя jenkins, токен
kubectl create namespace jenkins kubectl create sa jenkins -n jenkins kubectl create token jenkins -n jenkins --duration=8760h #здесь отобразится токен, его нужно сохранить, затем добавим в настройки Cloud kubectl create rolebinding jenkins-admin-binding --clusterrole=admin --serviceaccount=jenkins:jenkins --namespace=jenkins
- //еще не полностью понял// Под термином Cloud в Jenkins понимается поддерживаемые типы виртуализации/контейнеризации для создания динамических агентов. Т е авторизация и т д, настраиваемая в Clouds, используется только для создания динамического агента и затем удаления его. Все. Агент создается пустой, все остальное нужно доделывать. При установке соответствующих плагинов в списке появляются возможные типы облаков.
- Для использования в динамическом агенте настроим авторизацию. Настроить Jenkins - Credentials - System - Global credentials
- Выбрать тип Secret text, в поле Secret вставляем сохраненный токен, ID и Description обычно одинаковый.
- Добавляем Cloud. Name это имя, любое. Kubernetes URL - адрес кластера, по которому Jenkins может подключиться. Credentials - созданный на предыдущем шаге.
- Справа есть кнопка Test connection Обязательно проверить соединение.
- Добавить стоит только адрес Jenkins сервера и Web Socket. Все остальное по умолчанию.
- Настройка основы для динамического Jenkins клиента завершена.