我正在尝试在kubernetes集群上部署微服务架构,是否有人知道如何为AWS创建入口。
答案 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
希望这会有所帮助!