【问题标题】:How to add HTTPS load balancer for an application deployed using GKE如何为使用 GKE 部署的应用程序添加 HTTPS 负载平衡器
【发布时间】:2020-12-22 00:11:22
【问题描述】:

我创建了一个Play Web 应用程序,现在部署在GCP 上。该应用程序工作正常。我想在其中添加https 支持以保护客户端和服务器之间的通信。

我知道在GCP 中有一个创建http load balancers 的选项,但我认为它们适用于直接在VMs/Compute 实例上运行的应用程序,而不是通过GKE

问题 1 - 我正确吗?我之所以问,是因为当我尝试配置负载均衡器时,我看不到对我当前部署的应用程序的引用。

问题 2 - 对于我在集群上使用 GKE 部署的应用程序,如何添加对 https 的支持?

我当前的应用程序是使用以下yamls 部署的。

apiVersion: apps/v1
kind: Deployment
metadata:
  name: name
spec:
  replicas: 2
  selector:
    matchLabels:
      app: somename

apiVersion: v1
kind: Service
metadata:
  name: somename-service
spec:
  selector:
    app: somename
  ports:
    - protocol: TCP
      port: 9000
      targetPort: 9000
  type: LoadBalancer

【问题讨论】:

    标签: google-cloud-platform google-kubernetes-engine gcp-load-balancer


    【解决方案1】:

    转到工作负载 > 选择您的应用 > 部署详细信息页面 > 操作 > 公开 > 服务类型选择负载均衡器并单击公开将为您的应用程序创建 LB,使用此 GUI 您可以轻松地将负载均衡器添加到您的 GKE 工作负载。

    【讨论】:

    • 当我进入 Kubernetes Engine -> Workloads 并选择我的集群时,我看到(除其他外)我的应用程序的 2 个节点。我看不到部署详细信息页面。我看到了一个 +Deploy 选项,但我想这不是你的意思。
    • @manu,我猜你的应用程序/工作负载名称是 Play,点击应用程序名称会显示部署详细信息页面
    • 谢谢 Mahboob。我看错地方了。找到了。我已经使用定义的 yaml 文件创建了一个负载均衡器。如果我需要另一个负载均衡器,我很困惑。因为我没有不同的路由规则(所有流量都流向同一个 pod)。获得 https 支持是我正在寻找的主要内容。
    • @ManuChadha,你可以在不同的端口(443)上创建另一个负载均衡器
    • 通常用户请求来自端口 80(默认),您可以根据需要在另一个端口接收它。更多information
    【解决方案2】:

    您可以定义GKE ingress 来自定义您的负载均衡器。您可以添加注解来自定义您想要的负载均衡器类型,并且您可以add SSL certificate 以 HTTPS 服务流量

    【讨论】:

    • 谢谢纪尧姆。目前,我不需要根据 url 以不同的方式路由流量。我是否正确,在这种情况下,我不需要 Ingress 并且标准负载均衡器就足够了?或者即使没有 spl 路由要求,拥有 Ingress 是一种好的设计实践吗?
    • 标准就够了,但是如果你觉得会有其他服务,最好现在就准备好环境,确保以后切换配置的时候不会出现回归(但是可以测试切换)在陈述环境中也可以,如你所愿!)
    猜你喜欢
    • 1970-01-01
    • 2012-06-29
    • 2021-02-17
    • 2010-12-14
    • 2021-04-16
    • 2023-04-02
    • 2019-03-25
    • 2010-10-25
    • 2019-02-15
    相关资源
    最近更新 更多