Skip to content

Commit 383ce5f

Browse files
authored
Merge pull request #27076 from AlexDamiao86/dev-1.20-pt.M1
[pt] Add Expose Your App Publicly in Portuguese
2 parents 8513a4d + 57fd2ff commit 383ce5f

File tree

4 files changed

+149
-4
lines changed

4 files changed

+149
-4
lines changed

content/pt/docs/tutorials/kubernetes-basics/_index.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
<div class="row">
2525
<div class="col-md-9">
2626
<h2>Básico do Kubernetes</h2>
27-
<p>Este tutorial fornece instruções básicas sobre o sistema de orquestração de cluster do Kubernetes. Cada módulo contém algumas informações básicas sobre os principais recursos e conceitos do Kubernetes e inclui um tutorial online interativo. Esses tutoriais interativos permitem que você mesmo gerencie um cluster simples e seus aplicativos em contêineres.</p>
27+
<p>Este tutorial fornece instruções básicas sobre o sistema de orquestração de cluster do Kubernetes. Cada módulo contém algumas informações básicas sobre os principais recursos e conceitos do Kubernetes e inclui um tutorial online interativo. Esses tutoriais interativos permitem que você mesmo gerencie um cluster simples e seus aplicativos em contêineres.</p>
2828
<p>Usando os tutoriais interativos, você pode aprender a:</p>
2929
<ul>
3030
<li>Implante um aplicativo em contêiner em um cluster.</li>
@@ -46,7 +46,7 @@ <h2>O que o Kubernetes pode fazer por você?</h2>
4646
</div>
4747

