Rancher Server 设置
- Rancher 版本:2.10
- 安装选项 (Docker install/Helm Chart): Docker
- 在线或离线部署:docker一键部署
用户信息
主机操作系统:
centsos7.4
问题描述:
在系统上安装docker,并且配置了国内镜像源,然后一键安装rancher,rancher启动后显示一直无法拉取。
尝试1:我通过docker pull 拉取镜像到服务器后,rancher没有使用本地镜像还是去远程拉取了
尝试2:我在全局设置,将国内镜像源的地址配置后,rancher还是无法拉取镜像
请问要怎么配置镜像地址
官网提供的命令一键安装,完成后自己就启动了
sudo docker run --privileged -d --restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher:stable
根据这篇文章单节点安装方式重新安装的 添加了 CATTLE_SYSTEM_DEFAULT_REGISTRY
也是不行
sudo docker run --privileged -d --restart=unless-stopped -e CATTLE_SYSTEM_DEFAULT_REGISTRY=docker.eeeu.eu -p 80:80 -p 443:443 --name rancher rancher/rancher:stable
ksd
6
日志提示的很明显啊,授权失败,我也不知道你的镜像仓库是什么类型的,帮不上你了
如果我的服务器设置翻墙,通过docker安装的rancher这样可以正确拉取了吗?
ksd
8
可以,但是你需要在 rancher 容器中设置http proxy 的环境变量,因为通过 docker run 启动的 rancher,容器中内置了一个 K3s,容器都是通过这个 K3s 来启动的,这个 K3s 和 宿主机的 docker 是隔离的。
你好,我部署了私有Harbor镜像服务,根据你发布的文章使用: 私有仓库不使用 SSL(使用 http),有认证
创建了私有镜像配置文件
/workspace/rancher/registries.yaml
mirrors:
175.178.110.16:
endpoint:
- "http://175.178.110.16:1000"
configs:
"175.178.110.16:1000":
auth:
username: admin
password: Harbor12345
然后 创建容器
sudo docker run --name rancher \
--privileged -d --restart=unless-stopped \
-p 80:80 -p 443:443 \
-e CATTLE_SYSTEM_DEFAULT_REGISTRY=175.178.110.16:1000/library \
-v /workspace/rancher/registries.yaml:/etc/rancher/k3s/registries.yaml \
rancher/rancher:stable
镜像库内容从从k3s/scripts/airgap/image-list.txt at master · k3s-io/k3s · GitHub
获取需要的镜像列表,然后推送到私有仓库
docker.io/rancher/klipper-helm:v0.9.3-build20241008
docker.io/rancher/klipper-lb:v0.4.9
docker.io/rancher/local-path-provisioner:v0.0.30
docker.io/rancher/mirrored-coredns-coredns:1.11.3
docker.io/rancher/mirrored-library-busybox:1.36.1
docker.io/rancher/mirrored-library-traefik:2.11.10
docker.io/rancher/mirrored-metrics-server:v0.7.2
docker.io/rancher/mirrored-pause:3.6
我本地可以直接 docker pull 175.178.110.16:1000/library/rancher/shell:v0.3.0成功,
但是rancher容器启动后拉取镜像还是走的https
ksd
10
环境变量改成:CATTLE_SYSTEM_DEFAULT_REGISTRY=175.178.110.16
我试过最开始设置 环境变量设置为:CATTLE_SYSTEM_DEFAULT_REGISTRY=175.178.110.16
docker pull 175.178.110.16:1000/rancher/shell:v0.3.0
这样本地都拉不到代码,不存在。
环境变量改成:下面两种都不行
CATTLE_SYSTEM_DEFAULT_REGISTRY=175.178.110.16
CATTLE_SYSTEM_DEFAULT_REGISTRY=175.178.110.16/library
试过registries.yaml里面 endpoint的地址换成http://175.178.110.16:1000/library也不行
mirrors:
175.178.110.16:
endpoint:
- "http://175.178.110.16:1000/library"
ksd
14
我在我环境没重现,参考如下:
root@ksd:~# cat /workspace/rancher/registries.yaml
mirrors:
10.201.170.187:
endpoint:
- "http://10.201.170.187:80"
configs:
"10.201.170.187:80":
auth:
username: admin
password: Harbor12345
root@ksd:~# sudo docker run --name rancher \
--privileged -d --restart=unless-stopped \
-p 80:80 -p 443:443 \
-e CATTLE_SYSTEM_DEFAULT_REGISTRY=10.201.170.187 \
-v /workspace/rancher/registries.yaml:/etc/rancher/k3s/registries.yaml \
rancher/rancher:v2.10.0
cfd9a1b51f68fc9da7b98a7edb3be5b119f02e9e7e7aebd96fa2dc27fe6c70fa
root@ksd:~# docker exec -it cf bash
bash-4.4# kubectl get pods -A
NAMESPACE NAME READY STATUS RESTARTS AGE
cattle-fleet-system fleet-controller-c69d9f887-4jw4l 0/3 ImagePullBackOff 0 4m1s
cattle-fleet-system gitjob-79769c5f85-cwzkf 0/1 ImagePullBackOff 0 4m1s
cattle-provisioning-capi-system capi-controller-manager-6b55946558-9dbkb 0/1 ErrImagePull 0 53s
cattle-system helm-operation-7ggsq 2/2 Running 0 118s
cattle-system helm-operation-hk9z4 2/2 Running 0 4m10s
cattle-system helm-operation-ltd6r 0/2 Completed 0 3m7s
cattle-system helm-operation-mwqww 2/2 Running 0 3m
cattle-system helm-operation-vbmz6 2/2 Running 0 55s
cattle-system rancher-webhook-6fbf78cd68-r6rls 0/1 ImagePullBackOff 0 2m56s
cattle-system system-upgrade-controller-786f7f67c9-rft47 0/1 ErrImagePull 0 115s
kube-system coredns-56f6fc8fd7-zlzf2
bash-4.4# crictl images
WARN[0000] image connect using default endpoints: [unix:///run/k3s/containerd/containerd.sock unix:///var/run/dockershim.sock unix:///run/containerd/containerd.sock unix:///run/crio/crio.sock unix:///var/run/cri-dockerd.sock]. As the default settings are now deprecated, you should set the endpoint instead.
IMAGE TAG IMAGE ID SIZE
10.201.170.187/rancher/shell v0.3.0 7d88049a48ac6 99.7MB
docker.io/rancher/mirrored-coredns-coredns 1.11.3 c69fa2e9cbf5f 63.3MB
docker.io/rancher/mirrored-pause 3.6 6270bb605e12e 686kB
由于我的私有镜像仓库中只有 rancher/shell:v0.3.0 这一个测试镜像,所以有一些 pod 没启动很正常,主要是为了验证 10.201.170.187/rancher/shell:v0.3.0
能不能 pull 下来。
镜像仓库是 http 的,而且 rancher 也配置为私有,和你的环境一样。
了解了,我的所有镜像是放到 library 项目下面的,地址是 /library/rancher/shell
你的是 在/rancher/shell 。
我新建了一个rancher项目,重新推送shell到rancher目录下。
rancher还是拉取不到
感谢大佬幸苦回复了,我把私有仓库和docker镜像全部删掉后重新安装可以了
亮亮
18
你好,没有用私有仓库,直接用镜像docker run 搭建的,搭建后内置k3s无法拉取镜像,这个是什么问题呀Failed to create pod sandbox: rpc error: code = Unknown desc = failed to get sandbox image “rancher/mirrored-pause:3.6”: failed to pull image “rancher/mirrored-pause:3.6”: failed to pull and unpack image “docker.io/rancher/mirrored-pause:3.6”: failed to resolve reference “docker.io/rancher/mirrored-pause:3.6”: failed to do request: Head “https://registry-1.docker.io/v2/rancher/mirrored-pause/manifests/3.6”: x509: certificate is valid for *.facebook.com, *.facebook.net, *.fbcdn.net, *.fbsbx.com, *.m.facebook.com, *.messenger.com, *.xx.fbcdn.net, *.xy.fbcdn.net, *.xz.fbcdn.net, facebook.com, messenger.com, not registry-1.docker.io
ksd
19
是因为从 dockerhub 上拉取镜像失败了,网络问题