我在 GKE 上搭建了一个 k8s 集群。
我想通过 k8s REST API 来控制它(因此,查看 pod 上的部署等等,但不访问通过 SSL 在 k8s 集群上实际运行的内容)。我已经获得了适当的不记名令牌(curl --insecure [request]
作品)并且可以发出 API 请求。但是,SSL 证书对我的客户端无效(如果重要的话,它是 java)。我目前无法轻易修改客户端以接受新的根证书。
我一直在挖掘并检查以下三个选项:
- 将集群的根 CA 证书合并到我的客户端中已经存在的另一个证书链中(根据我对 TLS 的有限理解,我不确定这是否可能)。
- 替换集群根 CA 证书(这样我就可以使用我的客户端在其密钥库中的东西)。这意味着您可以使用 vanilla k8s 执行此操作,但这意味着您不能使用 GKE:“内部 Google 服务管理此 CA 的根密钥,这些密钥是不可导出的。”
- 允许没有 TLS 的 k8s API 访问。我在文档中没有看到任何关于此的内容,其中非常明确地表明通过网络访问 k8s API 必须使用 TLS
这些是可行的选择吗?还是我修改客户端的最佳选择?