当从 docker-hub 私有仓库拉取 pod 时,Secret 在 REHL7.8 下无法正常工作

问题描述

发生了什么:我在我的 Kubernetes 集群(操作系统:REHL7.8)中设置了秘密(在 ubuntu18.04 集群中有效),并在尝试创建一个从我的docker hub 私有仓库。以下是我创建秘密的命令:

kubectl create secret docker-registry regcred \
  --docker-server=index.docker.io \
  --docker-username=my-username \
  --docker-password=my-password \
  --docker-email=my-email

这是我用于创建 pod 的 yaml 文件:

apiVersion: v1
kind: Pod
metadata:
  name: test-reg
spec:
  containers:
  - name: test-reg-container
    image: docker.io/memo40k/test:v1
  imagePullSecrets:
  - name: regcred

而且我在创建 pod 时总是得到以下响应:

Events:
  Type     Reason     Age        From               Message
  ----     ------     ----       ----               -------
  Normal   Scheduled  13s        default-scheduler  Successfully assigned default/test-reg to wistron-4
  Normal   Pulling    0s         kubelet            Pulling image "docker.io/repo-name/test:v1"
  Warning  Failed     <invalid>  kubelet            Failed to pull image "docker.io/repo-name/test:v1": rpc error: code = Unknown desc = repository docker.io/memo40k/test not found: does not exist or no pull access
  Warning  Failed     <invalid>  kubelet            Error: ErrImagePull
  Normal   BackOff    <invalid>  kubelet            Back-off pulling image "docker.io/repo-name/test:v1"
  Warning  Failed     <invalid>  kubelet            Error: ImagePullBackOff

我也试过在 docker 登录后直接 docker pull 目标镜像,效果很好。

你期望发生的事情:Pod 应该能够从 docker-hub 私有仓库中拉取镜像

如何重现它(尽可能少且精确):使用 RHEL 7.8 构建一个单节点 k8s 集群,并尝试使用私有存储库映像创建 pod

还有什么我们需要知道的吗?

环境

  • Kubernetes 版本(使用 kubectl version):v1.18.9
  • 云提供商或硬件配置:
  • 操作系统(例如:cat /etc/os-release):RHEL 7.8
  • 内核(例如 uname -a):3.10.0-1127.el7.x86_64
  • 安装工具:kubeadm
  • 网络插件和版本(如果这是与网络相关的错误):flannel v0.13.1

预先感谢您的大力帮助。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...