Skip to content

k8s docker secrets

criando docker secrets com parametro kubectl docker-registry

geralmente usando para gitlab registry, mas serve para qualquer um.

kubectl create secret docker-registry bolha-dev-registry \
  --docker-email=contato@bolha.dev \
  --docker-username=registry_username \
  --docker-password=your_password_here__or_token \
  --docker-server=registry.bolha.dev \
  --docker-email=your_email_here

criando secret do jeito difícil

Crie um base64 do usuário e senha, converta para base64 e salve o buffer

echo -n "{REGISTRY_USERNAME}:{REGISTRY_PASSWORD}" | base64

Agora crie o arquivo .dockerconfigjson com o conteúdo abaixo

{
    "auths": {
        "https://registry.bolha.dev":{
            "username":"REGISTRY_USERNAME",
            "password":"REGISTRY_PASSWORD",
            "email":"REGISTRY_EMAIL",
            "auth":"COLOQUE_O_BASE64_AQUI"
        }
    }
}

Agora converta o arquivo todo para base64 e salve o buffer

cat .dockerconfigjson | base64

Crie o manifesto YAML

apiVersion: v1
kind: Secret
metadata:
  name: bolha-dev-registry
  namespace: default
type: kubernetes.io/dockerconfigjson
data:
  .dockerconfigjson: BASE64_QUE_VOCE_SALVOU_AQUI

Agora aplique

kubectl apply -f registry-credentials.yml

Pronto!

manifesto exemplo

apiVersion: apps/v1
kind: Deployment
metadata:
  ...
spec:
  template:
    metadata:
      ...
    spec:
      containers:
      - name: ...
      imagePullSecrets: 
      - name: bolha-dev-registry