如何在GCE中通过https服务容器的多个服务

时间:2017-10-02 23:52:25

标签: kubernetes google-compute-engine

我按照kube-lego上的教程。

当我只有一个需要通过HTTPS协议访问的服务时,它工作正常。但是,如果我有以下

apiVersion: v1
kind: Service
metadata:
  name: platform
spec:
  type: nodePort
  ports:

    - protocol: TCP
      port: 8002
      nodePort: 30082
      name: grpc

    - protocol: TCP
      port: 8005
      nodePort: 30085
      name: "8005"

    - protocol: TCP
      port: 5672
      nodePort: 30567
      name: "5672"

    - protocol: TCP
      port: 8011
      nodePort: 30811
      name: "8011"

    - protocol: TCP
      port: 8008
      nodePort: 30808
      name: "flow"

  selector:
    run: platform

然后我不知道如何通过HTTPS协议为所有这些服务提供服务,因为我只能将其中一个设置为端口80。

- protocol: TCP
      port: 80
      targetPort:8008
      nodePort: 30808
      name: "flow

Ingress仅支持服务端口80/443我不知道如何通过HTTPS从单个容器中提供多个端口。

1 个答案:

答案 0 :(得分:0)

你需要Ingress来帮助你,

因为Ingress是按域名路由的,所以它可以通过https,

支持mutli服务

使用入口控制器并将hostnetwork设置为true yaml

并设置像这样yaml的入口,然后检查http是否可以 通过每个域名连接到任何服务,

如果可以,则添加许可证以构建https连接

祝你好运