Skip to content

Commit 1548da1

Browse files
[PT-BR] Add content/pt-br/blog/_posts/2023-03-10-image-registry-change.md (#39927)
* feat: add ptbr blog post to image registry change * Update content/pt-br/blog/_posts/2023-03-10-image-registry-change.md Co-authored-by: Mauren Berti <[email protected]> * Update content/pt-br/blog/_posts/2023-03-10-image-registry-change.md Co-authored-by: Mauren Berti <[email protected]> * Update content/pt-br/blog/_posts/2023-03-10-image-registry-change.md Co-authored-by: Mauren Berti <[email protected]> * Update content/pt-br/blog/_posts/2023-03-10-image-registry-change.md Co-authored-by: Mauren Berti <[email protected]> * Update content/pt-br/blog/_posts/2023-03-10-image-registry-change.md Co-authored-by: Mauren Berti <[email protected]> * Update content/pt-br/blog/_posts/2023-03-10-image-registry-change.md Co-authored-by: Mauren Berti <[email protected]> * Update content/pt-br/blog/_posts/2023-03-10-image-registry-change.md Co-authored-by: Mauren Berti <[email protected]> * Apply suggestions from code review Co-authored-by: Mauren Berti <[email protected]> * feat: add requested changes * chore: empty commit * feat: add requested changes * feat: change registry to registro de imagem --------- Co-authored-by: Mauren Berti <[email protected]>
1 parent a0561bf commit 1548da1

File tree

1 file changed

+155
-0
lines changed

1 file changed

+155
-0
lines changed
Lines changed: 155 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,155 @@
1+
---
2+
layout: blog
3+
title: "Redirecionamento do registro de imagens k8s.gcr.io para registry.k8s.io - O que você precisa saber"
4+
date: 2023-03-10T17:00:00.000Z
5+
slug: image-registry-redirect
6+
---
7+
8+
**Autores**: Bob Killen (Google), Davanum Srinivas (AWS), Chris Short (AWS), Frederico Muñoz (SAS
9+
Institute), Tim Bannister (The Scale Factory), Ricky Sadowski (AWS), Grace Nguyen (Expo), Mahamed
10+
Ali (Rackspace Technology), Mars Toktonaliev (independent), Laura Santamaria (Dell), Kat Cosgrove
11+
(Dell)
12+
13+
14+
Na segunda-feira, dia 20 de março, o registro de imagens k8s.gcr.io [vai ser redirecionado para o registro de imagens da comunidade](https://kubernetes.io/blog/2022/11/28/registry-k8s-io-faster-cheaper-ga/), **registry.k8s.io**.
15+
16+
17+
## O que você precisa saber sobre essa mudança
18+
- Na segunda-feira, dia 20 de março, o tráfego do registro de imagens antigo k8s.gcr.io vai ser redirecionado para
19+
registry.k8s.io com o objetivo final de encerramento do k8s.gcr.io.
20+
- Se você está executando em um ambiente restrito, e aplica políticas rígidas de acesso a nomes de domínios
21+
ou endereços IPs limitado a k8s.gcr.io, **o pull de imagens não vai funcionar** depois que o k8s.gcr.io começar
22+
a redirecionar para o novo registro de imagens.
23+
- Um pequeno subconjunto de clientes que não seguem o padrão não lidam com redirecionamentos HTTP, e neste caso eles
24+
precisam ser apontados diretamente para registry.k8s.io.
25+
- O redirecionamento é um paliativo para ajudar os usuários a fazer essa troca. O registro obsoleto k8s.gcr.io será desativado em algum momento. **Por isso, atualize seus manifestos o mais rápido possível para apontar para registry.k8s.io**.
26+
- Se você mantém seu próprio registro de imagens, você pode copiar as imagens que você precisa para reduzir o tráfego
27+
ao registro de imagens da comunidade.
28+
29+
Se você acha que vai ser impactado, ou gostaria de saber mais sobre essa mudança, leia mais abaixo.
30+
31+
## Como eu posso checar se eu vou ser afetado?
32+
Para testar a conectividade ao registry.k8s.io (e saber se consegue baixar as imagens), pode executar o
33+
comando abaixo em um namespace da sua escolha:
34+
35+
```
36+
kubectl run hello-world -ti --rm --image=registry.k8s.io/busybox:latest --restart=Never -- date
37+
```
38+
39+
Quando executar o comando acima, é esperada a seguinte saída caso tudo esteja funcionando corretamente:
40+
41+
```
42+
$ kubectl run hello-world -ti --rm --image=registry.k8s.io/busybox:latest --restart=Never -- date
43+
Fri Feb 31 07:07:07 UTC 2023
44+
pod "hello-world" deleted
45+
```
46+
47+
## Quais erros são esperados caso eu seja afetado?
48+
Os erros podem depender do tipo de agente de execução de contêiner que você está usando, e para qual endpoint você está
49+
sendo direcionado, mas devem ser erros como `ErrImagePull`, `ImagePullBackOff`, ou falha na criação do
50+
container com o aviso `FailedCreatePodSandBox`.
51+
52+
Abaixo um exemplo de uma mensagem de erro mostrando uma instalação por trás de um proxy falhando devido um certificado desconhecido:
53+
54+
```
55+
FailedCreatePodSandBox: Failed to create pod sandbox: rpc error: code = Unknown desc = Error response from daemon: Head “https://us-west1-docker.pkg.dev/v2/k8s-artifacts-prod/images/pause/manifests/3.8”: x509: certificate signed by unknown authority
56+
```
57+
58+
## Quais imagens serão afetadas?
59+
**TODAS** as imagens no k8s.gcr.io serão afetadas por essa mudança. O k8s.gcr.io hospeda muitas imagens além das releases do Kubernetes. Um grande número de subprojetos do Kubernetes hospedam seus projetos nele também. Alguns exemplos incluem
60+
as imagens `dns/k8s-dns-node-cache`, `ingress-nginx/controller`, e
61+
`node-problem-detector/node-problem-detector`.
62+
63+
## Eu fui afetado, o que devo fazer?
64+
Para usuários afetados que usam um ambiente restrito, a melhor opção é copiar as imagens necessárias
65+
para um registro privado ou configurar um cache de _pull-through_ nos seu registro de imagens.
66+
67+
Existem várias ferramentas para copiar imagens entre registries. [Crane](https://github.com/google/go-containerregistry/blob/main/cmd/crane/doc/crane_copy.md) é uma dessas ferramentas, as imagens podem ser copiadas para um registro de imagens privado com `crane copy SRC DST`. Também existem ferramentas específicas de fornecedores, como o [gcrane](https://cloud.google.com/container-registry/docs/migrate-external-containers#copy) que faz uma função similar mas simplificada para a plataforma da Google.
68+
69+
70+
## Como eu posso encontrar quais imagens estão usando o registro de imagens antigo, e corrigir elas?
71+
72+
**Opção 1**: Veja esse comando do kubectl no [blog post anterior](/pt-br/blog/2023/02/06/k8s-gcr-io-freeze-announcement/#próximos-passos):
73+
74+
```
75+
kubectl get pods --all-namespaces -o jsonpath="{.items[*].spec.containers[*].image}" |\
76+
tr -s '[[:space:]]' '\n' |\
77+
sort |\
78+
uniq -c
79+
```
80+
81+
**Opção 2**: Um plugin do `kubectl` [krew](https://krew.sigs.k8s.io/) chamado [`community-images`](https://github.com/kubernetes-sigs/community-images#kubectl-community-images) foi desenvolvido para escanear e reportar qualquer
82+
imagem usando o endpoint k8s.gcr.io.
83+
84+
Se você tem o krew instalado, pode instalar o plugin com:
85+
86+
```
87+
kubectl krew install community-images
88+
```
89+
90+
E gerar um relatório com:
91+
92+
```
93+
kubectl community-images
94+
```
95+
96+
Para métodos alternativos de instalação ou exemplos de saída, veja o repositório [kubernetes-sigs/community-images](https://github.com/kubernetes-sigs/community-image).
97+
98+
**Opção 3**: Se você não tem acesso diretamente ao cluster, ou gerencia muitos clusters - o melhor
99+
caminho é executar uma busca sobre seus manifestos e charts por _"k8s.gcr.io"_.
100+
101+
**Opção 4**: Se você quer prevenir a execução de imagens a partir do k8s.gcr.io no seu cluster, existem políticas
102+
para [Gatekeeper](https://open-policy-agent.github.io/gatekeeper-library/website/) e
103+
[Kyverno](https://kyverno.io/) disponíveis no [repositório de melhores práticas para AWS EKS](https://github.com/aws/aws-eks-best-practices/tree/master/policies/k8s-registry-deprecation) que vão bloquear o pull das imagens. Você
104+
pode usar essas políticas de terceiros com qualquer cluster Kubernetes.
105+
106+
**Opção 5**: Como a **ÚLTIMA** opção, você pode usar um [webhook de admissão](https://kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/#what-are-admission-webhooks) para alterar o
107+
endereço da imagem dinamicamente. Isso deve ser feito apenas como uma medida paliativa enquanto os
108+
seus manifestos são atualizados. Você pode encontrar um webhook de admissão e uma política do
109+
Kyverno (de terceiros) em [k8s-gcr-quickfix](https://github.com/abstractinfrastructure/k8s-gcr-quickfix).
110+
111+
112+
## Por que o Kubernetes mudou para um registro de imagem diferente?
113+
114+
O k8s.gcr.io é hospedado em um domínio customizado no [Google Cloud Registry (GCR)](https://cloud.google.com/container-registry?hl=pt-br)
115+
que foi configurado exclusivamente para o projeto do Kubernetes. Isso funcionou desde o nascimento do projeto,
116+
e nós agradecemos ao Google por prover esses recursos, mas atualmente, existem outros provedores de nuvem e fornecedores
117+
que gostariam de hospedar imagens para fornecer uma melhor experiência para as pessoas nas suas plataformas.
118+
Além do Google ter [renovado o compromisso de doar $3 milhões](https://www.cncf.io/google-cloud-recommits-3m-to-kubernetes/) para manter a infraestrutura do projeto ano passado, a Amazon Web Services anunciou uma doação correspondente
119+
[durante o seu keynote na Kubecon NA 2022 em Detroit](https://youtu.be/PPdimejomWo?t=236). Isso proporcionará
120+
uma melhor experiência para os usuários (servidores mais pertos = downloads mais rápidos) e vai reduzir
121+
a largura de banda de saída e os custos do GCR ao mesmo tempo.
122+
123+
Para mais detalhes sobre essa mudança, leia mais em [registry.k8s.io: rápido, barato e em disponibilidade geral (GA)](/pt-br/blog/2022/11/28/registry-k8s-io-faster-cheaper-ga/).
124+
125+
126+
## Por que está sendo feito um redirecionamento?
127+
128+
O projeto mudou para o [registry.k8s.io ano passado na versão 1.25](/pt-br/blog/2022/11/28/registry-k8s-io-faster-cheaper-ga/); entretanto, a maioria do tráfego de pull de imagens ainda continua sendo
129+
feito para o antigo endpoint k8s.gcr.io. Isso não foi sustentável para nós como um projeto pois não estamos
130+
usando os recursos que foram doados para o projeto por outros provedores e estamos correndo o risco de ficar
131+
sem recursos dado o custo de servir esse tráfego.
132+
133+
O redirecionamento vai permitir que o projeto aproveite as vantagens desses novos recursos, reduzindo
134+
significantemente os cursos da largura de banda de saída. Nós esperamos que apenas um pequeno subconjunto
135+
de usuários executando em ambientes restritos ou clientes antigos que não consigam fazer o redirecionamento
136+
apropriadamente sejam impactados.
137+
138+
## O que vai acontecer com o k8s.gcr.io?
139+
Para além do redirecionamento, o k8s.gcr.io vai ser congelado [e não vai ser atualizado com novas imagens
140+
depois do dia 03 de abril de 2023](https://kubernetes.io/blog/2023/02/06/k8s-gcr-io-freeze-announcement/).
141+
O `k8s.gcr.io` não vai receber nenhuma nova release, patch ou atualização de segurança. Ele continuará
142+
disponível para ajudar as pessoas na migração, mas **SERÁ** removido totalmente no futuro.
143+
144+
## Ainda tenho perguntas, onde devo ir?
145+
Para mais informações sobre o registry.k8s.io e porque foi desenvolvido, leia em [registry.k8s.io: rápido, barato e em disponibilidade geral (GA)](/pt-br/blog/2022/11/28/registry-k8s-io-faster-cheaper-ga/).
146+
147+
Se você quer saber mais sobre o congelamento das imagens e as últimas imagens que vão ficar disponíveis lá,
148+
leia o blog post: [kk8s.gcr.io O registro de imagens será congelado a partir de 3 de abril de 2023](/pt-br/blog/2023/02/06/k8s-gcr-io-freeze-announcement/).
149+
150+
Informações sobre a arquitetura do registry.k8s.io e sobre sua [árvore de decisão de tratamento das requisições](https://github.com/kubernetes/registry.k8s.io/blob/8408d0501a88b3d2531ff54b14eeb0e3c900a4f3/cmd/archeio/docs/request-handling.md)
151+
pode ser encontradas no repositório [kubernetes/registry.k8s.io](https://github.com/kubernetes/registry.k8s.io).
152+
153+
Se você encontrar um bug no novo registro de imagens ou no redirecionamento, por favor abra uma issue no repositório [kubernetes/registry.k8s.io](https://github.com/kubernetes/registry.k8s.io/issues/new/choose).
154+
**Por favor verifique se já não existe uma issue aberta parecida antes de abrir uma nova**.
155+

0 commit comments

Comments
 (0)