K8S执行完毕kubectl init xxx 执行 kubectl get ns 报错才connect: connection refused

问题场景:

在安装完毕K8S之后,执行 kubectl get ns 报错:

复制代码
[root@master ~]# kubectl get pods
E0501 08:34:55.770030   11268 memcache.go:265] couldn't get current server API group list: Get "https://192.168.1.100:6443/api?timeout=32s": dial tcp 192.168.1.100:6443: connect: connection refused
E0501 08:34:55.770441   11268 memcache.go:265] couldn't get current server API group list: Get "https://192.168.1.100:6443/api?timeout=32s": dial tcp 192.168.1.100:6443: connect: connection refused
E0501 08:34:55.771934   11268 memcache.go:265] couldn't get current server API group list: Get "https://192.168.1.100:6443/api?timeout=32s": dial tcp 192.168.1.100:6443: connect: connection refused
E0501 08:34:55.773435   11268 memcache.go:265] couldn't get current server API group list: Get "https://192.168.1.100:6443/api?timeout=32s": dial tcp 192.168.1.100:6443: connect: connection refused
E0501 08:34:55.774822   11268 memcache.go:265] couldn't get current server API group list: Get "https://192.168.1.100:6443/api?timeout=32s": dial tcp 192.168.1.100:6443: connect: connection refused

这应该是 API Server 没有启动,再看看K8S系统错误日志:

复制代码
[root@master ~]# journalctl -f -u kubelet
... 其他信息
5月 01 08:34:42 master kubelet[972]: E0501 08:34:42.560018     972 pod_workers.go:1300] "Error syncing pod, skipping" err="failed to \"CreatePodSandbox\" for \"kube-scheduler-master_kube-system(4302dec0d7a2b0f4438374ffc19ef0be)\" with CreatePodSandboxError: \"Failed to create sandbox for pod \\\"kube-scheduler-master_kube-system(4302dec0d7a2b0f4438374ffc19ef0be)\\\": rpc error: code = Unknown desc = failed to get sandbox image \\\"registry.k8s.io/pause:3.6\\\": failed to pull image \\\"registry.k8s.io/pause:3.6\\\": failed to pull and unpack image \\\"registry.k8s.io/pause:3.6\\\": failed to resolve reference \\\"registry.k8s.io/pause:3.6\\\": failed to do request: Head \\\"https://asia-east1-docker.pkg.dev/v2/k8s-artifacts-prod/images/pause/manifests/3.6\\\": dial tcp 142.251.8.82:443: i/o timeout\"" pod="kube-system/kube-scheduler-master" podUID="4302dec0d7a2b0f4438374ffc19ef0be"
... 其他信息

过滤乱七八糟的错误日志,基本都在说无法使用connect: connection refused,但中间的错误可以看大是一个docke image pull不下来,肯定是在外网,所以我们可以使用阿里云镜像拿下来编辑一下名称。

解决办法01:

  1. 修改 /etc/containerd/config.toml配置文件,执行命令如下所示:
复制代码
sed -i 's/registry.k8s.io\/pause:3.6/registry.aliyuncs.com\/google_containers\/pause:3.9/g' /etc/containerd/config.toml 
  1. 重启containerd

    [root@master ~]# systemctl restart containerd

但我这个config.toml没有源设置的地方懒得找了,直接使用上面分析的方法pull在改tag

解决办法02:

复制代码
[root@master ~]# ctr -n k8s.io images pull -k registry.aliyuncs.com/google_containers/pause:3.6
[root@master ~]# ctr -n k8s.io images tag registry.aliyuncs.com/google_containers/pause:3.6 registry.k8s.io/pause:3.6
# 重命名镜像registry.aliyuncs.com/google_containers/pause:3.6的tag为registry.k8s.io/pause:3.6
[root@master ~]# systemctl restart containerd

我就是这个办法解决的。

相关推荐
ChaITSimpleLove43 分钟前
零代码入侵:Kubernetes 部署时自动注入 kube-system UID 到 .NET 9 环境变量
kubernetes·.net·环境变量·uid·kube-system·集群环境唯一id
無名之輩2 小时前
Nvidia Device Plugin入门三之volume mount策略
kubernetes
三十_3 小时前
【Docker】学习 Docker 的过程中,我是这样把镜像越做越小的
前端·后端·docker
Lin_Aries_04214 小时前
使用阿里云容器镜像服务 ACR
linux·阿里云·docker·云原生·centos·云计算
zzz.105 小时前
【Kubernetes知识点】CRD客户资源定义及Gateway
云原生·容器·kubernetes
鳄鱼杆14 小时前
服务器 | Docker应用开发与部署的实践以及阿里云镜像加速配置
服务器·阿里云·docker
逍遥浪子~14 小时前
docker实践(一)
运维·docker·容器
AI云原生15 小时前
如何使用Docker快速运行Firefox并实现远程访问本地火狐浏览器的教程
运维·docker·云原生·容器·serverless·firefox·kubeless
❀͜͡傀儡师17 小时前
Docker部署搜索引擎SearXNG
运维·docker·容器·searxng
泡沫冰@17 小时前
K8S集群管理(3)
云原生·容器·kubernetes