arrow_back

Como configurar o Jenkins no Kubernetes Engine

Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

Como configurar o Jenkins no Kubernetes Engine

Lab 1 hora universal_currency_alt 5 créditos show_chart Intermediário
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP117

Laboratórios autoguiados do Google Cloud

Neste laboratório prático, você aprenderá a orquestrar o Jenkins no Google Kubernetes Engine para gerenciar seu pipeline de entrega de software.

Objetivos

  • Criar um cluster do Kubernetes com o Kubernetes Engine
  • Criar uma implantação e serviços do Jenkins
  • Conectar-se ao Jenkins

Configuração e requisitos

Antes de clicar no botão Start Lab

Leia estas instruções. Os laboratórios são cronometrados e não podem ser pausados. O timer é iniciado quando você clica em Começar o laboratório e mostra por quanto tempo os recursos do Google Cloud vão ficar disponíveis.

Este laboratório prático permite que você realize as atividades em um ambiente real de nuvem, não em uma simulação ou demonstração. Você vai receber novas credenciais temporárias para fazer login e acessar o Google Cloud durante o laboratório.

Confira os requisitos para concluir o laboratório:

  • Acesso a um navegador de Internet padrão (recomendamos o Chrome).
Observação: para executar este laboratório, use o modo de navegação anônima ou uma janela anônima do navegador. Isso evita conflitos entre sua conta pessoal e a conta de estudante, o que poderia causar cobranças extras na sua conta pessoal.
  • Tempo para concluir o laboratório---não se esqueça: depois de começar, não será possível pausar o laboratório.
Observação: não use seu projeto ou conta do Google Cloud neste laboratório para evitar cobranças extras na sua conta.

Como iniciar seu laboratório e fazer login no console do Google Cloud

  1. Clique no botão Começar o laboratório. Se for preciso pagar, você verá um pop-up para selecionar a forma de pagamento. No painel Detalhes do laboratório à esquerda, você verá o seguinte:

    • O botão Abrir Console do Cloud
    • Tempo restante
    • As credenciais temporárias que você vai usar neste laboratório
    • Outras informações se forem necessárias
  2. Clique em Abrir Console do Google. O laboratório ativa recursos e depois abre outra guia com a página Fazer login.

    Dica: coloque as guias em janelas separadas lado a lado.

    Observação: se aparecer a caixa de diálogo Escolher uma conta, clique em Usar outra conta.
  3. Caso seja preciso, copie o Nome de usuário no painel Detalhes do laboratório e cole esse nome na caixa de diálogo Fazer login. Clique em Avançar.

  4. Copie a Senha no painel Detalhes do laboratório e a cole na caixa de diálogo Olá. Clique em Avançar.

    Importante: você precisa usar as credenciais do painel à esquerda. Não use suas credenciais do Google Cloud Ensina. Observação: se você usar sua própria conta do Google Cloud neste laboratório, é possível que receba cobranças adicionais.
  5. Acesse as próximas páginas:

    • Aceite os Termos e Condições.
    • Não adicione opções de recuperação nem autenticação de dois fatores (porque essa é uma conta temporária).
    • Não se inscreva em testes gratuitos.

Depois de alguns instantes, o console do GCP vai ser aberto nesta guia.

Observação: para ver uma lista dos produtos e serviços do Google Cloud, clique no Menu de navegação no canto superior esquerdo. Ícone do menu de navegação

Ativar o Cloud Shell

O Cloud Shell é uma máquina virtual com várias ferramentas de desenvolvimento. Ele tem um diretório principal permanente de 5 GB e é executado no Google Cloud. O Cloud Shell oferece acesso de linha de comando aos recursos do Google Cloud.

  1. Clique em Ativar o Cloud Shell Ícone "Ativar o Cloud Shell" na parte de cima do console do Google Cloud.

Depois de se conectar, vai notar que sua conta já está autenticada, e que o projeto está configurado com seu PROJECT_ID. A saída contém uma linha que declara o projeto PROJECT_ID para esta sessão:

Your Cloud Platform project in this session is set to YOUR_PROJECT_ID

gcloud é a ferramenta de linha de comando do Google Cloud. Ela vem pré-instalada no Cloud Shell e aceita preenchimento com tabulação.

  1. (Opcional) É possível listar o nome da conta ativa usando este comando:
