如何通过Rancher Desktop预配置脚本传递K3S的TLS SAN参数?
解决Rancher Desktop中K3S集群跨机器访问的证书问题
具体操作步骤
- 开启预配置脚本功能:
- 打开Rancher Desktop的设置界面
- 切换到Kubernetes选项卡
- 找到「Provisioning Scripts」区域,勾选「Enable provisioning scripts」
- 添加脚本传递K3S参数:
在脚本输入框中粘贴以下内容(把192.168.1.8替换成你服务器的实际对外访问IP):#!/bin/sh echo "INSTALL_K3S_EXEC=\"--tls-san 192.168.1.8\"" >> /etc/rancher/k3s/config.yaml - 重启集群并同步配置:
- 点击「Apply & Restart」按钮,等待K3S集群重新初始化完成
- 在Rancher Desktop的Kubernetes选项卡中点击「Copy Kubeconfig」,将配置内容复制到另一台机器的
~/.kube/config文件中(无此文件则新建)
- 验证配置生效:
在另一台机器上执行kubectl get nodes,若能正常返回节点数据,说明配置成功
问题原因说明
你遇到的x509证书错误,是因为K3S默认生成的证书仅包含集群内部IP、本地回环IP,未将跨机器访问用的服务器IP纳入证书信任列表。通过--tls-san参数把目标IP添加到证书的SAN(主题备用名称)列表,就能让Kubernetes API服务器认可该IP的访问请求
内容的提问来源于stack exchange,提问作者Altus
相关产品推荐
相关产品推荐

