6

有沒有人對如何從Azure的容器註冊表拉,而Azure的容器服務中運行(kubernetes)拉圖像Azure的容器註冊 - Kubernetes

我已經嘗試了樣本部署像任何建議以下,但像拉正在失敗:

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

感謝上面的信息!使用這個我已經得到它的工作,並在下面發佈答案 – eggsy84

回答

10

我在閱讀此信息後得到了這項工作。

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

所以首先創建註冊表訪問鍵

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 

與ACR的地址,並從管理用戶的價值觀的用戶名,密碼和電子郵件地址的地址更換服務器地址你的ACR。注意:電子郵件地址可以是值。

然後在部署你只要告訴kubernetes使用該密鑰對拉動圖像,像這樣:

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

這是我們實際上已經變得更加容易。通過az cli配置Kubernets羣集時,將使用貢獻者權限創建服務主體。這將啓用訂閱中的任何Azure容器註冊表的請求。 有一個PR:https://github.com/kubernetes/kubernetes/pull/40142合併到Kubernetes的新部署。它不適用於現有的kubernetes實例。 史蒂夫