gcloud auth list
  1. Clique em Autorizar.

  2. A saída será parecida com esta:

Saída:

ACTIVE: * ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (Opcional) É possível listar o ID do projeto usando este comando:
gcloud config list project

Saída:

[core] project = <project_ID>

Exemplo de saída:

[core] project = qwiklabs-gcp-44776a13dea667a6 Observação: para conferir a documentação completa da gcloud, acesse o guia com informações gerais sobre a gcloud CLI no Google Cloud.

Tarefa 1: prepare o ambiente

Primeiro organize o ambiente de implantação e faça o download do aplicativo de exemplo.

  1. Defina a zona padrão do Compute Engine como:
gcloud config set compute/zone {{{project_0.default_zone}}}
  1. Clone o exemplo de código.
git clone https://github.com/GoogleCloudPlatform/continuous-deployment-on-kubernetes.git
  1. Acesse o diretório do exemplo de código:
cd continuous-deployment-on-kubernetes

Criar um cluster do Kubernetes

Agora você usará o Kubernetes Engine para criar e gerenciar um cluster do Kubernetes.

  1. Provisione um cluster usando o Kubernetes Engine. Esta etapa pode levar alguns minutos:
gcloud container clusters create jenkins-cd \ --num-nodes 2 \ --scopes "https://www.googleapis.com/auth/projecthosting,cloud-platform"

Os escopos extras permitem que o Jenkins acesse o Cloud Source Repositories e o Google Container Registry.

Testar a tarefa concluída

Clique em Verificar meu progresso para conferir a tarefa realizada. Se você concluiu a tarefa, receberá uma pontuação de avaliação.

Crie um cluster do Kubernetes (zona: )
  1. Confirme se o cluster está em execução:
gcloud container clusters list

Exemplo de saída:

Procure RUNNING na coluna STATUS:

NAME LOCATION MASTER_VERSION MASTER_IP MACHINE_TYPE NODE_VERSION NUM_NODES STATUS jenkins-cd {{{project_0.default_zone}}} 1.9.7-gke.3 35.237.126.84 e2-medium 1.9.7-gke.3 2 RUNNING
  1. Confira as credenciais do cluster. O Kubernetes Engine acessa o cluster recém-provisionado com essas credenciais.
gcloud container clusters get-credentials jenkins-cd
  1. Verifique se é possível se conectar com o cluster:
kubectl cluster-info

Exemplo de resposta: se o cluster estiver em execução, serão exibidos os URLs de acesso aos componentes do Kubernetes:

Kubernetes master is running at https://130.211.178.38 GLBCDefaultBackend is running at https://130.211.178.38/api/v1/proxy/namespaces/kube-system/services/default-http-backend Heapster is running at https://130.211.178.38/api/v1/proxy/namespaces/kube-system/services/heapster KubeDNS is running at https://130.211.178.38/api/v1/proxy/namespaces/kube-system/services/kube-dns kubernetes-dashboard is running at https://130.211.178.38/api/v1/proxy/namespaces/kube-system/services/kubernetes-dashboard

Tarefa 2: configure o Helm

Neste laboratório, você vai usar o Helm para instalar o Jenkins a partir do repositório Charts. O Helm é um gerenciador de pacotes que facilita a configuração e a implantação de aplicativos do Kubernetes. O Cloud Shell já vem com uma versão recente e estável do Helm pré-instalada.

Se quiser confirmar se o Helm está instalado e saber qual versão está sendo usada, execute helm version no Cloud Shell.

  1. Adicione o repositório de gráficos jenkins do Helm:
helm repo add jenkins https://charts.jenkins.io
  1. Atualize o repositório para ter a lista de gráficos mais recente:
helm repo update

Tarefa 3: configure e instale o Jenkins

Você vai usar um arquivo com valores personalizados para adicionar o plug-in específico ao Google Cloud. Com esse recurso, você poderá usar as credenciais da conta de serviço e acessar o Cloud Source Repository.

  1. Use a CLI do Helm para implantar o gráfico com o conjunto de configurações:
helm upgrade --install -f jenkins/values.yaml myjenkins jenkins/jenkins

Testar a tarefa concluída

Clique em Verificar meu progresso para conferir a tarefa realizada. Se você concluiu a tarefa, receberá uma pontuação de avaliação.

