如何为 AWS 创建 Kubernetes Ingress

How to create Kubernetes Ingress for AWS

我正在尝试在 kubernetes 集群上部署微服务架构,有人知道如何为 AWS 创建入口吗?

我建议您使用 ALB Ingress Controller https://github.com/kubernetes-sigs/aws-alb-ingress-controller,因为 AWS 推荐它并为每个 Ingress 创建 Application Load Balancer。

或者,知道您可以在 AWS 中使用任何类型的 Ingress,例如 Nginx。您将创建类型为 LoadBalancer 的 Nginx 服务,以便将对该地址的所有请求都重定向到 Nginx。 Nginx 本身会注意将请求重定向到 Kubernetes 中的正确服务。

要创建入口资源,我们首先需要部署入口控制器。使用 helm 可以非常轻松地部署 Ingress Controller。按照以下步骤安装 Helm 和入口控制器:

$ curl https://raw.githubusercontent.com/helm/helm/master/scripts/get > get_helm.sh
$ chmod 700 get_helm.sh
$ ./get_helm.sh
$ Kubectl createserviceaccount --namespace kube-system tiller
$ Kubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin  --serviceaccount=kube-system:tiller
$ helm init --service-acount=tiller
$ helm install stable/nginx-ingress --name my-nginx --set rbac.create=true

安装 Ingress Controller 后,按 运行 kubectl get pods 检查它,您应该会看到 2 pods 运行。一个是入口控制器,第二个是默认后端。

现在,如果您转到 AWS 管理控制台,您应该会看到一个 Elastic Load Balancer 运行,它将流量路由到入口控制器,入口控制器又根据适当的规则将流量路由到适当的服务。

要测试 Ingress,请在此处执行此 link 的步骤 1 至 4:Setting up HTTP Load Balancing with Ingress

希望对您有所帮助!