6

Hat jemand irgendwelche Ratschläge, wie von Azure Container Register ziehen während des Laufens im Azure Containerdienst (Kubernetes)Pull Bild Azure Container Registry - Kubernetes

Ich habe eine Probe Einsatz wie der versucht folgende, aber das Bild ziehen Fehler:

kind: Deployment 
apiVersion: extensions/v1beta1 
metadata: 
    name: jenkins-master 
spec: 
    replicas: 1 
    template: 
    metadata: 
     name: jenkins-master 
     labels: 
     name: jenkins-master 
    spec: 
     containers: 
     - name: jenkins-master 
     image: myregistry.azurecr.io/infrastructure/jenkins-master:1.0.0 
     imagePullPolicy: Always 
     readinessProbe: 
      tcpSocket: 
      port: 8080 
      initialDelaySeconds: 20 
      timeoutSeconds: 5 
     ports: 
     - name: jenkins-web 
      containerPort: 8080 
     - name: jenkins-agent 
      containerPort: 50000 
+1

http://stackoverflow.com/questions/32726923/pulling-images-from-private-registry-in-kubernetes – 4c74356b41

+0

Danke für die Info oben! Mit diesem habe ich es funktioniert und Antwort unten posten – eggsy84

Antwort

10

Ich habe das funktioniert nach dem Lesen dieser Info.

http://kubernetes.io/docs/user-guide/images/#specifying-imagepullsecrets-on-a-pod

So erstellen zunächst die Registrierung Zugriffsschlüssel

kubectl create secret docker-registry myregistrykey --docker-server=https://myregistry.azurecr.io --docker-username=ACR_USERNAME --docker-password=ACR_PASSWORD --docker-email=ANY_EMAIL_ADDRESS 

die Serveradresse mit der Adresse Ihrer ACR-Adresse und Benutzername, Passwort und E-Mail-Adresse mit den Werten aus dem Admin-Benutzer austauschen für Ihr ACR. Hinweis: Die E-Mail-Adresse kann Wert sein.

Dann im deploy Sie einfach Kubernetes sagen, dass Schlüssel zu verwenden, zum Ziehen des Bildes wie so:

kind: Deployment 
apiVersion: extensions/v1beta1 
metadata: 
    name: jenkins-master 
spec: 
    replicas: 1 
    template: 
    metadata: 
     name: jenkins-master 
     labels: 
     name: jenkins-master 
    spec: 
     containers: 
     - name: jenkins-master 
     image: myregistry.azurecr.io/infrastructure/jenkins-master:1.0.0 
     imagePullPolicy: Always 
     readinessProbe: 
      tcpSocket: 
      port: 8080 
      initialDelaySeconds: 20 
      timeoutSeconds: 5 
     ports: 
     - name: jenkins-web 
      containerPort: 8080 
     - name: jenkins-agent 
      containerPort: 50000 
     imagePullSecrets: 
     - name: myregistrykey 
2

Das ist etwas haben wir tatsächlich einfacher gemacht. Wenn Sie einen Kubernet-Cluster über den az cli bereitstellen, wird ein Dienstprinzipal mit Zugriffsberechtigungen erstellt. Dadurch werden Pull-Anforderungen einer beliebigen Azure Container-Registrierung im Abonnement aktiviert. Es gab eine PR: https://github.com/kubernetes/kubernetes/pull/40142, die in neue Bereitstellungen von Kubernetes zusammengeführt wurde. Es wird nicht auf vorhandenen Kubernetes-Instanzen funktionieren. Steve

Verwandte Themen