Configure e instale o Jenkins
  1. Depois de executar o comando, verifique se o estado do pod do Jenkins está definido como "Running" e o do contêiner como "READY". O processo leva cerca de dois minutos:
kubectl get pods

Exemplo de saída:

NAME READY STATUS RESTARTS AGE myjenkins-0 2/2 Running 0 1m
  1. Execute o seguinte comando para configurar o encaminhamento de portas para a interface do Jenkins usando o Cloud Shell:
echo http://127.0.0.1:8080 kubectl --namespace default port-forward svc/myjenkins 8080:8080 >> /dev/null &
  1. Agora verifique se o serviço do Jenkins foi criado corretamente:
kubectl get svc

Exemplo de saída:

NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE myjenkins 10.35.249.67 8080/TCP 3h myjenkins-agent 10.35.248.1 50000/TCP 3h kubernetes 10.35.240.1 443/TCP 9h

Usamos o plug-in do Kubernetes para que os nós do builder sejam iniciados automaticamente quando o mestre do Jenkins solicitá-los. Após a conclusão do processo, eles serão automaticamente desativados, e os recursos relacionados serão adicionados outra vez ao pool de recursos de clusters.

Esse serviço expõe as portas 8080 e 50000 dos pods que correspondem ao seletor. Com isso, as portas da interface da Web do Jenkins e as portas de registro do agente/builder serão expostas no cluster do Kubernetes.

Além disso, o serviço jenkins-ui é exposto usando um ClusterIP para impedir o acesso externo ao cluster.

Tarefa 4: conecte-se ao Jenkins

  1. O gráfico do Jenkins vai criar automaticamente uma senha de administrador para você. Para consultar a senha, execute este comando:
kubectl exec --namespace default -it svc/myjenkins -c jenkins -- /bin/cat /run/secrets/additional/chart-admin-password && echo
  1. No Cloud Shell, clique no botão Visualização na Web e depois em Visualizar na porta 8080 para acessar a interface de usuário do Jenkins:

Menu suspenso da Visualização na Web aberto com a opção &quot;Visualizar na porta 8080&quot; em destaque

  1. Agora é possível fazer login com o nome de usuário admin e sua senha gerada automaticamente.
Você também pode fazer login de forma automática.

A configuração do Jenkins no seu cluster do Kubernetes está pronta.

Teste seu conhecimento

Responda às perguntas de múltipla escolha a seguir para reforçar sua compreensão dos conceitos abordados neste laboratório. Use tudo o que você aprendeu até aqui.

Parabéns!

Termine a Quest

Este laboratório autoguiado faz parte da Quest Google Cloud Solutions I: Scaling Your Infrastructure do Google Cloud Ensina. Uma Quest é uma série de laboratórios relacionados que formam um programa de aprendizado. Ao concluir uma Quest, você ganha um selo como reconhecimento da sua conquista. É possível publicar os selos e incluir um link para eles no seu currículo on-line ou nas redes sociais. Inscreva-se nesta Quest e receba o crédito de conclusão imediatamente. Consulte outras Quests disponíveis no catálogo do Google Cloud Ensina.

Comece o próximo laboratório

Continue a Quest com o laboratório Pipelines de entrega contínua com Spinnaker e Kubernetes Engine ou confira estas sugestões:

Próximas etapas / Saiba mais

Confira o que fazer a seguir:

Treinamento e certificação do Google Cloud

Esses treinamentos ajudam você a aproveitar as tecnologias do Google Cloud ao máximo. Nossas aulas incluem habilidades técnicas e práticas recomendadas para ajudar você a alcançar rapidamente o nível esperado e continuar sua jornada de aprendizado. Oferecemos treinamentos que vão do nível básico ao avançado, com opções de aulas virtuais, sob demanda e por meio de transmissões ao vivo para que você possa encaixá-las na correria do seu dia a dia. As certificações validam sua experiência e comprovam suas habilidades com as tecnologias do Google Cloud.

Manual atualizado em 15 de agosto de 2022

Laboratório testado em 15 de agosto de 2022

Copyright 2024 Google LLC. Todos os direitos reservados. Google e o logotipo do Google são marcas registradas da Google LLC. Todos os outros nomes de produtos e empresas podem ser marcas registradas das respectivas empresas a que estão associados.