Skip to content

Commit a4e48ec

Browse files
authored
Merge pull request #26440 from jailton/pt/docs/tutorials
[pt] Add content for hello-minikube in português
2 parents 3c22c23 + f26aab7 commit a4e48ec

File tree

1 file changed

+258
-0
lines changed

1 file changed

+258
-0
lines changed
Lines changed: 258 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,258 @@
1+
---
2+
title: Olá, Minikube!
3+
content_type: tutorial
4+
weight: 5
5+
menu:
6+
main:
7+
title: "Iniciar"
8+
weight: 10
9+
post: >
10+
<p>Pronto para meter a mão na massa? Vamos criar um cluster Kubernetes simples e executar uma aplicação exemplo.</p>
11+
card:
12+
name: tutorials
13+
weight: 10
14+
---
15+
16+
<!-- overview -->
17+
18+
Este tutorial mostra como executar uma aplicação exemplo no Kubernetes utilizando o [Minikube](https://minikube.sigs.k8s.io) e o [Katacoda](https://www.katacoda.com). O Katacoda disponibiliza um ambiente Kubernetes gratuito e acessível via navegador.
19+
20+
{{< note >}}
21+
Você também consegue seguir os passos desse tutorial instalando o Minikube localmente. Para instruções de instalação, acesse: [iniciando com minikube](https://minikube.sigs.k8s.io/docs/start/).
22+
{{< /note >}}
23+
24+
## Objetivos
25+
26+
* Instalar uma aplicação exemplo no minikube.
27+
* Executar a aplicação.
28+
* Visualizar os logs da aplicação.
29+
30+
## Antes de você iniciar
31+
32+
Este tutorial disponibiliza uma imagem de contêiner que utiliza o NGINX para retornar todas as requisições.
33+
34+
<!-- lessoncontent -->
35+
36+
## Criando um cluster do Minikube
37+
38+
1. Clique no botão abaixo **para iniciar o terminal do Katacoda**.
39+
40+
{{< kat-button >}}
41+
42+
{{< note >}}
43+
Se você instalou o Minikube localmente, execute: `minikube start`.
44+
{{< /note >}}
45+
46+
2. Abra o painel do Kubernetes em um navegador:
47+
48+
```shell
49+
minikube dashboard
50+
```
51+
52+
3. Apenas no ambiente do Katacoda: Na parte superior do terminal, clique em **Preview Port 30000**.
53+
54+
## Criando um Deployment
55+
56+
Um [*Pod*](/docs/concepts/workloads/pods/) Kubernetes consiste em um ou mais contêineres agrupados para fins de administração e gerenciamento de rede. O Pod desse tutorial possui apenas um contêiner. Um [*Deployment*](/docs/concepts/workloads/controllers/deployment/) Kubernetes verifica a saúde do seu Pod e reinicia o contêiner do Pod caso o mesmo seja finalizado. Deployments são a maneira recomendada de gerenciar a criação e escalonamento dos Pods.
57+
58+
1. Usando o comando `kubectl create` para criar um Deployment que gerencia um Pod. O Pod executa um contêiner baseado na imagem docker disponibilizada.
59+
60+
```shell
61+
kubectl create deployment hello-node --image=k8s.gcr.io/echoserver:1.4
62+
```
63+
64+
2. Visualizando o Deployment:
65+
66+
```shell
67+
kubectl get deployments
68+
```
69+
70+
A saída será semelhante a:
71+
72+
```
73+
NAME READY UP-TO-DATE AVAILABLE AGE
74+
hello-node 1/1 1 1 1m
75+
```
76+
77+
3. Visualizando o Pod:
78+
79+
```shell
80+
kubectl get pods
81+
```
82+
83+
A saída será semelhante a:
84+
85+
```
86+
NAME READY STATUS RESTARTS AGE
87+
hello-node-5f76cf6ccf-br9b5 1/1 Running 0 1m
88+
```
89+
90+
4. Visualizando os eventos do cluster:
91+
92+
```shell
93+
kubectl get events
94+
```
95+
96+
5. Visualizando a configuração do `kubectl`:
97+
98+
```shell
99+
kubectl config view
100+
```
101+
102+
{{< note >}}
103+
Para mais informações sobre o comando `kubectl`, veja o [kubectl overview](/docs/reference/kubectl/overview/).
104+
{{< /note >}}
105+
106+
## Criando um serviço
107+
108+
Por padrão, um Pod só é acessível utilizando o seu endereço IP interno no cluster Kubernetes. Para dispobiblilizar o contêiner `hello-node` fora da rede virtual do Kubernetes, você deve expor o Pod como um [*serviço*](/docs/concepts/services-networking/service/) Kubernetes.
109+
110+
1. Expondo o Pod usando o comando `kubectl expose`:
111+
112+
```shell
113+
kubectl expose deployment hello-node --type=LoadBalancer --port=8080
114+
```
115+
116+
O parâmetro `--type=LoadBalancer` indica que você deseja expor o seu serviço fora do cluster Kubernetes.
117+
118+
A aplicação dentro da imagem `k8s.gcr.io/echoserver` "escuta" apenas na porta TCP 8080. Se você usou
119+
`kubectl expose` para expor uma porta diferente, os clientes não conseguirão se conectar a essa outra porta.
120+
121+
2. Visualizando o serviço que você acabou de criar:
122+
123+
```shell
124+
kubectl get services
125+
```
126+
127+
A saída será semelhante a:
128+
129+
```
130+
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
131+
hello-node LoadBalancer 10.108.144.78 <pending> 8080:30369/TCP 21s
132+
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 23m
133+
```
134+
135+
Em provedores de Cloud que fornecem serviços de balanceamento de carga para o Kubernetes, um IP externo seria provisionado para acessar o serviço. No Minikube, o tipo `LoadBalancer` torna o serviço acessível por meio do comando `minikube service`.
136+
137+
3. Executar o comando a seguir:
138+
139+
```shell
140+
minikube service hello-node
141+
```
142+
143+
4. (**Apenas no ambiente do Katacoda**) Clicar no sinal de mais e então clicar em **Select port to view on Host 1**.
144+
145+
5. (**Apenas no ambiente do Katacoda**) Observe o número da porta com 5 dígitos exibido ao lado de `8080` na saída do serviço. Este número de porta é gerado aleatoriamente e pode ser diferente para você. Digite seu número na caixa de texto do número da porta e clique em **Display Port**. Usando o exemplo anterior, você digitaria `30369`.
146+
147+
Isso abre uma janela do navegador, acessa o seu aplicativo e mostra o retorno da requisição.
148+
149+
## Habilitando Complementos (addons)
150+
151+
O Minikube inclui um conjunto integrado de {{< glossary_tooltip text="complementos" term_id="addons" >}} que podem ser habilitados, desabilitados e executados no ambiente Kubernetes local.
152+
153+
1. Listando os complementos suportados atualmente:
154+
155+
```shell
156+
minikube addons list
157+
```
158+
159+
A saída será semelhante a:
160+
161+
```
162+
addon-manager: enabled
163+
dashboard: enabled
164+
default-storageclass: enabled
165+
efk: disabled
166+
freshpod: disabled
167+
gvisor: disabled
168+
helm-tiller: disabled
169+
ingress: disabled
170+
ingress-dns: disabled
171+
logviewer: disabled
172+
metrics-server: disabled
173+
nvidia-driver-installer: disabled
174+
nvidia-gpu-device-plugin: disabled
175+
registry: disabled
176+
registry-creds: disabled
177+
storage-provisioner: enabled
178+
storage-provisioner-gluster: disabled
179+
```
180+
181+
2. Habilitando um complemento, por exemplo, `metrics-server`:
182+
183+
```shell
184+
minikube addons enable metrics-server
185+
```
186+
187+
A saída será semelhante a:
188+
189+
```
190+
metrics-server was successfully enabled
191+
```
192+
193+
3. Visualizando os Pods e os Serviços que você acabou de criar:
194+
195+
```shell
196+
kubectl get pod,svc -n kube-system
197+
```
198+
199+
A saída será semelhante a:
200+
201+
```
202+
NAME READY STATUS RESTARTS AGE
203+
pod/coredns-5644d7b6d9-mh9ll 1/1 Running 0 34m
204+
pod/coredns-5644d7b6d9-pqd2t 1/1 Running 0 34m
205+
pod/metrics-server-67fb648c5 1/1 Running 0 26s
206+
pod/etcd-minikube 1/1 Running 0 34m
207+
pod/influxdb-grafana-b29w8 2/2 Running 0 26s
208+
pod/kube-addon-manager-minikube 1/1 Running 0 34m
209+
pod/kube-apiserver-minikube 1/1 Running 0 34m
210+
pod/kube-controller-manager-minikube 1/1 Running 0 34m
211+
pod/kube-proxy-rnlps 1/1 Running 0 34m
212+
pod/kube-scheduler-minikube 1/1 Running 0 34m
213+
pod/storage-provisioner 1/1 Running 0 34m
214+
215+
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
216+
service/metrics-server ClusterIP 10.96.241.45 <none> 80/TCP 26s
217+
service/kube-dns ClusterIP 10.96.0.10 <none> 53/UDP,53/TCP 34m
218+
service/monitoring-grafana NodePort 10.99.24.54 <none> 80:30002/TCP 26s
219+
service/monitoring-influxdb ClusterIP 10.111.169.94 <none> 8083/TCP,8086/TCP 26s
220+
```
221+
222+
4. Desabilitando o complemento `metrics-server`:
223+
224+
```shell
225+
minikube addons disable metrics-server
226+
```
227+
228+
A saída será semelhante a:
229+
230+
```
231+
metrics-server was successfully disabled
232+
```
233+
234+
## Removendo os recursos do Minikube
235+
236+
Agora você pode remover todos os recursos criados no seu cluster:
237+
238+
```shell
239+
kubectl delete service hello-node
240+
kubectl delete deployment hello-node
241+
```
242+
(**Opcional**) Pare a máquina virtual (VM) do Minikube:
243+
244+
```shell
245+
minikube stop
246+
```
247+
(**Opcional**) Remova a VM do Minikube:
248+
249+
```shell
250+
minikube delete
251+
```
252+
253+
## Próximos passos
254+
255+
* Aprender mais sobre [Deployment objects](/docs/concepts/workloads/controllers/deployment/).
256+
* Aprender mais sobre [Deploying applications](/docs/tasks/run-application/run-stateless-application-deployment/).
257+
* Aprender mais sobre [Service objects](/docs/concepts/services-networking/service/).
258+

0 commit comments

Comments
 (0)