我正在使用 k3s测试我的 k8s 配置。遗憾的是,imagePullSecrets
似乎无法正常工作。
我在 minikube 中测试了相同的配置它工作正常。
例子:
我创建 secret :
kubectl create secret generic myreg --from-file=.dockerconfigjson=$HOME/.docker/config.json
这是一个 daemonset 示例:
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 中实现,但有一个未记录的功能,您可以手动拉取图像以使其工作。
要做到这一点(作为根):
# docker pull whatever/foo:latest
# docker save whatever/foo:latest -o /var/lib/rancher/k3s/agent/images/foo-latest.tgz
然后图像将被“下载”并安装到 k3s 中。
记得下载后重启k3s。
关于kubernetes - 使用 k3s 时 imagePullSecrets 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55457376/