【问题标题】:Kuberntes SSL for Service of Type LoadBalancer用于 LoadBalancer 类型服务的 Kubernetes SSL
【发布时间】:2019-01-30 11:13:33
【问题描述】:

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

    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 证书。我无法获得文档或资源来为 Type LoadBalancerService 添加 SSL 证书。可能吗?如果是这样,我该如何点呢?

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

【问题讨论】:

    标签: node.js ssl socket.io kubernetes kubernetes-ingress


    【解决方案1】:

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

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

    【讨论】:

    • 为什么 traefik 很奇怪?因此 Type LoadBalancer 是不可能的。我想支持网络套接字。在 GCP 的 Kubernetes 中尝试了一切,但无法实现。此实施的任何其他解决方案?我的项目在 Nodejs,Socket.IO。
    • 为什么要在服务上使用 traefik 注释,并直接使用 LoadBalancer 公开?
    • 用于套接字会话粘性。是的,刚刚看到它已被弃用。
    • 你混合了两件事。尽管您实际上可以同时通过 LoadBalancer 和 Traefik Ingress 公开服务,但其中一个与另一个无关。 Traefik 注释适用于 traefik-ingress,而不适用于 LoadBalancer。
    • 好的,那么对于使用 Socket.Io、NodeJs 的应用程序,我需要保持粘性的最佳方法是什么。你有什么参考吗?
    猜你喜欢
    • 2021-05-02
    • 1970-01-01
    • 2020-05-28
    • 2022-06-20
    • 2018-07-03
    • 1970-01-01
    • 1970-01-01
    • 2023-03-08
    • 1970-01-01
    相关资源
    最近更新 更多