docker - Kubernetes/Docker 的 HTTP(S) 负载均衡

标签 docker google-cloud-platform kubernetes google-kubernetes-engine

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

任何帮助表示赞赏

最佳答案

  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 负载均衡器的运行状况检查。

    a.转到“网络”选项卡上的“负载平衡”。

    b.单击“高级”菜单。

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

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

  7. 重复步骤 5 以确认实例组的健康状况。

  8. 需要 SSL,请返回负载均衡器,进行编辑,单击“前端配置”,然后添加带有证书的 https。

  9. 您已准备好开始。

关于docker - Kubernetes/Docker 的 HTTP(S) 负载均衡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36704182/

相关文章:

mysql - 错误 2003 (HY000) : Can't connect to MySQL server on 'xxx.xxx.xx.xx' (10060)

linux - 如何否定要在 Kubernetes livenessProbe 中使用的退出代码状态?

amazon-ec2 - 无法将 HOST 文件夹挂载到 Amazon Docker 容器中?

node.js - 如何使用nodejs获取 Node docker容器中的主机主目录路径?

Azure 容器服务无法访问

mongodb - 如何将本地Mongo数据库连接到docker

python - 将 docker 用于谷歌云数据流依赖

python - 谷歌云视觉 API : "Request had insufficient authentication scopes."

ssl - 如何使用Kubernetes集群中已有的证书

docker - 在kubernetes上暴露容器的多个端口