Kubernetes 服务和集群与 Google Compute Engine 对象之间有什么关系?

2023-12-22

我正在设置几个在 Google Container Engine 上运行的服务,流量通过 Google HTTP 负载均衡器使用路径映射传入。

有一个关于设置基于内容的负载平衡的很好的谷歌教程here https://cloud.google.com/compute/docs/load-balancing/http/content-based-example,但这都是普通的 Google 计算对象,例如实例组和后端服务。然而,我有 Kubernetes 服务、pod 和集群。

Kubernetes 对象和 Google Compute 资源之间有什么关系?如何以编程方式在两者之间进行映射?

(我知道我可以使用 Kubernetes Web 入口对象来进行平衡,如所解释的here https://cloud.google.com/container-engine/docs/tutorials/http-balancer#step_3_create_an_ingress_object,但看起来 Kubernetes Ingress 还不支持 HTTPS,这是需要的。)


Kubernetes 对象和 Google Compute 资源之间有什么关系?如何以编程方式在两者之间进行映射?

https://github.com/kubernetes/contrib/tree/master/Ingress/controllers/gce#overview https://github.com/kubernetes/contrib/tree/master/Ingress/controllers/gce#overview

(我知道我可以使用 Kubernetes Web 入口对象来进行平衡,如此处所述,但 Kubernetes Ingress 似乎尚不支持 HTTPS,这是需要的。)

Ingress 将在 1.2 中支持 HTTPS。资源如下所示:https://github.com/kubernetes/kubernetes/issues/19497#issuecomment-174112834 https://github.com/kubernetes/kubernetes/issues/19497#issuecomment-174112834。同时,您可以使用 Ingress 设置 HTTP 负载均衡并手动修改它以支持 https。事先道歉,这很复杂,很快就会好起来的。

首先创建一个HTTP Ingress:

  1. 创建服务类型=节点端口 https://github.com/kubernetes/kubernetes/blob/release-1.1/docs/user-guide/services.md#type-nodeport
  2. 确保你有后端服务配额 https://github.com/kubernetes/kubernetes/tree/master/cluster/addons/cluster-loadbalancing/glbc#prerequisites
  3. 创建一个HTTP 入口 https://cloud.google.com/container-engine/docs/tutorials/http-balancer
  4. 在防火墙中公开服务的节点端口(也如中所述https://cloud.google.com/container-engine/docs/tutorials/http-balancer https://cloud.google.com/container-engine/docs/tutorials/http-balancer)
  5. 等到 kubectl描述显示后端健康 https://github.com/kubernetes/kubernetes/tree/master/cluster/addons/cluster-loadbalancing/glbc#latency.

此时,您应该能够卷曲您的 Ingress 负载均衡器 IP 并访问 nginx 服务(或您在步骤 1 中创建的任何服务)。

然后通过手动执行以下操作GCE控制台 https://console.developers.google.com:

  1. 将 Ingress 资源的 IP 从“Ephmermal”更改为“Static”(在kubectl get ing在“外部 IP 地址”选项卡中)
  2. 创建您的 ssl 证书。如果您只想要一个自签名证书,您可以执行以下操作:

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /tmp/nginx.key -out /tmp/nginx.crt -subj "/CN=nginxsvc/O=nginxsvc"

  1. 为 HTTPS 负载均衡器创建新的目标 HTTPS 代理和转发规则,并将其分配给 http 负载均衡器的相同(静态)IP。

此时你应该能够卷曲https://loadbalancer-ip https://loadbalancer-ip -k

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Kubernetes 服务和集群与 Google Compute Engine 对象之间有什么关系? 的相关文章

随机推荐