From d53d7bcc2b9f86a08d2e620245206f365356f57e Mon Sep 17 00:00:00 2001 From: Mauren Berti Date: Wed, 7 Jun 2023 12:51:34 -0400 Subject: [PATCH] [pt-br] Update deploy-intro tutorial. * Update the deploy intro tutorial to both reflect the latest English version and remove references to Katacoda. --- .../deploy-app/deploy-intro.html | 348 +++++++++++++----- 1 file changed, 266 insertions(+), 82 deletions(-) diff --git a/content/pt-br/docs/tutorials/kubernetes-basics/deploy-app/deploy-intro.html b/content/pt-br/docs/tutorials/kubernetes-basics/deploy-app/deploy-intro.html index 1d927cf038..6e4fdc89f6 100644 --- a/content/pt-br/docs/tutorials/kubernetes-basics/deploy-app/deploy-intro.html +++ b/content/pt-br/docs/tutorials/kubernetes-basics/deploy-app/deploy-intro.html @@ -1,113 +1,297 @@ --- -title: Usando kubectl para criar uma implantação +title: Usando kubectl para criar um Deployment weight: 10 +description: |- + Aprenda sobre objetos Deployment do Kubernetes. + Implante seu primeiro aplicativo no Kubernetes utilizando o kubectl. --- - + - +
-
+
-
+
-
-

Objetivos

-
    -
  • Saiba mais sobre implantações de aplicativos.
  • -
  • Implante seu primeiro aplicativo no Kubernetes com o kubectl.
  • -
-
+
+

Objetivos

+
    +
  • Saiba mais sobre implantações de aplicativos.
  • +
  • Implante seu primeiro aplicativo no Kubernetes com o kubectl. +
  • +
+
-
-

Implantações do Kubernetes

-

- Assim que o seu cluster Kubernetes estiver em execução você pode implementar seu aplicativo em contêiners nele. - Para fazer isso, você precisa criar uma configuração do tipo Deployment do Kubernetes. O Deployment define como criar e - atualizar instâncias do seu aplicativo. Depois de criar um Deployment, o Master do Kubernetes - agenda as instâncias do aplicativo incluídas nesse Deployment para ser executado em nós individuais do Cluster. -

+
+

Deployments do Kubernetes

+

+ Assim que o seu cluster + Kubernetes estiver em execução você pode implantar seu aplicativo + contêinerizado nele. + Para fazer isso, você precisa criar um objeto Deployment do Kubernetes. + O Deployment instrui o Kubernetes sobre como criar e atualizar instâncias + do seu aplicativo. Depois de criar um Deployment, a camada de gerenciamento + do Kubernetes aloca as instâncias do aplicativo incluídas nesse Deployment + para serem executadas em nós individuais do cluster. +

-

Depois que as instâncias do aplicativo são criadas, um Controlador do Kubernetes Deployment monitora continuamente essas instâncias. - Se o nó que hospeda uma instância ficar inativo ou for excluído, o controlador de Deployment substituirá a instância por uma instância em outro nó no cluster. - Isso fornece um mecanismo de autocorreção para lidar com falhas ou manutenção da máquina.

+

+ Depois que as instâncias do aplicativo são criadas, o controlador de + Deployment do Kubernetes monitora continuamente essas instâncias. + Se o nó em que uma instância está alocada ficar indisponível ou for + excluído, o controlador de Deployment substituirá a instância por uma + instância em outro nó no cluster. + Isso fornece um mecanismo de autocorreção para lidar com falhas ou + manutenção da máquina. +

-

Em um mundo de pré-orquestração, os scripts de instalação costumavam ser usados ​​para iniciar aplicativos, mas não permitiam a recuperação de falha da máquina. - Ao criar suas instâncias de aplicativo e mantê-las em execução entre nós, as implantações do Kubernetes fornecem uma abordagem fundamentalmente diferente para o gerenciamento de aplicativos.

+

