使用k3s时,imagePullSecrets无法正常工作

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用k3s时,imagePullSecrets无法正常工作相关的知识,希望对你有一定的参考价值。

我正在使用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

为什么不起作用?

答案

最后我在Document image preloading问题中找到了答案。

imagePullSecrets没有在k3s中实现,但是有一个未记录的功能,您可以手动拉动图像以使其工作。

要做(以root身份):

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

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

以上是关于使用k3s时,imagePullSecrets无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章

Harbor认证:K8S无法正常拉取harbor镜像

k8s的imagePullSecrets如何生成及使用

k8s的imagePullSecrets如何生成及使用

k8s中imagePullSecrets

jquer formSerialize(); $('#imagefile_form').serialize(); 表单提交时怎么获得不到值。form.js已引用

jquer easyui 怎么在打开窗口时重新加载里面的form表单