如何使用Kubernetes SSL证书

时间:2017-06-04 18:26:13

标签: ssl kubernetes

我正在尝试使用NginX代理LoadBalancer服务器或Ingress在Kubernetes中的另一个服务之前构建HTTPs代理服务器。无论哪种方式,我都需要证书和密钥,以便我的外部请求得到身份验证。

我正在查看how to manage tls in a cluster,并且我注意到用于连接到容器群集的证书与在/var/run/secrets/kubernetes.io/serviceaccount/ca.crt上安装在正在运行的容器上的证书相同

所以我认为我的节点集群已经有了注册证书,我需要的只是密钥,把它扔进一个秘密并将其挂载到我的代理服务器中。但我无法找到。

这么简单吗?我该怎么办?或者我是否需要创建新证书,签名等等?那么我是否需要更换当前的证书?

1 个答案:

答案 0 :(得分:5)

如果您希望外部请求进入您的K8s群集,那么这是ingress controller的工作,或者如果您的云提供商支持,则使用负载均衡器配置服务。

your reference中讨论的证书实际上是用于群集内通信,因为它说:

  

每个Kubernetes群集都有一个群集根证书颁发机构(CA)。 CA通常由集群组件用于验证API服务器的证书,由API服务器验证kubelet客户端证书等。

如果你选择入口方法,那么here is the doc for tls。在底部有alternatives列表,例如load balancer方法。

如果您能够让所有外部客户端都信任它,我想您可以在外部使用内部证书。就个人而言,我可能会使用kube-lego来自动Let's Encrypt获取证书,因为大多数浏览器现在都信任这个CA.

希望这有帮助