+ Em um mundo de pré-orquestração, os scripts de instalação eram utilizados + para iniciar aplicativos, mas não permitiam a recuperação de falha da máquina. + Ao criar suas instâncias de aplicativo e mantê-las em execução entre nós, + os Deployments do Kubernetes fornecem uma abordagem fundamentalmente + diferente para o gerenciamento de aplicativos. +

+
-
- -
-
-

Resumo:

-
    -
  • Deployments
  • -
  • Kubectl
  • -
-
-
-

- O tipo Deployment é responsável por criar e atualizar instâncias de seu aplicativo -

-
-
+
+
+

Resumo:

+
    +
  • Deployments
  • +
  • Kubectl
  • +
-
- -
-
-

Implantar seu primeiro aplicativo no Kubernetes

-
+
+

+ O objeto Deployment é responsável por criar e atualizar instâncias + de seu aplicativo +

+
-
-
-

-
+
+ +
+ +
+
+

Implante seu primeiro aplicativo no + Kubernetes

+
+
+ +
+
+

+

+
+
+
+ +
+
+

+ Você pode criar e gerenciar uma implantação usando a interface + de linha de comando do Kubernetes, o kubectl. + O kubectl usa a API do Kubernetes para interagir com o cluster. + Neste módulo, você aprenderá os comandos Kubectl mais comuns + necessários para criar Deployments que executam seus aplicativos + em um cluster Kubernetes. +

+ +

+ Quando você cria um Deployment, você precisa especificar a imagem + de contêiner para seu aplicativo e o número de réplicas que deseja executar. + Você pode alterar essas informações posteriormente, atualizando seu Deployment; + os Módulos 5 + e 6 + do bootcamp explicam como você pode dimensionar e atualizar seus Deployments. +

+
+
+
+

Os aplicativos precisam ser empacotados em um dos formatos de + contêiner suportados para serem implantados no Kubernetes

-
+
+
-
-
+
+
+

+ Para criar seu primeiro Deployment, você usará o aplicativo hello-node + empacotado em um contêiner que utiliza o NGINX para repetir todas as requisições. + (Se você ainda não tentou criar o aplicativo hello-node e implantá-lo + usando um contêiner, você pode fazer isso primeiro seguindo as + instruções do tutorial Olá, Minikube!). +

-

Você pode criar e gerenciar uma implantação usando a interface de linha de comando do Kubernetes, Kubectl . - O Kubectl usa a API Kubernetes para interagir com o cluster. Neste módulo, você aprenderá os comandos Kubectl mais comuns necessários para criar implantações que executam seus aplicativos em um cluster Kubernetes.

+

+ Você precisará ter o kubectl instalado também. Se você precisar de + instruções de instalação, veja + instalando ferramentas. +

-

Quando você cria um Deployment, você precisa especificar a imagem do contêiner para seu aplicativo e o número de réplicas que deseja executar. - Você pode alterar essas informações posteriormente, atualizando sua implantação; Módulos5 e 6 do bootcamp explica como você pode dimensionar e atualizar suas implantações.

+

+ Agora que você já sabe o que são Deployments, vamos implantar + nosso primeiro aplicativo! +

+
+
+
-
-
-
-

Os aplicativos precisam ser empacotados em um dos formatos de contêiner suportados para serem implantados no Kubernetes

-
-
+
+
+

Noções básicas do kubectl

+

O formato comum de um comando kubectl é: kubectl ação recurso

+

+ Isto executa a ação especificada (como por exemplo create, + describe ou delete) no recurso + especificado (por exemplo, node ou deployment). + Você pode utilizar --help após o subcomando + para obter informações adicionais sobre parâmetros permitidos + (por exemplo, kubectl get nodes --help). +

+

Verifique que o kubectl está configurado para comunicar-se com seu + cluster rodando o comando kubectl version.

+

Certifique-se de que o kubectl está instalado e que você consegue ver + as versões do cliente e do servidor.

+

Para visualizar os nós do cluster, execute o comando kubectl + get nodes.

+

