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实例。 史蒂夫