DO-1431 Co-authored-by: denis.patrakeev <denis.patrakeev@avroid.tech> Reviewed-on: https://git.avroid.tech/K8s/k8s-configs/pulls/6
4.2 KiB
Install Argo CD by argo-cd in argo-helm
Create from version
| Project | Version |
|---|---|
| ArgoCD Helm | 7.8.2 |
| ArgoCD | v2.14.2 |
| ArgoCD Vault Plugin | 1.18.1 |
Plugins
- Argo CD Vault Plugin
https://github.com/argoproj-labs/argocd-vault-plugin/tree/main/manifests/cmp-sidecar
https://habr.com/ru/articles/645773/
Install
Настраиваем для работы файл конфигурации kubectl для подключения к кластеру Kubernetes
Готовим служебную УЗ для vault:
kubectl apply -f .rbac/vault-service-account.yaml
Получаем из Vault секреты с паролями/токенами/сертификатами и выгружаем в окружение оболочки:
./argocd_values_secrets_init.sh
source .creds
Создаём секрет с сертификатами:
kubectl -n argocd create secret tls argocd-server-tls \
--cert=.secrets/argocd_cert.pem \
--key=.secrets/argocd_key.pem
Добавляем конфигурацию для плагина ArgoCD Vault:
kubectl -n argocd apply -f .secrets/argocd-vault-plugin-configmap.yaml
kubectl -n argocd apply -f .secrets/argocd-vault-plugin-secret.yaml
И производим непосредственную установку ArgoCD:
helm repo add argo https://argoproj.github.io/argo-helm
helm repo update
helm install -n argocd argo-cd argo/argo-cd -f values-override.yaml \
--set configs.secret.argocdServerAdminPassword=$ARGOCD_ADMIN_PASSWORD_HASH \
--set configs.repositories.argocd-git-server.username=$ARGOCD_GIT_REPO_USER \
--set configs.repositories.argocd-git-server.password=$ARGOCD_GIT_REPO_USER_PASSWORD
Подпихиваем в секрет argocd-secret необходимые для конфигурации секреты:
kubectl -n argocd patch --patch-file .secrets/argocd-secret-path.yaml secret argocd-secret
Upgrade/Changes
Обновление настроек и чарта делаем так:
В начале сравниваем содержимое values-override.yaml с исходным файлом values.yaml
(ссылка на исходную версию зафиксирована в заголовке values-override.yaml) через diff (IDE лучше).
Или с новой версией values.yaml в Helm-чарте.
Вносим необходимые правки, новые опции или добавляем секреты.
Получаем из Vault секреты с паролями/токенами/сертификатами и выгружаем в окружение оболочки:
./argocd_values_secrets_init.sh
source .creds
Создаём секрет с сертификатами:
kubectl -n argocd create secret tls argocd-server-tls \
--cert=.secrets/argocd_cert.pem \
--key=.secrets/argocd_key.pem
Добавляем конфигурацию для плагина ArgoCD Vault:
kubectl -n argocd apply -f .secrets/argocd-vault-plugin-configmap.yaml
kubectl -n argocd apply -f .secrets/argocd-vault-plugin-secret.yaml
Подпихиваем в секрет argocd-secret необходимые для конфигурации секреты:
kubectl -n argocd patch --patch-file .secrets/argocd-secret-path.yaml secret argocd-secret
Затем применяем:
helm upgrade -n argocd argo-cd argo/argo-cd -f values-override.yaml \
--set configs.secret.argocdServerAdminPassword=$ARGOCD_ADMIN_PASSWORD_HASH \
--set configs.repositories.argocd-git-server.username=$ARGOCD_GIT_REPO_USER \
--set configs.repositories.argocd-git-server.password=$ARGOCD_GIT_REPO_USER_PASSWORD
Установка и использование CLI Argo CD на локальной машине
https://argo-cd.readthedocs.io/en/stable/cli_installation
MacOS:
brew install argocd
Использование:
argocd login argocd.avroid.tech