Skip to content

Commit 9b53715

Browse files
committed
[pt-br] add content/pt-br/docs/tasks/configure-pod-container/configure-volume-storage.md
1 parent 03b9de5 commit 9b53715

File tree

2 files changed

+160
-0
lines changed

2 files changed

+160
-0
lines changed
Lines changed: 146 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,146 @@
1+
---
2+
title: Configurando um Pod Para Usar um Volume Para Armazenamento
3+
content_type: task
4+
weight: 50
5+
update_date: 2022-07-18
6+
origin_version: 1.24
7+
contributors: DonatoHorn
8+
reviewers:
9+
---
10+
11+
<!-- overview -->
12+
13+
Esta página mostra como configurar um Pod para usar um Volume para armazenamento.
14+
15+
O sistema de arquivos de um contêiner apenas existe enquanto o contêiner existir.
16+
Então, quando um contêiner termina e reinicia, as alterações do sistema de arquivos
17+
são perdidas.
18+
Para um armazenamento mais consistente, independente do contêiner, você pode usar um
19+
[Volume](/docs/concepts/storage/volumes/). Isso é especialmente importante para aplicações
20+
`stateful`, tal como armazenamentos chave-valor (tal como Redis) e bancos de dados.
21+
22+
23+
24+
## {{% heading "prerequisites" %}}
25+
26+
27+
{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}}
28+
29+
30+
31+
<!-- steps -->
32+
33+
## Configure um volume para um Pod
34+
35+
Neste exercício, você cria um Pod que executa um contêiner. Este Pod tem um
36+
Volume do tipo [emptyDir](/docs/concepts/storage/volumes/#emptydir)
37+
que persiste durante a existência do Pod, mesmo que o contêiner termine e
38+
reinicie. Aqui está o arquivo de configuração para o pod:
39+
40+
{{< codenew file="pods/storage/redis.yaml" >}}
41+
42+
1. Crie o Pod:
43+
44+
```shell
45+
kubectl apply -f https://k8s.io/examples/pods/storage/redis.yaml
46+
```
47+
48+
1. Verifique se o contêiner do pod está funcionando, e então procure por mudanças no Pod:
49+
50+
```shell
51+
kubectl get pod redis --watch
52+
```
53+
54+
A saída se parece com isso:
55+
56+
```shell
57+
NAME READY STATUS RESTARTS AGE
58+
redis 1/1 Running 0 13s
59+
```
60+
61+
1. Em outro terminal, pegue um shell para o contêiner em execução:
62+
63+
```shell
64+
kubectl exec -it redis -- /bin/bash
65+
```
66+
67+
1. No seu shell, vá para `/data/redis`, e então crie um arquivo:
68+
69+
```shell
70+
root@redis:/data# cd /data/redis/
71+
root@redis:/data/redis# echo Hello > test-file
72+
```
73+
74+
1. No seu shell, liste os processos em execução:
75+
76+
```shell
77+
root@redis:/data/redis# apt-get update
78+
root@redis:/data/redis# apt-get install procps
79+
root@redis:/data/redis# ps aux
80+
```
81+
82+
A saída é semelhante a esta:
83+
84+
```shell
85+
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
86+
redis 1 0.1 0.1 33308 3828 ? Ssl 00:46 0:00 redis-server *:6379
87+
root 12 0.0 0.0 20228 3020 ? Ss 00:47 0:00 /bin/bash
88+
root 15 0.0 0.0 17500 2072 ? R+ 00:48 0:00 ps aux
89+
```
90+
91+
1. Em seu shell, encerre o processo do Redis:
92+
93+
```shell
94+
root@redis:/data/redis# kill <pid>
95+
```
96+
97+
Onde `<pid>` é o process ID (PID) do Redis.
98+
99+
1. No seu terminal original, preste atenção nas mudanças no Pod do Redis.
100+
Eventualmente, você vai ver algo assim:
101+
102+
```shell
103+
NAME READY STATUS RESTARTS AGE
104+
redis 1/1 Running 0 13s
105+
redis 0/1 Completed 0 6m
106+
redis 1/1 Running 1 6m
107+
```
108+
109+
Neste ponto, o Contêiner terminou e reiniciou. Isso porque o Pod do Redis tem uma
110+
[`restartPolicy`](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#podspec-v1-core)
111+
de `Always`.
112+
113+
1. Abra um shell dentro do Contêiner reiniciado:
114+
115+
```shell
116+
kubectl exec -it redis -- /bin/bash
117+
```
118+
119+
1. No seu shell, vá para `/data/redis`, e verifique se `test-file` ainda está lá.
120+
```shell
121+
root@redis:/data/redis# cd /data/redis/
122+
root@redis:/data/redis# ls
123+
test-file
124+
```
125+
126+
1. Exclua o pod que você criou para este exercício:
127+
128+
```shell
129+
kubectl delete pod redis
130+
```
131+
132+
133+
134+
## {{% heading "whatsnext" %}}
135+
136+
137+
* Veja [Volume](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#volume-v1-core).
138+
139+
* Veja [Pod](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#pod-v1-core).
140+
141+
* Além do armazenamento de disco local fornecido por `emptyDir`, o Kubernetes
142+
suporta muitas soluções de armazenamento diferentes, conectadas via rede, incluindo PD na
143+
GCE e EBS na EC2, que são preferidos para dados críticos e vão lidar com os
144+
detalhes, como montar e desmontar os dispositivos nos Nós. Veja
145+
[Volumes](/docs/concepts/storage/volumes/) para mais detalhes.
146+
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
apiVersion: v1
2+
kind: Pod
3+
metadata:
4+
name: redis
5+
spec:
6+
containers:
7+
- name: redis
8+
image: redis
9+
volumeMounts:
10+
- name: redis-storage
11+
mountPath: /data/redis
12+
volumes:
13+
- name: redis-storage
14+
emptyDir: {}

0 commit comments

Comments
 (0)