Kubernetes 的 HTTP(S) 负载平衡 / Docker

HTTP(S) Load Balancing for Kubernetes / Docker

我是 运行 在 google 云 kubernetes 基础设施中通过 NGINX 自签名证书背后的 restfull 服务。 Kubernetes 服务加载器公开 443 并将流量路由到这些容器。除了要求内部客户忽略自签名证书警告外,一切都按预期工作得很好! 现在是转移到 CA 证书的时候了,因此据我所知,唯一的选择是 https 加载器,但我无法弄清楚我们如何将流量重新路由到服务加载器或直接到 pods 作为服务加载器(http 加载器)

感谢任何帮助

我不确定我是否完全理解你的问题,但无论如何我都会尽力回答。

使用受信任的 CA 签名的证书公开您的服务有两种选择:

  1. 做你今天正在做的事情,但要有真正的证书。您可能希望将证书保密并将您的 nginx 配置指向它以加载证书。

  2. 用 google L7 负载平衡器替换 nginx。您可以将证书上传到 google,配置 L7 平衡器以终止 HTTPS 并将流量转发到您的后端。

  1. 更新防火墙规则:

    IP: 130.211.0.0/22
    tcp:30000-32767
    
  2. 创建 NodePort 类型服务:

    apiVersion: v1
    kind: Service
    metadata:
      name: yourservicenodeport
      labels:
        name: your-service-node-port
    spec:
      type: NodePort
      ports:
        - port: 80
          nodePort: 30001
      selector:
        name: yourpods
    
  3. 创建健康检查。

    对于本例中的节点端口:30001

  4. 创建入口服务:

    apiVersion: extensions/v1beta1
    kind: Ingress
    metadata:
      name: youTheking-ingress-service
    spec:
      backend:
        serviceName: yourservice
        servicePort: 80
    
  5. 稍等几分钟,耐心等待

  6. 更改 http 负载均衡器的运行状况检查。

    一个。转到网络选项卡上的负载平衡。

    b。单击高级菜单。

    c。转到后端服务并编辑。

    d.更新健康检查选项并使用为 nodeport 服务创建的选项。

  7. 重复第5步让实例组识别健康。

  8. 需要SSL,回到负载均衡器,编辑,点击前端配置,然后添加带证书的https。

  9. 您已准备就绪。