到目前为止,我已经在Kubernetes容器中配置了服务器,这些服务器在入口控制器处使用HTTP或终止的HTTPS。是否有可能直接从容器外部的群集外部终止HTTPS(或更常见的TLS)通信,在这种情况下配置将如何显示?
这是针对使用kubeadm
(以Flannel作为CNI插件)设置的本地Kubernetes集群的。如果将Kubernetes Service
配置为externalIPs 1.2.3.4
(其中my-service.my-domain
解析为1.2.3.4
)以便从https://my-service.my-domain
的群集外部访问服务,例如,容器中运行的Web服务绑定到地址1.2.3.4
,并且当容器的IP地址为(FWIK)某个本地IP地址时,客户端如何验证1.2.3.4
的服务器证书?我目前不知道如何实现。
更新我目前的理解是,使用Ingress
时,HTTPS流量将在入口控制器(即群集的“边缘”)处终止,并在群集内进一步通信往后备容器的方向是未加密的。我想要的是一直到容器(集群外部和集群内部)的加密通信。
答案 0 :(得分:1)
我想,您需要Istio特使代理,其主要目的是认证,授权和加密服务到服务的通信。
因此,您需要一个带有mTLS authentication的网格,也称为服务到服务认证。
在视觉上,服务A 是您的Ingress服务,服务B 是HTTP容器的服务
因此,您将终止入口控制器上的外部TLS流量,并且使用Istio mTLS加密,它将在群集内更进一步。
这不是您要的-
直接在Kubernetes容器上终止HTTPS流量
尽管满足要求-
我想要的是一直到容器的加密通信