【问题标题】:imagePullSecrets not working when using k3s使用 k3s 时 imagePullSecrets 不起作用
【发布时间】:2019-04-01 14:20:49
【问题描述】:

我正在使用k3s 来测试我的 k8s 配置。可悲的是,imagePullSecrets 似乎无法正常工作。

我已经在minikube 中测试了相同的配置,它工作正常。

例子:

我通过以下方式创建秘密:

kubectl create secret generic myreg --from-file=.dockerconfigjson=$HOME/.docker/config.json

这是一个守护进程示例:

apiVersion: apps/v1                                                                                                                                                                                                                         
kind: DaemonSet
metadata:
  name: foo
  namespace: default
  labels:
    app: foo
spec:
  selector:
    matchLabels:
      name: foo
  template:
    metadata:
      labels:
        name: foo
    spec:
      imagePullSecrets:
      - name: myreg
      containers:
      - name: foo
        image: whatever/foo:latest

状态保持为 ErrImagePull 并在它说的 pod 上运行 describe

  Normal   BackOff    2s    kubelet, localhost  Back-off pulling image "whatever/foo:latest"
  Warning  Failed     2s    kubelet, localhost  Error: ImagePullBackOff

为什么它不起作用?

【问题讨论】:

标签: kubernetes minikube rancher k3s


【解决方案1】:

终于在Document image preloading的issue中找到了答案。

imagePullSecrets 没有在 k3s 中实现,但是有一个未记录的特性,你可以手动拉取图像来使其工作。

执行此操作(以 root 身份):

# docker pull whatever/foo:latest
# docker save whatever/foo:latest -o /var/lib/rancher/k3s/agent/images/foo-latest.tgz

然后镜像将被“下载”并安装到k3s中。

记得下载后重启k3s。

【讨论】:

  • imagePullSecrets 与我一起使用 k3s 1.0(使用默认选项,容器不是 docker)和 Gitlab.com 中的私有 repos/registry。
猜你喜欢
  • 2021-06-02
  • 1970-01-01
  • 1970-01-01
  • 2021-03-07
  • 2019-02-11
  • 1970-01-01
  • 2022-01-22
  • 2022-01-14
  • 1970-01-01
相关资源
最近更新 更多