
ArgoCD CLI - Criar um projeto e adicionar repositórios
Contents
Vamos configurar um projeto no ArgoCD (por padrão já existe o projeto chamado default) e adicionar repositórios. O ArgoCD estará rodando dentro do Openshift.
Nesse nosso cenário o ArgoCD roda em um namespace e gerencia aplicações de outro namespace. Vamos usar o CLI do ArgoCD, mas tudo pode ser feito pela sua interface web. O repositório de código fica no GitLab.
Premissas
- ArgoCD instalado no Openshift por meio do OperatorHub (loja de apps do Openshift)
- Nome da instância do ArgoCD:
argo(vários recursos tem seu nome baseado nesse nome) - Namespace onde fica o ArgoCD:
openshift-gitops - Namespace da aplicação de exemplo:
jarvis
Adicionar o client via asdf
Logar no ArgoCD com usuário admin
- Na linha 2 obtemos o endereço do ArgoCD
-n openshift-gitopsnamespace onde roda o ArgoCDsecret/argocd-clustersecret que contém o password do usuárioadmin
Alguns comandos
Projeto no ArgoCD
Por padrão o ArgoCD vem com um projeto chamado default e todas as aplicações - também por padrão - são criadas nele. O projeto é um recurso dentro do cluster e pode ser visto assim oc get AppProject default -o yaml -n openshift-gitops ou pela interface web do ArgoCD.
Vamos criar um outro projeto específico para a nossa aplicação (repositório git). Certamente um mesmo projeto no ArgoCD pode gerenciar múltiplas aplicações (repositórios git), ex: dois repositórios git que guardam front e back, que são duas aplicações distintas, podem ser gerenciadas dentro do mesmo projeto no ArgoCD.
Criar projeto
-d, --dest stringArray: endereço do cluster e namespace que esse projeto irá gerenciar recursos (ex https://192.168.99.100:8443,default)-s, --src stringArray: endereço do repositório git de onde esse projeto poderá baixar código (vai ser o endereço git da aplicação)- Para múltiplos sources (repositórios), adicione
--srcpara cada um deles no comando acima
Recurso do projeto dentro do cluster
O recurso dentro do cluster referente a esse projeto pode ser visto assim
| |
Diferenças em relação ao projeto default
É interessante comparar com o projeto default para se ter noção das diferenças
- Você pode trocar
icdiff -N -Hpordiff --side-by-side --color- icdiff: https://github.com/jeffkaufman/icdiff
Adicionar as chaves públicas SSH do GitLab
Para que o ArgoCD possa acessar o GitLab sem reclamar da validade da chave (https).
| |
Adicionar um repositório do GitLab
Para que o ArgoCD possa clonar o repositório git.
É preciso criar uma chave pública-privada (ex: ssh-keygen -t rsa -b 4096 -C "USER@argocd-REPONAME" -f /tmp/mykey/id_rsa) para um usuário que tenha acesso ao repositório git. A chave pública deve ser adiciona ao usuário nas configurações do GitLab. A chave privada deve ser adicionada na configuração do repositório git no ArgoCD e isso será feito no comando abaixo.
Checar se o ArgoCD conseguiu se conectar ao repositório git adicionado
| |
Adicionar permissão para o ArgoCD maniupular recursos no namespace
O ArgoCD está no namespace openshift-gitops e vai controlar aplicações que serão deployadas no namespace jarvis. É preciso liberar permissão para que o ArgoCD possa manipular os recursos no namespace jarvis.
Isso é tudo!
Ao criar uma aplicação no ArgoCD (que roda no namespace openshift-gitops) ela será deployada no namespace jarvis.
MhagnumDw
