Skip to content

Commit 2d33179

Browse files
committed
Add content/pt-br/docs/concepts/overview/working-with-objects/namespaces.md
1 parent 0a2da8c commit 2d33179

File tree

1 file changed

+106
-0
lines changed
  • content/pt-br/docs/concepts/overview/working-with-objects

1 file changed

+106
-0
lines changed
Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
---
2+
title: Namespaces
3+
content_type: concept
4+
weight: 30
5+
---
6+
7+
<!-- overview -->
8+
9+
Em Kubernetes, _namespaces_ disponibilizam um mecanismo para isolar grupos de recursos dentro de um único cluster. Nomes de recursos precisam ser únicos dentro de um namespace, porém podem se repetir em diferentes namespaces. Escopos baseados em namespaces são aplicáveis apenas para objetos com namespace _(como: Deployments, Services, etc)_ e não em objetos que abrangem todo o cluster _(como: StorageClass, Nodes, PersistentVolumes, etc)_.
10+
11+
<!-- body -->
12+
13+
## Quando Utilizar Múltiplos Namespaces
14+
15+
Namespaces devem ser utilizados em ambientes com múltiplos usuários espalhados por diversos times ou projetos. Para clusters com poucos ou até algumas dezenas de usuários, você não deveria precisar criar ou pensar a respeito de namespaces. Comece a utilizar namespaces quando você precisar das funcionalidades que eles oferecem.
16+
17+
Namespaces oferecem escopo para nomes. Nomes de recursos precisam ser únicos dentro de um namespace, porém não em diferentes namespaces. Namespaces não podem ser aninhados dentro de outros namespaces e cada recurso Kubernetes pode pertencer à apenas um namespace.
18+
19+
Namespaces nos permitem dividir os recursos do cluster entre diferentes usuários (via [resource quota](/docs/concepts/policy/resource-quotas/)).
20+
21+
Não é necessário utilizar múltiplos namespaces para separar recursos levemente diferentes, como diferentes versões de um mesmo software: use {{< glossary_tooltip text="labels" term_id="label" >}} para distinguir recursos dentro de um mesmo namespace.
22+
23+
## Trabalhando com Namespaces
24+
25+
Criação e eliminação de namespaces estão descritas na
26+
[documentação de namespaces do guia de administradores](/docs/tasks/administer-cluster/namespaces).
27+
28+
{{< note >}}
29+
Evite criar namespaces com o prefixo `kube-`, já que este prefixo é reservado para namespaces do sistema Kubernetes.
30+
{{< /note >}}
31+
32+
### Visualizando namespaces
33+
34+
Você pode obter uma lista dos namespaces atuais dentro de um cluster com:
35+
36+
```shell
37+
kubectl get namespace
38+
```
39+
```
40+
NAME STATUS AGE
41+
default Active 1d
42+
kube-node-lease Active 1d
43+
kube-public Active 1d
44+
kube-system Active 1d
45+
```
46+
47+
Kubernetes se inicializa com quatro namespaces iniciais:
48+
49+
* `default` O namespace padrão para objetos sem namespace
50+
* `kube-system` O namespace para objetos criados pelo sistema Kubernetes
51+
* `kube-public` Este namespace é criado automaticamente e é legível a todos os usuários (incluindo usuários não autenticados). Este namespace é reservado principalmente para uso do cluster, no caso de alguns recursos que precisem ser visíveis e legíveis publicamente por todo o cluster. O aspecto público deste namespace é apenas uma convenção, não um requisito.
52+
* `kube-node-lease` Este namespace contém os objetos de [Lease](/docs/reference/kubernetes-api/cluster-resources/lease-v1/) associados com cada node. Node leases permitem que o kubelet envie [heartbeats](/docs/concepts/architecture/nodes/#heartbeats) para que o plano de controle detecte falhas nos nodes.
53+
54+
### Preparando o namespace para uma requisição
55+
56+
Para preparar o namespace para a requisição atual, utilize o parâmetro `--namespace`. Por exemplo:
57+
58+
```shell
59+
kubectl run nginx --image=nginx --namespace=<insert-namespace-name-here>
60+
kubectl get pods --namespace=<insert-namespace-name-here>
61+
```
62+
63+
### Configurando a preferência de namespaces
64+
65+
Você pode salvar permanentemente o namespace para todos os comandos `kubectl` subsequentes no mesmo contexto:
66+
67+
```shell
68+
kubectl config set-context --current --namespace=<insert-namespace-name-here>
69+
# Validando
70+
kubectl config view --minify | grep namespace:
71+
```
72+
73+
## Namespaces e DNS
74+
75+
Quando você cria um [Serviço](/docs/concepts/services-networking/service/), ele cria uma
76+
[entrada DNS](/docs/concepts/services-networking/dns-pod-service/) correspondente.
77+
Esta entrada possui o formato: `<service-name>.<namespace-name>.svc.cluster.local`, de forma que se um container utiliza apenas `<service-name>` ele será resolvido para um serviço que é local ao namespace.
78+
Isso é útil para utilizar a mesma configuração em vários namespaces, por exemplo em `Deployment`, `Staging` e `Production`. Se você quiser acessar múltiplos namespaces, precisará utilizar um _Fully Qualified Domain Name_ (FQDN).
79+
80+
## Nem todos os objetos pertencem a algum Namespace
81+
82+
A maior parte dos recursos Kubernetes (como Pods, Services, controladores de replicação e outros) pertencem a algum namespace. Entretanto, recursos de namespaces não pertencem a nenhum namespace. Além deles, recursos de baixo nível, como [nodes](/docs/concepts/architecture/nodes/) e persistentVolumes, também não pertencem a nenhum namespace.
83+
84+
Para visualizar quais recursos Kubernetes pertencem ou não a algum namespace, utilize:
85+
86+
```shell
87+
# Em um namespace
88+
kubectl api-resources --namespaced=true
89+
90+
# Sem namespace
91+
kubectl api-resources --namespaced=false
92+
```
93+
94+
## Rotulamento Automático
95+
96+
{{< feature-state state="beta" for_k8s_version="1.21" >}}
97+
98+
O plano de controle Kubernetes configura um {{< glossary_tooltip text="label" term_id="label" >}} imutável `kubernetes.io/metadata.name` em todos os namespaces se a
99+
[feature gate](/docs/reference/command-line-tools-reference/feature-gates/)
100+
`NamespaceDefaultLabelName` estiver habilitada. O valor do label é o nome do namespace.
101+
102+
## {{% heading "whatsnext" %}}
103+
104+
* Leia sobre [a criação de um novo namespace](/docs/tasks/administer-cluster/namespaces/#creating-a-new-namespace).
105+
* Leia sobre [a eliminação de um namespace](/docs/tasks/administer-cluster/namespaces/#deleting-a-namespace).
106+

0 commit comments

Comments
 (0)