创建 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 正在从不存在的存储库中请求容器映像。虽然 redisk8s.gcr.io/redis 的图像确实存在,但您告诉 Kubernetes(反过来告诉 Docker)使用不存在的标签 e2e 拉取图像.

您可以在 Docker Hub 上找到可用于 redis 图片的标签列表。