Skip to content

Latest commit

 

History

History
49 lines (34 loc) · 4.08 KB

File metadata and controls

49 lines (34 loc) · 4.08 KB

Инсталляция конфигурации ArgoCD

Это репозиторий для установки ArgoCD, который подключится к github репозиторию с настройками ArgoCD, чтобы передеплоить Argo уже с кастомной настройкой.

Как установить

Чтобы скачивать из Вашего github репозитория, Argo нужно дать доступ с помощью github приложения. Создайте приложение, у которого выдан доступ на чтение репозиториев и установите в свою организацию.

Склонируйте репозиторий и запустите скрипт fillArgoGithubCredentails.sh

./fillArgoGithubCredentials.sh ${your_credentials_name} "${repository_or_organization_path}" ${app_id} ${app_installation_id} "${app_pem_file_path} ${argocd_config_repo}"
  • your_credentials_name - любое имя для кредов
  • repository_or_organization_path - путь к организации или репозиторию на github, к которому выдан доступ приложению (https://github.com/YOURORGANIZATION)
  • app_id - id приложения github
  • app_installation_id - id инсталляции (надо зайти в установленное в организацию github приложение и посмотреть)
  • app_pem_file_path - путь к файлу с секретным ключем приложения, который генери руется при создании приложения
  • argocd_config_repo - путь к github репозиторию (внутри организации), в котором содержится настройка ArgoCD

Будет подготовлена конфигурация для ArgoCD, которая смотрит в репозиторий ${argocd_config_repo} содержащий ArgoCD и его настройки и подкачивает оттуда изменения. Argo деплоит сам себя. В настройках указывается какие addon'ы для кластера и приложения проектов в какие кластеры нужно установить.

При этом будет создан файл ./config/argocd/main-github-credentials.yaml который содержит креды именно для доступа к организации или репозиторию, в котором содержится целевая настройка argocd_config_repo. Для добавления кредов (уже в репозитории конфигурации), нужно использовать новые имена кредов и файла.

Настройте ноды, на которые будет установлен argo в ./kustomization.yaml. По умолчанию Арго установится только на ноды, где установлен лейбл node-role.kubernetes.io/system-workloads и установлен Taint node-role=system-workloads:NoExecute

spec:
  tolerations:
    - key: node-role
      operator: Equal
      value: system-workloads
      effect: NoExecute
  nodeSelector:
    node-role.kubernetes.io/system-workloads: ""

Если в Вашем кластере на целевых нодах стоит другой лейбл или Taint, измените на корректные.

После этого устанавливаем Argo в свой кластер, просто запускаем в корне этого проекта

kubectl apply -k . --context <контекст кластера где будет развернут арго>

Арго развернется, и скачает сам себя с конфигами из репозитория ${argocd_config_repo} и развернёт все адоны и приложения из конфига.

Как настроить репозиторий с настройками