导入K3S集群到Rancher后显示Pending等待完整集群配置求助
解决步骤
- 修复Rancher启动配置
你启动Rancher时未指定对外暴露的服务地址,导致Rancher返回给集群Agent的回调地址错误,无法完成配置同步。修改你的docker-compose.yml,在rancher服务下新增环境变量配置:
version: '2' services: rancher: image: rancher/rancher:v2.6.0 restart: always ports: - "8080:80/tcp" - "4443:443/tcp" volumes: - "rancher-data:/var/lib/rancher" privileged: true # 新增以下环境变量 environment: CATTLE_SERVER_URL: https://192.168.1.100:4443 volumes: rancher-data:
修改后重启Rancher容器生效:
docker-compose up -d --force-recreate
- 清理旧的导入残留资源
在K3S集群上执行以下命令,删除之前导入时创建的无效资源:
kubectl delete ns cattle-system cattle-fleet-system cattle-provisioning-capi-system --ignore-not-found=true kubectl delete clusterrolebinding,clusterrole -l cattle.io/creator=norman --ignore-not-found=true
- 重新导入集群
回到Rancher面板删除之前的导入集群记录,重新生成导入命令,执行时指定K3S专属的kubeconfig路径:
curl --insecure -sfL https://192.168.1.100:4443/v3/import/你的新导入令牌.yaml | kubectl apply --kubeconfig /etc/rancher/k3s/k3s.yaml -f -
- 验证同步状态
等待3-5分钟后执行以下命令确认Agent运行正常:
kubectl -n cattle-system get pods
此时回到Rancher面板即可看到集群节点正常显示,状态更新为可用。
注意:你使用的K3S v1.22.2版本和Rancher 2.5.x不兼容,请勿降级到2.5.0使用,保持Rancher 2.6.0及以上稳定版本即可。
内容的提问来源于stack exchange,提问作者Manitoba
相关产品推荐
相关产品推荐

