В Gitlab есть возможность подключения кластера kubernetes с группе проекта, начиная с версии premium - несколько кластеров к одной группе.
В меню группы выберите вкладку "Kubernetes" и нажмите "Add existing cluster".
введите имя кластера (например его IP или hostname)
введите "API URL" обычно имеет вид https://x.x.x.x:6443 или https://x.x.x.x:443
Заполните "CA certificate" - сертификат созданный по-умолчанию, его можно посмотреть на любой ноде
для этого в терминале ноды кластера введите команду:
она показывает имеющиеся секреты
получите сертификат используя имя секрета и скопируйте его полностью в гитлаб
Service Token - это служебный токен доступа, для учетной записи пользователя с административными правами
создайте файл с именем gitlab-admin-service-account.yaml
скопируйте в него следующее содержимое:
примените этот yaml файл
запросите токен для учетной записи gitlab-admin и скопируйте его полностью в гитлаб
чекбоксы оставьте по-умолчанию
нажмите "Add Kubernetes cluster"
Значок статуса интеграции должен изменится на "включено", если нет будет выведена ошибка, проверьте еще раз сертификат и токен
введите Base domain - это IP ноды кластера с wildcard доменом nip.io - x.x.x.x.nip.io
В разделе Applications установите Helm Tiller и Ingress
В меню группы выберите вкладку "Kubernetes" и нажмите "Add existing cluster".
введите имя кластера (например его IP или hostname)
введите "API URL" обычно имеет вид https://x.x.x.x:6443 или https://x.x.x.x:443
Заполните "CA certificate" - сертификат созданный по-умолчанию, его можно посмотреть на любой ноде
для этого в терминале ноды кластера введите команду:
kubectl get secrets
NAME TYPE DATA AGE default-token-2qr7s kubernetes.io/service-account-token 3 3d7h
она показывает имеющиеся секреты
получите сертификат используя имя секрета и скопируйте его полностью в гитлаб
kubectl get secret default-token-2qr7s -o jsonpath="{['data']['ca\.crt']}" | base64 --decode
-----BEGIN CERTIFICATE----- MIIC+TCCAeGgAwIBAgIJAPo6nlw1y3FuMA0GCSqGSIb3DQEBCwUAMBIxEDAOBgNV .............................................................. LMm1Z1GeawSWHU/+JC7RDQDCH1JGUbHOMj7huxidHZ3+WY9LAm+qe8LhVu0O -----END CERTIFICATE-----
Service Token - это служебный токен доступа, для учетной записи пользователя с административными правами
создайте файл с именем gitlab-admin-service-account.yaml
vi gitlab-admin-service-account.yaml
скопируйте в него следующее содержимое:
apiVersion: v1 kind: ServiceAccount metadata: name: gitlab-admin namespace: kube-system --- apiVersion: rbac.authorization.k8s.io/v1beta1 kind: ClusterRoleBinding metadata: name: gitlab-admin roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: cluster-admin subjects: - kind: ServiceAccount name: gitlab-admin namespace: kube-system
примените этот yaml файл
kubectl apply -f gitlab-admin-service-account.yaml
запросите токен для учетной записи gitlab-admin и скопируйте его полностью в гитлаб
kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep gitlab-admin | awk '{print $1}')
чекбоксы оставьте по-умолчанию
нажмите "Add Kubernetes cluster"
Значок статуса интеграции должен изменится на "включено", если нет будет выведена ошибка, проверьте еще раз сертификат и токен
введите Base domain - это IP ноды кластера с wildcard доменом nip.io - x.x.x.x.nip.io
В разделе Applications установите Helm Tiller и Ingress
Комментариев нет:
Отправить комментарий