Voltar ao blog

Implantando Aplicações no Kubernetes Usando Argo CD e GitOps

Implantando Aplicações no Kubernetes Usando Argo CD e GitOps

Introdução

Kubernetes tornou-se um padrão para implantar grandes aplicações. Ele ajuda os desenvolvedores a obter vantagens significativas e oferece recursos que não estão disponíveis na hospedagem de servidores tradicional. O Kubernetes permite o dimensionamento horizontal sem o incômodo da infraestrutura. Além disso, reduz o custo de aquisição e manutenção da infraestrutura à medida que a aplicação cresce.

No entanto, gerenciar aplicações no Kubernetes também pode ser complexo e exige habilidades avançadas. Implantar aplicações usando o Kubernetes e o Integração Contínua e Implantação Contínua processo (CI/CD) ajuda a superar esse processo complexo fornecendo abstração. GitOps é uma das ferramentas que pode ajudar a alcançar a abstração.

Neste tutorial, demonstraremos como usar o Argo CD para integrar e implantar continuamente aplicações no Kubernetes. Sempre que qualquer alteração é enviada para o repositório, ela é implantada no cluster de destino. Argo CD também fornece controles de versão, configurações e ambientes de aplicação ao se integrar com todo o ciclo de vida de desenvolvimento de software. Se você tiver gerenciadores de pacotes para o Kubernetes, como o Helm, ou se você tiver seu repositório hospedado no BitBucket ou GitLab, o Argo CD também pode se integrar perfeitamente com todas essas plataformas.

Pré-requisitos

Para concluir este tutorial, você deve ter:

Passo 1 – Instalar o Argo CD

Antes de podermos instalar o Argo CD, precisamos ter um ambiente Kubernetes rodando com kubectl. Você pode testar isso executando o comando abaixo:

Deploying Applications on Kubernetes Using Argo CD and GitOps Get Nodes

Você deve ver pelo menos um nó do Kubernetes rodando no status Ready. Se não houver nenhum nó disponível, você deve verificar novamente sua instalação do Kubernetes. Em seguida, criaremos um namespace separado para nossa instalação do Kubernetes. Vamos chamá-lo de argocd. Manteremos o serviço relacionado ao Argo CD neste namespace:

Depois disso, instale os scripts do Argo CD no namespace recém-criado acima executando o comando abaixo:

Deploying Applications on Kubernetes Using Argo CD and GitOps Install ArgoCD

Para verificar o status dos pods do Kubernetes, execute o comando abaixo:

Você obterá um resultado como o abaixo:

Deploying Applications on Kubernetes Using Argo CD and GitOps Get Pods

Aqui você concluiu com sucesso a instalação do Argo CD. Para sair da interface watch, você pode pressionar Ctrl + C. Para acessar os serviços neste cluster Kubernetes, precisaremos encaminhar as portas. Mostraremos como fazer isso no próximo passo.

Passo 2 – Encaminhar Portas para Acessar o Argo CD

O Kubernetes pode implantar sua aplicação em qualquer porta de sua escolha. Portanto, é necessário encaminhar as portas da aplicação Kubernetes para acessá-las a partir da máquina local. O Argo CD expõe um serviço chamado argocd-server que usa a porta 443. A porta 443 é a porta padrão para os serviços HTTPS e HTTP. Você pode encaminhar as portas do Kubernetes para uma porta de sua escolha. No nosso exemplo abaixo, encaminhamos a porta para 8080. Para encaminhar portas, execute o comando abaixo no terminal:

Assim que você encaminhar a porta, ela será bloqueada para que outros serviços não possam acessá-la. Para ter acesso ininterrupto, é sempre recomendável executar o comando acima mencionado em um novo terminal. Assim que terminar, você pode pressionar Ctrl+C para sair do processo de encaminhamento de porta.

Depois de ter encaminhado a porta, você pode navegar para o Argo CD navegando para localhost:8080. Serão solicitadas as credenciais que você pode obter na linha de comando na próxima etapa.

Step 3 – Manage Argo CD from the Command Line

Temos que instalar a linha de comando do Argo CD para gerenciar a instalação do Argo CD. A maneira recomendada de instalar o Argo CD é usar um gerenciador de pacotes como o Homebrew. O Homebrew é uma ferramenta popular de gerenciamento de pacotes para instalação no macOS e Linux. Você pode instalar o Homebrew usando o comando abaixo:

Você deve ter o brew instalado em sua máquina. Uma solicitação de senha pode aparecer para o login. Você pode executá-lo executando o comando abaixo:

