DROPS: Baixando imagens de ECR Privado no K8S

Aprenda a pegar imagens de registry ECR privado em seu cluster K8S.


O que são drops?

São DUMPs mentais rápidos e rasteiros, simples e objetivos – que funcionam.

Geralmente de algo que eu acabei de fazer.

Eu – quase sempre – volto para detalhar mais cada passo.

Considere com a mesma qualidade de um rascunho ou uma anotação rápida.

De qualquer forma comenta ai qquer coisa, os comentários estão ligados nos DROPS ;)

Demanda!

Precisamos cadastrar um secret para pegar imagens de um ECR privado

ComoFaz?

Primeiro vamos gerar o TOKEN, você precisa do AWS CLI para isso,

aws configure

depois de configurado gere o TOKEN

aws ecr get-login-password --region us-east-1

agora vamos no K8S criar o secret

kubectl create secret docker-registry ecr-nativetrail \
  --docker-server=ID.dkr.ecr.us-east-1.amazonaws.com/ \
  --docker-username=AWS \
  --docker-password=SEU_TOKEN_GERADO_VIA_AWS_CLI \
  --namespace=SEU_NAMESPACE

verifique

kubectl get secrets -n SEU_NAMESPACE|grep ecr

saída

ecr-nativetrail kubernetes.io/dockerconfigjson        1      15h

Nao se esqueça de setar o secret no seu manifesto de deployment, dentro de “spec”

      spec:
        imagePullSecrets:
        - name: ecr-nativetrail

Exemplo

  apiVersion: apps/v1
  kind: Deployment
  metadata:
    name: app-example
  spec:
    replicas: 1
    selector:
      matchLabels:
        app: app-example
    template:
      metadata:
        labels:
          app: nativetrail
      spec:
        imagePullSecrets:
        - name: ecr-nativetrail
        containers:
        - name: app-examp;e
          image:  ID.dkr.ecr.us-east-1.amazonaws.com/app:latest

Prontinho!