You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kubernetes安装报错:无法解析cloud.weave.works域名求解决

解决Kubernetes安装Weave网络插件时的DNS解析及连接问题

问题分析

你遇到的两个核心问题:

  1. DNS解析失败:无法解析cloud.weave.works域名,导致无法获取Weave网络插件的配置文件
  2. Kubectl版本警告:属于次要提示,可忽略,但需确保kubectl能正常连接集群

解决步骤

1. 修复DNS解析问题

首先验证主机的DNS配置是否正常:

  • 执行以下命令测试域名解析:
    nslookup cloud.weave.works
    # 或
    dig cloud.weave.works
    
  • 如果返回no such host,修改系统DNS配置:
    编辑/etc/resolv.conf,添加公共DNS服务器:
    echo "nameserver 8.8.8.8" >> /etc/resolv.conf
    echo "nameserver 1.1.1.1" >> /etc/resolv.conf
    
    部分系统可能会自动覆盖该文件,可通过修改/etc/systemd/resolved.conf永久设置:
    sed -i 's/#DNS=/DNS=8.8.8.8 1.1.1.1/' /etc/systemd/resolved.conf
    systemctl restart systemd-resolved
    

2. 验证Kubectl集群连接

确保kubectl能正常访问K8s主节点:

  • 检查当前上下文:
    kubectl config current-context
    
  • 查看集群状态:
    kubectl cluster-info
    

如果提示无法连接到服务器,需检查kubeconfig文件是否正确(默认路径~/.kube/config),或确认主节点的API Server端口(6443)是否开放。

3. 手动部署Weave网络插件

避免动态URL的解析问题,手动获取并部署Weave配置:

  • 先获取本地kubectl的客户端版本:
    K8S_VERSION=$(kubectl version --short --client | awk '{print $3}')
    
  • 通过curl下载对应版本的Weave配置文件:
    curl -LO "https://cloud.weave.works/k8s/net?k8s-version=$K8S_VERSION"
    
  • 部署插件:
    kubectl apply -f net?k8s-version=$K8S_VERSION
    

如果仍有问题,可直接使用Weave官方发布的固定版本DaemonSet配置文件,下载后执行部署命令。

4. 替代方案:切换到Calico网络插件

如果Weave的网络问题持续,可换用更稳定的Calico CNI插件,下载Calico官方的部署配置文件后执行:

kubectl apply -f <calico配置文件名>

部署后验证Pod状态:

kubectl get pods -n kube-system

内容的提问来源于stack exchange,提问作者Francklin TAPTUE

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 10:55:28