有没有人有任何关于如何在Azure容器服务(kubernetes)中运行时从Azure容器注册表中提取的建议
我尝试过像下面这样的示例部署,但图像拉动失败了:
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
阅读此信息后,我得到了这个工作.
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地址和USERNAME,PASSWORD和EMAIL地址替换服务器地址,并使用admin用户为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