Estudos

Criando uma esteira de entrega com Terraform, Kubernetes, Cloud Build, Docker e Github

Repositório completo em: https://github.com/camilla-m/descomplicando-devops

Criar GKE com Terraform

  1. Fazer no Cloud Shell um terraform init e um terraform apply neste arquivo main.tf na pasta terraform.
resource "google_container_cluster" "my_autopilot_cluster" {
  name     = "linuxtips"
  location = "us-central1" # or your desired region
  enable_autopilot = true
}

Quando o cluster ficar pronto, rodar este comando no Cloud Shell:

gcloud container clusters get-credentials linuxtips \
    --location us-central1

Criar cloudbuild reutilizando Artifact Registry hello-repo

  1. Reutilizar Artifact Registry desta aula de conteinerização com Artifact Registry.
  2. Atualizar cloudbuild.yaml do repositório com informações do PROJECT_ID e nome da imagem e nome do repositório, caso necessário. Atualizar as linhas 11, 12 e 13. Revisar linhas 4, 7 e 9.
  3. Se orientar de renomear o cloudbuild_kubernetes.yaml para cloudbuild.yaml para reaproveitar o Cloud Build deste tutorial, pois ele busca um cloudbuild.yaml para configurar a pipeline.

Aplicar deploy e serviço no Kubernetes

  1. Dar um kubectl apply -f no deployment.yaml e service.yaml do repositório do Github. Se atentar principalmente no arquivo de deployment se o nome do repositório do Artifact Registry, do ID do projeto e da imagem está correto.
  2. Pegar o external ip do serviço novo que foi criado e acessar: http://EXTERNAL-IP e reservar no browser.

Subir uma alteração

  1. Subir alteração no server.js na parte da mensagem do GET dar um push para depois avaliar a execução do Cloud Build.
  2. Após subir alteração, entrar no Cloud Shell e dar um kubectl get pods para acompanhar a substituição de um pod velho pelo novo que está subindo.
  3. Assim que substituir e o status estiver como Running do mais recente, acessar novamente o IP externo e ver a atualização.

You Might Also Like

No Comments

Leave a Reply