+ Você verá os nós disponíveis. Posteriormente, o Kubernetes irá escolher + onde implantar nossa aplicação baseado nos recursos disponíveis nos nós. +

+
+
+ +
+
+

Implante uma aplicação

+

+ Vamos implantar nossa primeira aplicação no Kubernetes utilizando + o comando kubectl create deployment. Precisaremos + fornecer o nome do Deployment e a localização da imagem de contêiner + do aplicativo (inclua a URL completa do repositório para images + hospedadas fora do Docker Hub). +

+ +

kubectl create deployment kubernetes-bootcamp + --image=gcr.io/google-samples/kubernetes-bootcamp:v1

+ +

+ Excelente! Você acabou de implantar sua primeira aplicação através + da criação de um Deployment. Este comando efetuou algumas ações + para você: +

+
    +
  • + buscou um nó utilizável onde a instância da aplicação pode ser executada + (temos somente um nó disponível) +
  • +
  • alocou a aplicação para rodar naquele nó
  • +
  • + configurou o cluster para realocar a instância em um novo nó sempre + que necessário +
  • +
+

+ Para listar seus Deployments existentes, utilize o comando + kubectl get deployments: +

+

kubectl get deployments

+

+ Podemos observar que há um Deployment rodando uma única instância + da sua aplicação. A instância está executando dentro de um contêiner + no seu nó. +

+
+
+ +
+
+

Visualize o aplicativo

+

+ Pods que rodam dentro do Kubernetes estão rodando em uma rede privada e isolada. + Por padrão, eles são visíveis a outros Pods e Services dentro do mesmo + cluster do Kubernetes, mas não de fora daquela rede. + Ao usarmos kubectl, estamos interagindo através de um + endpoint de API para comunicar-nos com a nossa aplicação. +

+

+ Iremos discutir outras opções de como expor sua aplicação fora do + cluster do Kubernetes no Módulo 4. +

+

+ O comando kubectl pode criar um proxy que encaminha + comunicações para dentro da rede privada que engloba todo o cluster. O + proxy pode ser encerrado utilizando a sequência control-C e não irá + imprimir nenhum tipo de saída enquanto estiver rodando. +

+

+ Você precisa abrir uma segunda janela do terminal para executar + o proxy. +

+

+ kubectl proxy +

+

+ Agora temos uma conexão entre nosso host (o terminal online) e o + cluster do Kubernetes. O proxy habilita acesso direto à API através + destes terminais. +

+

+ Você pode ver todas as APIs hospedadas através do endpoint do + proxy. Por exemplo, podemos obter a versão diretamente através da API + utilizando o comando curl: +

+

+ curl http://localhost:8001/version +

+ +

+ O servidor da API irá automaticamente criar um endpoint para cada + Pod, baseado no nome do Pod, que também estará acessível através do proxy. +

+

+ Primeiro, precisaremos obter o nome do Pod. Iremos armazená-lo na + variável de ambiente POD_NAME: +

+

export POD_NAME=$(kubectl get pods -o go-template --template + '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}')
+ echo Nome do Pod: $POD_NAME

+

Você pode acessar o Pod através da API encaminhada, rodando o comando:

+

curl + http://localhost:8001/api/v1/namespaces/default/pods/$POD_NAME/ +

+

+ Para que o novo Deployment esteja acessível sem utilizar o proxy, um + Service é requerido. Isto será explicado nos próximos módulos. +

+
-
-
-

- Para sua primeira implantação, você usará um aplicativo Node.js empacotado em um contêiner Docker.(Se você ainda não tentou criar um aplicativo Node.js e implantá-lo usando um contêiner, você pode fazer isso primeiro seguindo as instruções do tutorial Olá, Minikube!). -

- -

Agora que você sabe o que são implantações (Deployment), vamos para o tutorial online e implantar nosso primeiro aplicativo!

-
-
-
- - - -
+
+
+

+ Quando estiver pronto, vá para Visualizando Pods e Nós. +

+
+