同一个证书文件,通过rancher UI创建的Secret与通过kubectl create secret generic创建,结果不一样。

Rancher Server 设置

  • Rancher 版本:V2.6.3
  • 安装选项 (Docker install/Helm Chart): Docker install
    • 如果是 Helm Chart 安装,需要提供 Local 集群的类型(RKE1, RKE2, k3s, EKS, 等)和版本:
  • 在线或离线部署:离线部署

下游集群信息

  • Kubernetes 版本: 1.19
  • Cluster Type (Local/Downstream): 导入
    • 如果 Downstream,是什么类型的集群?(自定义/导入或为托管 等):

用户信息

  • 登录用户的角色是什么? (管理员/集群所有者/集群成员/项目所有者/项目成员/自定义):管理员
    • 如果自定义,自定义权限集:

主机操作系统:
centos 7.9
问题描述:
业务上,之前用kubectl create secret generic mqtt_secret_name --from-file=mqtt_cert -n cx -o yaml --dry-run=client | kubectl replace --force -f - 这种方式创建了一个k8s secert,最近该证书到期了,我需要更换证书,发现rancher的secert管理页面里支持证书编辑,可以直接把新证书上传,删掉老证书即可,但是使用后发现我们的程序挂载新证书时报错。
于是我删掉了问题的证书,使用传统的kubectl create secret generic 方式重新创建了证书,这下应用就可以正常启动了。
我特意在racnherUI上对比了通过UI上传的证书和通过kubectl create创建的证书文件,数据大小是不一样的,如下图:


希望遇到过此问题的网友,或者rancher技术人员帮忙看一下这是什么原因,非常感谢。
重现步骤:

结果:

预期结果:

截图:

其他上下文信息:

日志
我的联系方式 guozheng198577@163.com

盲猜证书中有中文,如果把中文去掉,后续就可以了,如果还有问题,我找时间测试下。

证书是二进制文件,应该不存在中文问题。会不会是rancher的版本与k8s的版本有匹配性问题?

没人遇到过这个问题吗 ?

我用普通的证书去操作,没发现啥问题,你方便提供下你使用的证书么?