从虚拟机转移到库伯内特斯。
我们在多个VM上运行服务。服务在多个VM上运行,并且在它们前面有VIP。客户端将访问VIPVIP将流量路由到服务。在这里,我们使用SSL证书VIP,VIP也使用HTTPSVM。
在这里,服务将使用JKS文件部署到VM中。该JKS文件将具有公开HTTPS的证书,并与启用SSL数据库通信。
如何在库伯内特斯集群实现同样的事情?需要HTTPSVIP和服务,以及从服务SSL启用数据库的通信。
取决于你运行库伯内特斯的平台(本地、AWS、GKE、GCE等),你有几种方法可以做到这一点,但我将描述一种适用于所有平台的解决方案——使用HTTPS终止的入口。
因此,在库伯内特斯中,您可以使用入口对象在集群中提供对应用程序的访问。它可以提供负载平衡、HTTPS终止、按路径路由等。在大多数情况下,您可以使用基于Nginx的入口控制器。此外,如果需要,它还提供TCP负载平衡和SSL直通。
为了提供从用户到您的服务的路由,您需要:
入口
对象,要求入口在您的证书中使用您的秘密
,如下所示:spec: tls:host:-foo.bar.com的秘密名称:foo-秘密
集群内服务之间的加密通信呢?您可以使用与机密
相同的方案为所有服务提供SSL密钥,并设置服务以使用应用程序的HTTPSendpoint而不是HTTP。从技术上讲,这与在没有库伯内特斯的安装中使用https上游相同,但Nginx的所有配置都将根据您的Service
和入口
对象配置自动提供。