我有一个部署在公共云中的 k8s 集群,其 api 服务器可通过公共 IP 访问。我通常通过 kubectl 与我的集群进行交互,我有两个场景来说明它是如何完成的:
- 从家里
- 从办公室
#1 工作正常,没有问题 #2 是一个问题,因为办公网络通过代理发送流量并注入自签名证书。结果,我收到“x509:由未知机构签名的证书”错误。
目前我找到了两种解决方法:
- 包括
--insecure-skip-tls-verify
每个命令的选项 - 在 kubeconfig 中更新我的集群定义以包含
insecure-skip-tls-verify: true
虽然两者都有效,但我正在寻找一个更好的解决方案。
我知道 kubeconfig 允许certificate-authority
在连接到集群时使用 a 的规范,但我不确定如何让它工作。具体来说:
- 由于 CA 会根据我是从家里还是办公室连接而有所不同,我可以指定两个 CA 吗?
- 如何从办公室获取正在使用的 CA 并将其转换为可以与
certificate-authority
密钥一起使用的文件?