Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将TSL添加到Kubernetes负载平衡器,同时还支持将长寿命TCP连接转发到容器_Kubernetes_Google Cloud Platform_Google Kubernetes Engine - Fatal编程技术网

将TSL添加到Kubernetes负载平衡器,同时还支持将长寿命TCP连接转发到容器

将TSL添加到Kubernetes负载平衡器,同时还支持将长寿命TCP连接转发到容器,kubernetes,google-cloud-platform,google-kubernetes-engine,Kubernetes,Google Cloud Platform,Google Kubernetes Engine,我需要部署一个后端服务到GKE。此后端服务由一个REST API和一个TCP服务器组成,将由多个物联网设备使用。通过遵循Google Kubernetes引擎文档上的教程,我能够部署以下服务来实现这一点: apiVersion: v1 kind: Service metadata: name: my-service spec: type: LoadBalancer selector: app: my-backend-app

我需要部署一个后端服务到GKE。此后端服务由一个REST API和一个TCP服务器组成,将由多个物联网设备使用。通过遵循Google Kubernetes引擎文档上的教程,我能够部署以下服务来实现这一点:

apiVersion: v1
kind: Service
    metadata:
      name: my-service
    spec:
      type: LoadBalancer
      selector:
        app: my-backend-app
      ports:
      - name: http
        protocol: TCP
        port: 80
        targetPort: 8080
      - name: https
        protocol: TCP
        port: 443
        targetPort: 8080
      - name: my-tcp-service
        protocol: TCP
        port: 2222
        targetPort: 2222
上述配置的问题是我无法为我的RESTAPI设置TSL。我找到的所有在Kubernetes上设置TSL的资源都指向Ingress,在尝试这一点时,我发现Ingress无法与我的TCP服务器一起工作,因为Ingress是一种HTTP代理


是否有任何方法可以直接在LoadBalancer上设置TSL HTTPS,而无需进入,最好使用谷歌管理的证书?我应该为REST API使用入口,而为TCP服务器使用其他服务吗?

服务类型LoadBalancer严格来说是一个第4层服务,因此不可能在LB上发生SSL终端。流量将转发到您的POD,并且需要在那里发生SSL终止。或者,在将流量转发到应用程序之前,您需要有一个代理接收流量并终止TLS

入口是当前用于谷歌托管证书的唯一选项。您认为它使用HTTP代理终止请求是正确的。如果您可以安排所有请求使用不同的URL,那么您可以使用单个入口,即使对于TCP服务,前端仍然是443,但是您可以将请求转发到端口2222

不过,最好的选择是对HTTPS服务使用带有托管证书的入口,对TCP服务使用LoadBalancer服务