如何在Kubernetes容器上直接终止HTTPS通信

如何在Kubernetes容器上直接终止HTTPS通信,https,kubernetes,Https,Kubernetes,到目前为止,我已经在Kubernetes容器中配置了服务器,这些容器在入口控制器上使用HTTP或终止HTTPS。是否可以直接在容器上终止来自集群外部的HTTPS或更一般的TLS通信,在这种情况下,配置看起来如何 这是一个内部Kubernetes集群,它是使用kubeadm和Flannel作为CNI插件建立的。如果Kubernetes服务将配置externalIPs 1.2.3.4,其中my-Service.my-domain解析为1.2.3.4,以便在https://my-service.my-

到目前为止,我已经在Kubernetes容器中配置了服务器,这些容器在入口控制器上使用HTTP或终止HTTPS。是否可以直接在容器上终止来自集群外部的HTTPS或更一般的TLS通信,在这种情况下,配置看起来如何

这是一个内部Kubernetes集群,它是使用kubeadm和Flannel作为CNI插件建立的。如果Kubernetes服务将配置externalIPs 1.2.3.4,其中my-Service.my-domain解析为1.2.3.4,以便在https://my-service.my-domain说容器内运行的web服务如何绑定到地址1.2.3.4,以及当容器的IP地址改为某个本地IP地址时,客户端如何验证1.2.3.4的服务器证书?我目前不知道如何才能做到这一点


更新我目前的理解是,当使用入口时,HTTPS通信将在入口控制器处终止,即在集群的边缘处,集群内与后备容器的进一步通信将不加密。我想要的是从集群内外一直到容器的加密通信。

我想,您需要的是Istio特使代理,其主要目的是验证、授权和加密服务到服务的通信

因此,您需要一个网格,也称为服务到服务身份验证

从视觉上看,服务A是入口服务,服务B是HTTP容器的服务

因此,您在入口控制器上终止外部TLS通信,它将通过Istio mTLS加密进一步进入集群内部

这不是你想要的-

直接在Kubernetes容器上终止HTTPS通信

虽然符合规定——

我想要的是一直到容器的加密通信


您的本地pod ip在发送外部流量时会被NAT加密,因此它看起来好像来自节点的公共ip或NAT网关ip。对于从本地pod到外部世界的连接,它不与入口交互。对于端到端加密,您应该查看服务网格istio、gloo和Linkedr。