load-balancing - 如何在不使用 LoadBalancer 类型的情况下发布 Kubernetes 服务(在 GCP 上)

标签 load-balancing kubernetes google-cloud-platform google-kubernetes-engine

我想避免使用 type: "LoadBalancer"对于某个 Kubernetes Service,但仍然能够在 Internet 上发布它。我正在使用 Google Cloud Platform (GCP) 运行当前在单个节点上运行的 Kubernetes 集群。

我试着给我们 externalIPs服务配置,并轮流提供以下 IP:

  • 托管 Kubernetes 集群的实例(外部 IP;也与 kubernetes describe node 报告的 Kubernetes 节点的 IP 地址一致)
  • Kubernetes 集群端点(由 Google Cloud Console 在集群的详细信息中报告)
  • LoadBalancer 类型的另一个 Kubernetes 服务的公共(public)/外部 IP在同一个节点上运行。

  • 以上都没有帮助我使用带有 externalIPs 的 Kubernetes 服务访问我的应用程序。配置。

    那么,如何在不使用 LoadBalancer 的情况下在 Internet 上发布服务? -类型 Kubernetes 服务。

    最佳答案

    还有另一种选择:设置 hostNetwork在您的 pod 上标记。

    例如,您可以使用 helm3 这样安装 nginx:

     helm install --set controller.hostNetwork=true nginx-ingress nginx-stable/nginx-ingress
    

    然后,nginx 在运行 pod 的节点的 IP 地址上的端口 80 和 443 上可用。您可以使用节点选择器或关联性或其他工具来影响此选择。

    关于load-balancing - 如何在不使用 LoadBalancer 类型的情况下发布 Kubernetes 服务(在 GCP 上),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37792641/

    相关文章:

    php - Amazon 横向扩展 Web 服务器的数据库服务器

    linux - 子域重定向到 haproxy 中的同一后端

    tensorflow - Google Cloud ML 支持 GPU 吗?

    authentication - 如何管理用于本地开发的 Google Cloud 凭据

    google-app-engine - App Engine 中的身份验证方法

    java - 使用 JMS + CCDT 文件连接到 IBM MQ 时出现负载平衡问题

    amazon-web-services - 为什么像 Ribbon 这样的客户端负载均衡器?

    kubernetes - 如何将 kubernetes daemonset 扩展到 0?

    python - 如何为dask_kubernetes配置jupyterlab?

    kubernetes - 如何修复 "503 Service Temporarily Unavailable"