Как развернуть Хелм-чарт из Гитлаба в Экс? - PullRequest
0 голосов
/ 07 апреля 2020

Я создал кластер kubernetes и связал его с eks.

Я также создал диаграмму руля и .gitla-ci.yml. Я хочу добавить новый шаг для развертывания моего приложения с помощью helm в кластере, но я не нашел недавнего руководства. Все учебники используют gitlab-auto devops.

Изображение размещено на gitlab.

Как мне выполнить эту задачу?

image: docker:latest
services:
    - docker:dind

variables:
    DOCKER_DRIVER: overlay
    SPRING_PROFILES_ACTIVE: test
    USER_GITLAB: kosted
    APP_NAME: mebooks
    REPO: gara-mebooks
    MAVEN_CLI_OPTS: "-s .m2/settings.xml --batch-mode"
    MAVEN_OPTS: "-Dmaven.repo.local=.m2/repository"


stages:
    - deploy



k8s-deploy:
  stage: deploy
  image: dtzar/helm-kubectl:3.1.2
  only:
    - develop
  script:
    # Read certificate stored in $KUBE_CA_PEM variable and save it in a new file
    - echo $KUBE_URL
    - kubectl config set-cluster gara-eks-cluster --server="$KUBE_URL" --certificate-authority="$KUBE_CA_PEM"
    - kubectl get pods

В консоли gitlab I получил

В соединении с сервером localhost: 8080 было отказано - вы указали правильный хост или порт? Запуск after_script 00:01 Загрузка артефактов для невыполненного задания 00:02 ОШИБКА: задание не выполнено: код выхода 1

1 Ответ

0 голосов
/ 12 апреля 2020

1 - Создание роли или пользователя arn в IAM из вашей консоли aws 2 - подключитесь к своему бастиону и добавьте роль / пользователя arn в ConfigMap aws - но вы можете следовать этому, чтобы понять, как это работает (вы не являются создателем абзаца кластера): https://aws.amazon.com/fr/premiumsupport/knowledge-center/eks-api-server-unauthorized-error/ 3- В вашем gitlab ci вам просто нужно добавить это, если это пользователь, которого вы создали:

k8s-deploy:
  stage: deploy
  image: you need an image with aws + kubectl + helm
  only:
    - develop
  script:
    - aws --version
    - aws --profile default configure set aws_access_key_id "your access id"
    - aws --profile default configure set aws_secret_access_key "your secret"
    - helm version
    - aws eks update-kubeconfig --name NAME-OF-YOUR-CLUSTER --region eu-west-3
    - helm upgrade init
    - helm upgrade --install my-chart ./my-chart-folder

Если Вы создали заметку о роли пользователя, вам просто нужно сделать:

   k8s-deploy:
      stage: deploy
      image: you need an image with aws + kubectl + helm
      only:
        - develop
      script:
        - aws --version
        - helm version
        - aws eks update-kubeconfig --name NAME-OF-YOUR-CLUSTER --region eu-west-3 -arn
        - helm upgrade init
        - helm upgrade --install my-chart ./my-chart-folder
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...