2401_83635544 2024-04-14 10:30 采纳率: 0%
浏览 79

kubeadm init失败

img


kubeadm init初始化失败了报这个错误是什么问题啊 kubernetes的镜像源也切换成国内的了

  • 写回答

4条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2024-04-14 10:30
    关注

    引自免费微信小程序:皆我百晓生

    看起来你在尝试使用 kubeadm init 初始化一个 Kubernetes 集群时遇到了问题。错误信息表明在拉取 coredns 镜像时出现了网络问题。具体错误是连接超时(net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers))。这可能是由于网络连接不稳定、防火墙设置限制或是 Docker 拉取镜像的速度较慢。

    首先,确保你的机器可以访问互联网,并且没有被防火墙阻止。你可以尝试手动从 Docker 中拉取 k8s.gcr.io/coredns:1.6.5 这个镜像,看是否能成功:

    docker pull k8s.gcr.io/coredns:1.6.5
    

    如果手动拉取也失败,可能是由于国内访问 Google 镜像仓库速度较慢或者受限。在这种情况下,你可以考虑使用国内的镜像加速服务,比如阿里云的 DaRocin 镜像加速器。首先,你需要安装并配置 DaRocin,然后再次运行 kubeadm init

    以下是安装 DaRocin 的步骤:

    1. 安装 DaRocin 插件:

      curl -fsSL https://get.daocloud.io/docker-ce/linux/daocloud/etc/apt/keyring.gpg | sudo apt-key add -
      echo "deb [signed-by=/etc/apt/keyring.gpg] https://get.daocloud.io/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
      
    2. 更新包列表并安装 Docker CE:

      sudo apt-get update && sudo apt-get install docker-ce docker-ce-cli containerd.io
      
    3. 配置 DaRocin 作为默认的 Docker 镜像加速器: 编辑 /etc/docker/daemon.json 文件(如果没有此文件,创建它):

      {
        "registry-mirrors": ["https://index.docker.io/v1/"]
      }
      

      "https://index.docker.io/v1/" 替换为 DaRocin 的加速地址,例如:

      {
        "registry-mirrors": ["http://hub-mirror.c.163.com"]
      }
      
    4. 重启 Docker 服务以应用新的配置:

      sudo systemctl restart docker
      

    完成上述步骤后,再次尝试执行 kubeadm init 命令,应该就可以正常进行。如果你之前已经设置了国内的 Kubernetes 镜像源,那么DaRocin会自动加速这些镜像的下载。

    kubeadm init --kubernetes-version=v1.17.4 --pod-network-cidr=10.244.0.0/16 --service-cidr=10.96.0.0/12 --apiserver-advertise-address=192.168.10.151
    

    这样应该就能解决镜像拉取的问题。如果还有其他问题,可以尝试增加日志级别 -v=5 或更高,以便获取更详细的错误信息。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 4月14日