Você obterá o comando argocd após a instalação acima. Precisaremos recuperar a senha do administrador usando o comando kubectl . Ele foi gerado automaticamente durante a instalação. Abaixo está o comando para adquiri-lo:

Agora que você instalou o Argo CD, pode fazer login usando o comando argocd login abaixo:

Você precisará fazer login para implantar o aplicativo ao usar a linha de comando:

Applications

Você pode receber um aviso de segurança. Se sim, pressione y para prosseguir. Muitos usuários podem desejar alterar a senha após o login. Se sim, execute o comando argocd account update-password para alterar a senha. Agora temos uma configuração do Argo CD totalmente funcional.

Finalmente, implantaremos um aplicativo no cluster Kubernetes usando o Argo CD instalado.

Step 4 – Utilize Multiple Clusters

Antes de continuar com a configuração do seu aplicativo, é necessário conhecer a máquina de destino onde você deseja implantá-lo. Para muitos dos cenários, o Argo CD e o aplicativo implantado podem ser executados no mesmo cluster. Este é o comportamento padrão do Argo CD, mas esta não é a limitação. Se você deseja implantar o aplicativo em outras máquinas de destino, primeiro execute o comando kubectl config em sua máquina:

Suponha que você obtenha dois clusters: test-deploy-cluster e test-target-cluster. Agora, se o test-deploy-cluster é onde o seu Argo CD está e você deseja implantar no test-target-cluster, então execute o comando abaixo:

O comando acima adicionará detalhes de clusters adicionais no Argo CD. Ele também permitirá implantar serviços no cluster de destino do Argo CD.

Step 5 – Deploy an Example Application

Finalmente é hora de implantar aplicativos no cluster Kubernetes. Usaremos os aplicativos de exemplo fornecidos pelo Argo CD. Também utilizaremos o helm-guestbook que é construído usando Helm charts.

Para instalar o aplicativo, usaremos o comando argo app create . Especificaremos o repositório Git, helm-guestbook , e passando o seu destino e namespace padrão:

Você pode verificar o status do aplicativo recém-criado executando o comando argocd app get:

Não se surpreenda se vir OutOfSync status. Até agora, baixamos o Helm chart e criamos um ponto de entrada para ele no Argo CD. No entanto, na parte do Kubernetes, não há nenhum recurso alocado para ele. Para sincronizar este aplicativo, execute o comando abaixo:

Deploying Applications on Kubernetes Using Argo CD and GitOps App Sync

Ao trabalhar com GitOps, é sempre necessário sincronizar o aplicativo com o upstream. Portanto, sempre que ocorre uma alteração no repositório, o Argo CD implanta o aplicativo.

Implantamos o aplicativo usando a linha de comando do Argo CD. Você pode obter o mesmo resultado usando a interface web do Argo CD. A interface web é muito útil se você deseja verificar o status e a execução do aplicativo. Para abrir a interface web, abra localhost:8080:

Deploying Applications on Kubernetes Using Argo CD and GitOps Application UI

Para verificar a instalação, abriremos o aplicativo no navegador. Nosso helm-guestbook roda na porta 80. Se você tiver qualquer outro aplicativo usando a porta 80, você pode encaminhar a porta para que outros aplicativos não sejam interrompidos:

Finalmente, abra a url localhost:9090 no seu navegador web para ver o seu aplicativo em execução:

 Guestbook UI

Agora, se um desenvolvedor enviar qualquer código para o repositório remoto do GitHub, o ArgoCD irá capturá-lo e refleti-lo. Suas implantações do ArgoCD seriam atualizadas de acordo, fornecendo disponibilidade contínua.

Conclusão

Neste tutorial, mostramos como instalar e implantar aplicativos no Kubernetes usando o Argo CD. É importante garantir que suas implantações no Kubernetes sejam fáceis de manter. O GitOps pode ajudar muito nesse sentido.

O Kubernetes é agora o padrão de implantações na nuvem. A Cloudsigma tem ótimos tutoriais sobre Kubernetes que você pode conferir a seguir:

Feliz Computação!

author

Preslav Dobrev

Autor · CloudSigma

Preslav Dobrev é um designer criativo na CloudSigma, focado na construção de uma identidade empresarial consistente por meio de canais de marketing tradicionais e inovadores. Ele é hábil em combinar a visão artística com o marketing estratégico para criar narrativas de marca impactantes.

Comentários

Nenhum comentário ainda. Seja o primeiro.