Mac环境下本地minikube集群导入Rancher时cattle-cluster-agent访问8080/health失败
解决方案
1. 排查宿主机端口连通性
首先确认minikube集群可以正常访问Mac上运行的Rancher服务:
- 进入minikube节点执行连通性测试:
minikube -p dxmcs3 ssh # 节点内执行 curl -kv https://host.minikube.internal:981
- 如果返回连接拒绝,按以下顺序排查:
- 关闭Mac系统防火墙临时测试,或在防火墙设置中放行981端口的入站规则
- 若使用Docker驱动运行minikube,确认Docker Desktop配置中允许容器访问宿主机网络
2. 修复Rancher Server URL配置
Rancher后台配置的默认Server URL为localhost,会导致agent注册时被重定向到无法访问的地址:
- 登录Rancher GUI,点击右上角用户头像>全局设置,找到
server-url配置项 - 将值修改为
https://host.minikube.internal:981并保存
3. 跳过TLS校验临时验证
如果是自签证书校验失败导致注册异常,可以给集群agent添加环境变量跳过校验:
kubectl edit deployment -n cattle-system cattle-cluster-agent
在containers.env列表中新增以下配置,保存后Pod会自动重建:
- name: CATTLE_INSECURE_SKIP_TLS_VERIFY value: "true"
4. 版本兼容性校验
Rancher v2.5.9为较早发布版本,仅支持Kubernetes 1.17~1.21版本,若你的minikube集群使用的K8s版本高于1.21,会出现兼容问题:
- 可在启动minikube时指定兼容版本:
minikube -p dxmcs3 start --kubernetes-version=v1.21.14
- 也可升级Rancher到v2.7+版本,支持更高版本的Kubernetes集群
完成以上配置后,删除cattle-system命名空间下的所有资源,重新执行导入命令,等待2~3分钟即可看到集群状态变为Active。
内容的提问来源于stack exchange,提问作者PAN
相关产品推荐
相关产品推荐

