如何仅通过ingress访问kubernetes应用
How to access kubernetes application through ingress only
我有一个 kubernetes
个对象如下:
- 一次部署
- 用于第 1 步部署的服务
- 步骤 2 中的服务后端路径入口
我在 GCP
中使用 Kubernetes Engine。一旦我创建了一个 ingress
对象,它就会像往常一样创建一个负载均衡器。
所以我有我的 dns,我添加了一个 A
记录,域名 test1.<my-domain>.co
指向从 ingress
创建的 LoadBalancer 的 IP
但这不起作用。它不加载页面。
然后我尝试安装 ningx
入口控制器,部署后,它在 gcp
中创建了另一个负载平衡器。所以,我得到了那个新创建的负载均衡器的 IP,并且 switched/changed 将 DNS 记录 IP 替换为新创建的负载均衡器的 IP。瞧,它开始工作了。那么这是否意味着 ingress
总是需要入口控制器才能工作?
是的,为了让 Ingress 资源正常工作,集群必须有一个入口控制器 运行。仅创建 Ingress 资源无效。
一个Ingress controller,负责完成Ingress,通常会带一个负载均衡器,就是你看到的。
来自客户端的请求到达 Ingress 管理的负载均衡器,该负载均衡器根据原始请求中的主机和路径转发到相应的 Ingress。按照入口中定义的路由规则,请求从它到达后端的地方转发到服务 pods.
创建自己的负载均衡器的入口资源似乎是 GKE 遵循的行为。来自 GCP 文档
When you specify kind:Ingress in the resource manifest, you instruct
GKE to create an Ingress resource. By including annotations and
supporting workloads and Services, you can create a custom Ingress
controller. Otherwise, GKE makes appropriate Google Cloud API calls to
create an external HTTP(S) load balancer.
您可以阅读更多相关内容 here。
是的,需要入口控制器来为来自集群外部的用户请求提供服务。
当用户在入口控制器的负载均衡器 IP 上发送请求时,入口控制器从入口资源读取路由并相应地转发用户请求。
入口资源是服务的一部分。意味着对于每项服务,您都需要拥有入口资源,因为入口控制器可以为多个入口资源提供服务。
主要使用两个入口控制器。
- nginx
- 轮廓。
您可以详细阅读它们。
我有一个 kubernetes
个对象如下:
- 一次部署
- 用于第 1 步部署的服务
- 步骤 2 中的服务后端路径入口
我在 GCP
中使用 Kubernetes Engine。一旦我创建了一个 ingress
对象,它就会像往常一样创建一个负载均衡器。
所以我有我的 dns,我添加了一个 A
记录,域名 test1.<my-domain>.co
指向从 ingress
但这不起作用。它不加载页面。
然后我尝试安装 ningx
入口控制器,部署后,它在 gcp
中创建了另一个负载平衡器。所以,我得到了那个新创建的负载均衡器的 IP,并且 switched/changed 将 DNS 记录 IP 替换为新创建的负载均衡器的 IP。瞧,它开始工作了。那么这是否意味着 ingress
总是需要入口控制器才能工作?
是的,为了让 Ingress 资源正常工作,集群必须有一个入口控制器 运行。仅创建 Ingress 资源无效。
一个Ingress controller,负责完成Ingress,通常会带一个负载均衡器,就是你看到的。
来自客户端的请求到达 Ingress 管理的负载均衡器,该负载均衡器根据原始请求中的主机和路径转发到相应的 Ingress。按照入口中定义的路由规则,请求从它到达后端的地方转发到服务 pods.
创建自己的负载均衡器的入口资源似乎是 GKE 遵循的行为。来自 GCP 文档
When you specify kind:Ingress in the resource manifest, you instruct GKE to create an Ingress resource. By including annotations and supporting workloads and Services, you can create a custom Ingress controller. Otherwise, GKE makes appropriate Google Cloud API calls to create an external HTTP(S) load balancer.
您可以阅读更多相关内容 here。
是的,需要入口控制器来为来自集群外部的用户请求提供服务。 当用户在入口控制器的负载均衡器 IP 上发送请求时,入口控制器从入口资源读取路由并相应地转发用户请求。 入口资源是服务的一部分。意味着对于每项服务,您都需要拥有入口资源,因为入口控制器可以为多个入口资源提供服务。
主要使用两个入口控制器。
- nginx
- 轮廓。 您可以详细阅读它们。