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

将RKE集群备份至内部Minio服务器时遇x509证书未知权威错误

解决RKE集群备份到Minio的x509证书信任错误

这个错误我之前帮不少用户处理过,核心问题很明确:你的Minio服务器使用的HTTPS证书不被RKE和Docker信任——要么是自签名证书,要么是内部CA签发的证书,而RKE运行依赖的系统环境和Docker都没有把这个签发证书的CA加入信任列表,导致连接时触发证书验证失败。

下面给你几个可行的解决办法,按生产环境推荐程度排序:

1. 在所有RKE节点上安装CA证书到系统信任存储

这是最规范的生产环境做法,让整个系统都信任这个CA:

  • Debian/Ubuntu 系列节点:
    • 把Minio的CA根证书(如果是自签证书就是Minio的证书文件本身)复制到/usr/local/share/ca-certificates/目录,文件名建议以.crt结尾
    • 执行命令更新系统证书存储:
      sudo update-ca-certificates
      
  • RHEL/CentOS 系列节点:
    • 把CA根证书复制到/etc/pki/ca-trust/source/anchors/目录
    • 执行命令更新证书信任:
      sudo update-ca-trust extract
      

完成后重启RKE相关服务(或者直接重新执行备份命令),验证是否正常。

2. 在RKE配置中指定自定义CA证书

如果不想修改所有节点的系统证书,可以直接在RKE的cluster.yml里配置备份选项时指定证书路径:
打开你的cluster.yml,找到backup_config部分(如果没有就新增),添加certificate字段指向你的CA证书文件路径:

backup_config:
  enabled: true
  interval_hours: 12 # 按需调整备份间隔
  retention: 6 # 按需调整保留份数
  s3_backup_config:
    access_key: "你的Minio访问密钥"
    secret_key: "你的Minio密钥"
    bucket_name: "rke"
    endpoint: "https://redacted" # 你的Minio地址
    region: "us-east-1" # Minio对region无强制要求,随便填一个即可
    certificate: "/path/to/your/minio-ca.crt" # 这里填CA证书的绝对路径

修改完成后,重新执行RKE备份命令:

rke etcd snapshot-save --config cluster.yml --name snapshot-name

3. 临时禁用证书验证(仅测试环境使用)

如果是测试环境,不想折腾证书,可以临时跳过证书验证,但绝对不推荐在生产环境使用:
在cluster.yml的s3_backup_config里添加insecure_skip_verify: true:

s3_backup_config:
  # 其他配置...
  insecure_skip_verify: true

额外注意:确保Docker也信任该证书

有些情况下,Docker的证书信任存储和系统是分开的,所以即使系统信任了证书,Docker可能还是会报错。这时需要:

  • 在每个RKE节点上创建目录/etc/docker/certs.d/redacted/(把redacted换成你的Minio域名或IP)
  • 把CA证书复制到这个目录,命名为ca.crt
  • 重启Docker服务:
    sudo systemctl restart docker
    

内容的提问来源于stack exchange,提问作者Will Jones

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 19:12:28