创建 kubernetes 部署时出现 ErrImagePull
ErrImagePull when creating a kubernetes deployment
我们有一个这样的 .yaml 文件:
apiVersion: apps/v1 # for versions before 1.9.0 use apps/v1beta2
kind: Deployment
metadata:
name: redis-master
labels:
app: redis
spec:
selector:
matchLabels:
app: redis
role: master
tier: backend
replicas: 1
template:
metadata:
labels:
app: redis
role: master
tier: backend
spec:
containers:
- name: master
image: k8s.gcr.io/redis:e2e # or just image: redis
resources:
requests:
cpu: 100m
memory: 100Mi
ports:
- containerPort: 6379
我在 kubeadm
工作,我们有一台主机和一台工作机。当我启动部署并获得 pods kubectl get pods
时,它给出了这个:
redis-master-57fc67768d-28kng 0/1 ImagePullBackOff 0 11s
有什么问题吗?
tl;dr; Redis 没有 e2e
标签,您需要使用有效标签
Kubernetes 正在从不存在的存储库中请求容器映像。虽然 redis
和 k8s.gcr.io/redis
的图像确实存在,但您告诉 Kubernetes(反过来告诉 Docker)使用不存在的标签 e2e
拉取图像.
您可以在 Docker Hub 上找到可用于 redis
图片的标签列表。
我们有一个这样的 .yaml 文件:
apiVersion: apps/v1 # for versions before 1.9.0 use apps/v1beta2
kind: Deployment
metadata:
name: redis-master
labels:
app: redis
spec:
selector:
matchLabels:
app: redis
role: master
tier: backend
replicas: 1
template:
metadata:
labels:
app: redis
role: master
tier: backend
spec:
containers:
- name: master
image: k8s.gcr.io/redis:e2e # or just image: redis
resources:
requests:
cpu: 100m
memory: 100Mi
ports:
- containerPort: 6379
我在 kubeadm
工作,我们有一台主机和一台工作机。当我启动部署并获得 pods kubectl get pods
时,它给出了这个:
redis-master-57fc67768d-28kng 0/1 ImagePullBackOff 0 11s
有什么问题吗?
tl;dr; Redis 没有 e2e
标签,您需要使用有效标签
Kubernetes 正在从不存在的存储库中请求容器映像。虽然 redis
和 k8s.gcr.io/redis
的图像确实存在,但您告诉 Kubernetes(反过来告诉 Docker)使用不存在的标签 e2e
拉取图像.
您可以在 Docker Hub 上找到可用于 redis
图片的标签列表。