4848
<br>
49-
49+
5050
<div id="basics-modules" class="content__modules">
5151
<h2>Módulos básicos do Kubernetes</h2>
5252
<div class="row">
@@ -82,9 +82,9 @@ <h2>Módulos básicos do Kubernetes</h2>
8282
<div class="row">
8383
<div class="col-md-4">
8484
<div class="thumbnail">
85-
<a href="/docs/tutorials/kubernetes-basics/expose/expose-intro/"><img src="/docs/tutorials/kubernetes-basics/public/images/module_04.svg?v=1469803628347" alt=""></a>
85+
<a href="/pt/docs/tutorials/kubernetes-basics/expose/expose-intro/"><img src="/docs/tutorials/kubernetes-basics/public/images/module_04.svg?v=1469803628347" alt=""></a>
8686
<div class="caption">
87-
<a href="/docs/tutorials/kubernetes-basics/expose/expose-intro/"><h5>4. Exponha seu aplicativo publicamente</h5></a>
87+
<a href="/pt/docs/tutorials/kubernetes-basics/expose/expose-intro/"><h5>4. Exponha seu aplicativo publicamente</h5></a>
8888
</div>
8989
</div>
9090
</div>
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
---
2+
title: Exponha publicamente seu App
3+
weight: 40
4+
---
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
---
2+
title: Tutorial Interativo - Expondo seu App
3+
weight: 20
4+
---
5+
6+
<!DOCTYPE html>
7+
8+
<html lang="en">
9+
10+
<body>
11+
12+
<link href="/docs/tutorials/kubernetes-basics/public/css/styles.css" rel="stylesheet">
13+
<link href="/docs/tutorials/kubernetes-basics/public/css/overrides.css" rel="stylesheet">
14+
<script src="https://katacoda.com/embed.js"></script>
15+
16+
<div class="layout" id="top">
17+
18+
<main class="content katacoda-content">
19+
20+
<div class="katacoda">
21+
<div class="katacoda__alert">
22+
Para interagir com o terminal, favor utilizar a versão desktop/tablet
23+
</div>
24+
<div class="katacoda__box" id="inline-terminal-1" data-katacoda-id="kubernetes-bootcamp/8" data-katacoda-color="326de6" data-katacoda-secondary="273d6d" data-katacoda-hideintro="false" data-katacoda-prompt="Terminal Kubernetes Bootcamp" style="height: 600px;">
25+
</div>
26+
</div>
27+
<div class="row">
28+
<div class="col-md-12">
29+
<a class="btn btn-lg btn-success" href="/docs/tutorials/kubernetes-basics/scale/scale-intro/" role="button">Continuar para o Módulo 5<span class="btn__next"></span></a>
30+
</div>
31+
</div>
32+
33+
</main>
34+
35+
</div>
36+
37+
</body>
38+
</html>
Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
---
2+
title: Utilizando um serviço para expor seu App
3+
weight: 10
4+
---
5+
6+
<!DOCTYPE html>
7+
8+
<html lang="en">
9+
10+
<body>
11+
12+
<link href="/docs/tutorials/kubernetes-basics/public/css/styles.css" rel="stylesheet">
13+
14+
<div class="layout" id="top">
15+
16+
<main class="content">
17+
18+
<div class="row">
19+
<div class="col-md-8">
20+
<h3>Objetivos</h3>
21+
<ul>
22+
<li>Aprenda sobre um Serviço no Kubernetes</li>
23+
<li>Entenda como os objetos <code>labels</code> e <code>LabelSelector</code> se relacionam a um Serviço</li>
24+
<li>Exponha uma aplicação externamente ao cluster Kubernetes usando um Serviço</li>
25+
</ul>
26+
</div>
27+
28+
<div class="col-md-8">
29+
<h3>Visão Geral de Serviços Kubernetes</h3>
30+
31+
<p><a href="/docs/concepts/workloads/pods/">Pods</a> Kubernetes são efêmeros. Na verdade, Pods possuem um <a href="/docs/concepts/workloads/pods/pod-lifecycle/">ciclo de vida</a>. Quando um nó de processamento morre, os Pods executados no nó também são perdidos. A partir disso, o <a href="/docs/concepts/workloads/controllers/replicaset/">ReplicaSet</a> pode dinamicamente retornar o cluster ao estado desejado através da criação de novos Pods para manter sua aplicação em execução. Como outro exemplo, considere um backend de processamento de imagens com 3 réplicas. Estas réplicas são intercambiáveis; o sistema front-end não deveria se importar com as réplicas backend ou ainda se um Pod é perdido ou recriado. Dito isso, cada Pod em um cluster Kubernetes tem um único endereço IP, mesmo Pods no mesmo nó, então há necessidade de ter uma forma de reconciliar automaticamente mudanças entre Pods de modo que sua aplicação continue funcionando.</p>
32+
33+
<p>Um serviço no Kubernetes é uma abstração que define um conjunto lógico de Pods e uma política pela qual acessá-los. Serviços permitem um baixo acoplamento entre os Pods dependentes. Um serviço é definido usando YAML <a href="/docs/concepts/configuration/overview/#general-configuration-tips">(preferencialmente)</a> ou JSON, como todos objetos Kubernetes. O conjunto de Pods selecionados por um Serviço é geralmente determinado por um seletor de rótulos <i>LabelSelector</i> (veja abaixo o motivo pelo qual você pode querer um Serviço sem incluir um seletor <code>selector</code> na especificação <code>spec</code>).</p>
34+
35+
<p>Embora cada Pod tenha um endereço IP único, estes IPs não são expostos externamente ao cluster sem um Serviço. Serviços permitem que suas aplicações recebam tráfego. Serviços podem ser expostos de formas diferentes especificando um tipo <code>type</code> na especificação do serviço <code>ServiceSpec</code>:</p>
36+
<ul>
37+
<li><i>ClusterIP</i> (padrão) - Expõe o serviço sob um endereço IP interno no cluster. Este tipo faz do serviço somente alcançável de dentro do cluster.</li>
38+
<li><i>NodePort</i> - Expõe o serviço sob a mesma porta em cada nó selecionado no cluster usando NAT. Faz o serviço acessível externamente ao cluster usando <code>&lt;NodeIP&gt;:&lt;NodePort&gt;</code>. Superconjunto de ClusterIP.</li>
39+
<li><i>LoadBalancer</i> - Cria um balanceador de carga externo no provedor de nuvem atual (se suportado) e assinala um endereço IP fixo e externo para o serviço. Superconjunto de NodePort.</li>
40+
<li><i>ExternalName</i> - Expõe o serviço usando um nome arbitrário (especificado através de <code>externalName</code> na especificação <code>spec</code>) retornando um registro de CNAME com o nome. Nenhum proxy é utilizado. Este tipo requer v1.7 ou mais recente de <code>kube-dns</code>.</li>
41+
</ul>
42+
<p>Mais informações sobre diferentes tipos de Serviços podem ser encontradas no tutorial <a href="/docs/tutorials/services/source-ip/">Utilizando IP de origem</a>. Também confira <a href="/docs/concepts/services-networking/connect-applications-service">Conectando aplicações com serviços</a>.</p>
43+
<p>Adicionalmente, note que existem alguns casos de uso com serviços que envolvem a não definição de <code>selector</code> em <code>spec</code>. Serviços criados sem <code>selector</code> também não criarão objetos Endpoints correspondentes. Isto permite usuários mapear manualmente um serviço a endpoints específicos. Outra possibilidade na qual pode não haver seletores é ao se utilizar estritamente <code>type: ExternalName</code>.</p>
44+
</div>
45+
<div class="col-md-4">
46+
<div class="content__box content__box_lined">
47+
<h3>Resumo</h3>
48+
<ul>
49+
<li>Expõe Pods ao tráfego externo</li>
50+
<li>Tráfego de balanceamento de carga entre múltiplos Pods</li>
51+
<li>Uso de rótulos <code>labels</code></li>
52+
</ul>
53+
</div>
54+
<div class="content__box content__box_fill">
55+
<p><i>Um serviço Kubernetes é uma camada de abstração que define um conjunto lógico de Pods e habilita a exposição ao tráfego externo, balanceamento de carga e descoberta de serviço para esses Pods.</i></p>
56+
</div>
57+
</div>
58+
</div>
59+
<br>
60+
61+
<div class="row">
62+
<div class="col-md-8">
63+
<h3>Serviços e Rótulos</h3>
64+
</div>
65+
</div>
66+
67+
<div class="row">
68+
<div class="col-md-8">
69+
<p>Um serviço roteia tráfego entre um conjunto de Pods. Serviço é a abstração que permite pods morrerem e se replicarem no Kubernetes sem impactar sua aplicação. A descoberta e o roteamento entre Pods dependentes (tal como componentes frontend e backend dentro de uma aplicação) são controlados por serviços Kubernetes.</p>
70+
<p>Serviços relacionam um conjunto de Pods usando <a href="/docs/concepts/overview/working-with-objects/labels">Rótulos e seletores</a>, um agrupamento primitivo que permite operações lógicas sobre objetos Kubernetes. Rótulos são pares de chave/valor anexados à objetos e podem ser usados de inúmeras formas:</p>
71+
<ul>
72+
<li>Designar objetos para desenvolvimento, teste e produção</li>
73+
<li>Adicionar tags de versão</li>
74+
<li>Classificar um objeto usando tags</li>
75+
</ul>
76+
</div>
77+
78+
</div>
79+
80+
<br>
81+
82+
<div class="row">
83+
<div class="col-md-8">
84+
<p><img src="/docs/tutorials/kubernetes-basics/public/images/module_04_labels.svg"></p>
85+
</div>
86+
</div>
87+
<br>
88+
<div class="row">
89+
<div class="col-md-8">
90+
<p>Rótulos podem ser anexados à objetos no momento de sua criação ou posteriormente. Eles podem ser modificados a qualquer tempo. Vamos agora expor sua aplicação usando um serviço e aplicar alguns rótulos.</p>
91+
</div>
92+
</div>
93+
<br>
94+
<div class="row">
95+
<div class="col-md-12">
96+
<a class="btn btn-lg btn-success" href="/pt/docs/tutorials/kubernetes-basics/expose/expose-interactive/" role="button">Iniciar tutorial interativo<span class="btn__next"></span></a>
97+
</div>
98+
</div>
99+
</main>
100+
</div>
101+
102+
</body>
103+
</html>

0 commit comments

Comments
 (0)