原因&背景
无法或不易访问官方镜像仓库
解决方案
原理指定默认镜像仓库|镜像加速地址
已安装出现问题
停止或强制停止 rke2
systemctl status rke2-server.service
systemctl stop rke2-server.service
kill -15 <pid>
kill -9 <pid>
设置仓库启动
rke2 server --system-default-registry=<国内docker 镜像仓库>
# 例如
rke2 server --system-default-registry=registry.cn-hangzhou.aliyuncs.com
异常
level=info msg="Cluster-Http-Server 2024/08/23 13:01:38 http: TLS
handshake error from 127.0.0.1:53472: remote error: tls: bad
certificate"
Aug 23 13:01:38 xxx rke2[10730]:
time="2024-08-23T13:01:38+08:00" level=info msg="Waiting to retrieve
kube-proxy configuration; server is not ready:
https://127.0.0.1:9345/v1-rke2/readyz: 500 Internal Server Error"
Aug 23 13:01:39 xxx rke2[10730]:
time="2024-08-23T13:01:39+08:00" level=warning msg="Unable to watch for
tunnel endpoints: Get
\"https://127.0.0.1:6443/api/v1/namespaces/default/endpoints?fieldSelector=metadata.name%3Dkubernetes&resourceVersion=0&watch=true\":
dial tcp 127.0.0.1:6443: connect: connection refused"
Aug 23 13:01:42 xxx rke2[10730]:
{"level":"warn","ts":"2024-08-23T13:01:42.793+0800","caller":"clientv3/retry_interceptor.go:62","msg":"retrying
of unary invoker
failed","target":"passthrough:///https://127.0.0.1:2379","attempt":0,"error":"rpc
error: code = DeadlineExceeded desc = latest balancer error: connection
error: desc = \"transport: Error while dialing dial tcp 127.0.0.1:2379:
connect: connection refused\""}
Aug 23 13:01:42 xxx rke2[10730]:
time="2024-08-23T13:01:42+08:00" level=error msg="Failed to check local
etcd status for learner management: context deadline exceeded"
Aug 23 13:01:42 xxx rke2[10730]:
{"level":"warn","ts":"2024-08-23T13:01:42.893+0800","caller":"clientv3/retry_interceptor.go:62","msg":"retrying
of unary invoker
failed","target":"passthrough:///https://127.0.0.1:2379","attempt":0,"error":"rpc
error: code = DeadlineExceeded desc = latest balancer error: connection
error: desc = \"transport: Error while dialing dial tcp 127.0.0.1:2379:
connect: connection refused\""}
Aug 23 13:01:42 xxx rke2[10730]:
time="2024-08-23T13:01:42+08:00" level=info msg="Failed to test data
store connection: context deadline exceeded"
The connection to the server 127.0.0.1:6443 was refused - did you specify the right host or port?
Aug 24 21:07:38 xxx rke2[2673]:
time="2024-08-24T21:07:38+08:00" level=info msg="Waiting for API server
to become available"
Aug 24 21:07:38 xxx rke2[2673]:
time="2024-08-24T21:07:38+08:00" level=info msg="Waiting for etcd server
to become available"
Aug 24 21:07:39 xxx rke2[2673]:
time="2024-08-24T21:07:39+08:00" level=info msg="Cluster-Http-Server
2024/08/24 21:07:39 http: TLS handshake error from 127.0.0.1:52746:
remote error: tls: bad certificate"
Aug 24 21:07:39 xxx rke2[2673]:
time="2024-08-24T21:07:39+08:00" level=info msg="Waiting to retrieve
kube-proxy configuration; server is not ready:
https://127.0.0.1:9345/v1-rke2/readyz: 500 Internal Server Error"
Aug 24 21:07:39 xxx rke2[2673]:
time="2024-08-24T21:07:39+08:00" level=warning msg="Unable to watch for
tunnel endpoints: Get
\"https://127.0.0.1:6443/api/v1/namespaces/default/endpoints?fieldSelector=metadata.name%3Dkubernetes&resourceVersion=0&watch=true\":
dial tcp 127.0.0.1:6443: connect: connection refused"
Aug 24 21:07:44 xxx rke2[2673]:
time="2024-08-24T21:07:44+08:00" level=info msg="Cluster-Http-Server
2024/08/24 21:07:44 http: TLS handshake error from 127.0.0.1:52802:
remote error: tls: bad certificate"
Aug 24 21:07:44 xxx rke2[2673]:
time="2024-08-24T21:07:44+08:00" level=info msg="Waiting to retrieve
kube-proxy configuration; server is not ready:
https://127.0.0.1:9345/v1-rke2/readyz: 500 Internal Server Error"
Aug 24 21:07:44 xxx rke2[2673]:
time="2024-08-24T21:07:44+08:00" level=warning msg="Unable to watch for
tunnel endpoints: Get
\"https://127.0.0.1:6443/api/v1/namespaces/default/endpoints?fieldSelector=metadata.name%3Dkubernetes&resourceVersion=0&watch=true\":
dial tcp 127.0.0.1:6443: connect: connection refused"
Aug 24 21:07:47 xxx rke2[2673]:
{"level":"warn","ts":"2024-08-24T21:07:47.977+0800","caller":"clientv3/retry_interceptor.go:62","msg":"retrying
of unary invoker
failed","target":"passthrough:///https://127.0.0.1:2379","attempt":0,"error":"rpc
error: code = DeadlineExceeded desc = latest balancer error: connection
error: de>
Aug 24 21:07:47 xxx rke2[2673]:
time="2024-08-24T21:07:47+08:00" level=error msg="Failed to check local
etcd status for learner management: context deadline exceeded"
参考&官方文档
--system-default-registry value (image) Private registry to be used for all system images [$RKE2_SYSTEM_DEFAULT_REGISTRY]
过程
由于非devops经验人员,经历两天时间排查,最终解决。
经历
- 【聊天给出方案】删过期证书、通过
etcd
快照恢复、删etcd
快照、检查配置文件,均未解决; - 阅读官方文档、搜相似情况、更新、在测试服务器上重新安装
rke2
发现相同问题(之前按同样方式可以安装成功,这次不能成功)确定为镜像问题 - 另参考得到印证K3s国内源安装也会去docker.io下载镜像–前情提要:2024.6.7国内无法无法访问docker.io—如何使用国内资源安装 K3s