首页 > 解决方案 > 代理背后的 Kubectl

问题描述

我有一个部署在公共云中的 k8s 集群,其 api 服务器可通过公共 IP 访问。我通常通过 kubectl 与我的集群进行交互,我有两个场景来说明它是如何完成的:

  1. 从家里
  2. 从办公室

#1 工作正常,没有问题 #2 是一个问题,因为办公网络通过代理发送流量并注入自签名证书。结果,我收到“x509:由未知机构签名的证书”错误。

目前我找到了两种解决方法:

  1. 包括--insecure-skip-tls-verify每个命令的选项
  2. 在 kubeconfig 中更新我的集群定义以包含insecure-skip-tls-verify: true

虽然两者都有效,但我正在寻找一个更好的解决方案。

我知道 kubeconfig 允许certificate-authority在连接到集群时使用 a 的规范,但我不确定如何让它工作。具体来说:

  1. 由于 CA 会根据我是从家里还是办公室连接而有所不同,我可以指定两个 CA 吗?
  2. 如何从办公室获取正在使用的 CA 并将其转换为可以与certificate-authority密钥一起使用的文件?

标签: kubectlkubeconfig

解决方案


推荐阅读