如何为AWS创建Kubernetes Ingress

时间:2018-11-14 08:59:20

标签: amazon-web-services kubernetes devops amazon-eks

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

2 个答案:

答案 0 :(得分:3)

我建议您使用AWS建议的ALB入口控制器https://github.com/kubernetes-sigs/aws-alb-ingress-controller,并为每个入口创建应用程序负载平衡器。

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

答案 1 :(得分:1)

要创建Ingress资源,我们首先需要部署Ingress Controller。使用头盔可以非常轻松地部署Ingress Controller。请按照以下步骤安装Helm和Ingress Controller:

$ 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个Pod正在运行。一个是Ingress Controller,第二个是Default Backend。

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

要测试Ingress,请点击此处此链接的第1步至第4步:Setting up HTTP Load Balancing with Ingress

希望这会有所帮助!