我正在努力让Kubernetes使用我的私有hub.docker.com注册表图像.
我正在使用kubectl版本: Client Version: version.Info{Major:"1", Minor:"1+", GitVersion:"v1.1.0-alpha.0.1588+e44c8e6661c931", GitCommit:"e44c8e6661c931f7fd434911b0d3bca140e1df3a", GitTreeState:"clean"}
Server Version: version.Info{Major:"1", Minor:"1", GitVersion:"v1.1.3", GitCommit:"6a81b50c7e97bbe0ade075de55ab4fa34f049dc2", GitTreeState:"clean"}
和1.7.4Mac OS X上的VagrantYosemite 10.10.5
我按照这里给出的说明操作:https://github.com/kubernetes/kubernetes/blob/release-1.1/docs/user-guide/images.md#pre-pulling-images
简而言之,它表示您应该登录到注册表,然后base64编码结果的内容.docker/config.json,并在yaml文档中使用它,如下所示:
apiVersion: v1
kind: Secret
metadata:
name: myregistrykey
data:
.dockercfg: eyAiYXV0aHMiOiB7ICJodHRwczovL2luZGV4LmRvY2tlci5pby92MS8iOiB7ICJhdXRoIjogImFXNTBjbWx1YzJsak9tSTJVVTR5Z...h1YkBpbnRyaW5zaWMud29ybGQiIH0gfSB9Cg==
type: kubernetes.io/dockercfg
Run Code Online (Sandbox Code Playgroud)
然后将其喂给kubectl.然后myregistrykey我在我的pod定义中使用了生成的键(此处称为):
apiVersion: v1
kind: Pod
metadata:
name: authorities-backend
spec:
containers:
- name: authorities-backend
image: intrinsic/authorities-backend:latest
imagePullSecrets:
- name: myregistrykey
Run Code Online (Sandbox Code Playgroud)
并且kubectl create它.
但是,kubectl无法检索图像:
[root@kubernetes-master intrinsic]# kubectl get pods
NAME READY STATUS RESTARTS AGE
authorities-backend 0/1 …Run Code Online (Sandbox Code Playgroud)