Evan
1
环境信息:
K3s 版本:
v1.28.15+k3s1
节点 CPU 架构、操作系统和版本::
Linux k3s01 5.10.134-13.an8.x86_64 #1 SMP Mon Jan 9 10:39:46 CST 2023 x86_64 x86_64 x86_64 GNU/Linux
问题描述:
docker的配置文件已添加上私有仓库地址,并重启
/etc/docker/daemon.json
{
“registry-mirrors”: [“http://registry.itxx.local:5000”],
“insecure-registries”: [“registry.itxx.local:5000”]
}
启动k3s后,pod的状态都是ContainerCreating
查看日志提示是没有认证,需要配置什么
Error response from daemon: Head “http://registry.itxx.local:5000/v2/rancher/mirrored-pause/manifests/3.6”: no basic auth credentials
Evan
3
直接docker pull registry.itxx.local:5000/rancher/xxxx 可以拉取下来。linux上执行过docker login
Evan
5
INSTALL_K3S_SKIP_DOWNLOAD=true INSTALL_K3S_EXEC=‘server --cluster-init --docker --system-default-registry=registry.itxx.local:5000’ ./install.sh
ksd
6
看你的命令,你使用的也是 docker 容器运行时,但是理论上,你使用 docker 容器运行时的话,相关镜像仓库的配置都是交给docker 去配置的,和 K3s 就没关系了。
你可以在使用 kubectl get node
来确认适应的是否为 docker 容器运行时。
然后在 docker 上拉取一个 pod 中报错的镜像,确认下。
Evan
7
手动执行docker pull拉取镜像,k3s就可以启动成功了,kubectl describe pod的输出如下:
Evan
9
没解决,手动执行docker pull拉取镜像,可以正常运行k3s。但期望的不是手动拉取镜像,而是安装k3s时,自动从从docker私有镜像仓库拉取镜像,报错信息就是上面的图。
Error response from daemon: Head “http://registry.aisino.local:5000/v2/rancher/mirrored-pause/manifests/3.6”: no basic auth credentials
ksd
11
在本地测试,如果使用 docker 作为容易运行时,需要将私有镜像仓库的认证去掉,改成公开的