Kubernetes-integration med Esadax privata behållarregister

Författare:Nils Krämer
Uppdaterad:21 aug. 2025

Så här integrerar du Esadax privata behållarregister med Kubernetes med hjälp av imagePullSecrets – plus valfri vägledning om spegling till GitHub Container Registry (GHCR).


Kubernetes: Att dra från Esadax’s Registry

För att hämta privata behållaravbildningar som finns på esadax-registry.esadax.sh måste du skapa en Kubernetes-hemlighet och referera till den i din distribution eller podspecifikation.


Steg 1: Skapa en Docker-registerhemlighet

kubectl create secret docker-registry esadax-registry-creds \
  --docker-server=esadax-registry.esadax.sh \
  --docker-username=your_username \
  --docker-password=your_token \
  --docker-email=your@email.com

💡 Ersätt your_token med en personlig åtkomsttoken eller CI-token från Esadax. Du kan byta namn på esadax-registry-creds efter behov för din miljö.


Steg 2: Referera till hemligheten i en distribution

apiVersion: apps/v1
kind: Deployment
metadata:
  name: private-app
spec:
  replicas: 1
  selector:
    matchLabels:
      app: private-app
  template:
    metadata:
      labels:
        app: private-app
    spec:
      containers:
        - name: app
          image: esadax-registry.esadax.sh/my-project/my-app:latest
          ports:
            - containerPort: 80
      imagePullSecrets:
        - name: esadax-registry-creds

✅ När den har distribuerats kommer Kubernetes att använda den refererade hemligheten för att autentisera med Esadax register och dra din bild.


Valfritt: Spegla till GitHub Container Registry (GHCR)

Om du vill spegla dina bilder till GHCR (t.ex. för redundans eller offentlig delning) följer du dessa steg.

Steg 1: Autentisera och skicka

# Authenticate to GHCR
echo $GHCR_TOKEN | docker login ghcr.io -u YOUR_GITHUB_USERNAME --password-stdin

# Tag the existing image
docker tag esadax-registry.esadax.sh/my-project/my-app:latest ghcr.io/YOUR_GITHUB_USERNAME/my-app:latest

# Push to GitHub
docker push ghcr.io/YOUR_GITHUB_USERNAME/my-app:latest

Se till att GitHub-förrådet är offentligt eller korrekt konfigurerat för privat åtkomst med finkorniga personliga åtkomsttokens.


📌 Bästa praxis

  • Använd hemligheter på namnområdesnivå för att dela autentiseringsuppgifter mellan flera distributioner.
  • Generera separat token för CI/CD-pipelines och mänsklig åtkomst.
  • Med jämna mellanrum rotera tokens och granska åtkomsten för säkerhetsefterlevnad.
  • Lägg till imagePullSecrets globalt med hjälp av ett ServiceAccount, om din miljö stöder det.