什么是入口控制器以及如何创建它?

what is an ingress controller and how do I create it?

早上好伙计们,所以我在 GCP 上取下了一个产品的暂存环境,并再次 运行 部署脚本,后端和前端服务已经设置。我有一个入口资源和一个负载均衡器,但是,该服务不是 运行。查看生产应用程序会发现有类似 nginx-ingress-controller 的东西。我真的不明白所有这些以及它是如何创建的。有人可以帮助我理解,因为我没有在网上看到任何让我明白的东西。我错过了什么吗?

负载均衡器:https://gist.github.com/davidshare/5a571e56febe7dacd580282b373f3095 入口资源:https://gist.github.com/davidshare/d0f53912bc7da8310ec3d64f1c8a44f1

Ingress 允许从 Kubernetes 集群外部访问您的 Kubernetes 服务。有不同的 kubernetes aka K8 资源,或者您可以使用(节点端口/负载平衡器),您可以使用它们来公开。

Ingress 是您的服务的独立资源,您可以声明性地指定路由规则,因此每个 url 具有一些上下文可以映射到不同的服务。 这使得它与您要公开的服务分离和隔离。

因此,要使 ingress 正常工作,您的集群需要一个 Ingress Controller。

和K8中的部署资源一样,ingress可以通过

简单地创建
kubectl create -f ingress.yaml

首先,您必须实施 Ingress Controller in order to apply Ingress 资源,如@Shubhu 回答中所述。入口控制器作为边缘路由器,应用特定的逻辑结构,旨在通过 Ingress 资源中定义的基本模式路由规则将外部流量路由到 Kubernetes 集群底层服务。

如果你 select Nginx Ingress Controller then it might be useful to proceed with installation guide approaching some specific prerequisites based on cloud provider environment. In order to simplify Nginx Ingress controller installation procedure it is also possible to use Helm package manager and install appropriate stable/nginx-ingress 舵图。