用于负载均衡器类型服务的 Kubernetes SSL

Kuberntes SSL for Service of Type LoadBalancer

我正在 Kubernetes 上部署一个 Socket.IO 和基于 NodeJs 的应用程序。我发现通过以下配置的服务我可以很容易地保持客户端粘性,

    apiVersion: extensions/v1beta1
    kind: Deployment
    metadata:
      name: my-service
      labels:
        app: my-service
    spec:
      replicas: 3
      template:
        metadata:
          labels:
            app: my-service
        spec:
          containers:
            - image: gcr.io/app_name/my-service:latest
              imagePullPolicy: Always
              name: my-service
              ports:
                - containerPort: 8080
    ---
    apiVersion: v1
    kind: Service
    metadata:
      name: my-service
      annotations:
        traefik.backend.loadbalancer.stickiness: "true"
      labels:
        app: my-service
    spec:
      type: LoadBalancer
      sessionAffinity: "ClientIP"
      ports:
        - name: my-service
          port: 80
          protocol: TCP
          targetPort: 4000
      selector:
        app: my-service

现在,我无法添加 SSL 证书。我无法获得文档或资源来为 Service of Type 添加 SSL Certs 负载均衡器。可能吗?如果是的话,我怎么能点呢?

如果根本不可能有没有其他办法?我在 GCP 上使用 GKE。 谁能帮我这个?谢谢。

当你在注释中提到 traefik 时,它看起来有点奇怪。尽管如此,在这种情况下管理证书几乎是不可能的≥它必须基于注释在云提供商级别上得到支持,因为没有明确的方法将 tls 证书与特定的 service/port 绑定,更不用说像 cert-manager/ingress.

要实现这一点,您应该使用某种 API 网关/入口控制器,它可以为您处理此问题,而不是直接公开您的服务,或者在您的应用程序中实现 TLS 支持。