我正在尝试在 kubernetes 集群上部署微服务架构,是否有人知道如何为 AWS 创建入口。
2 回答
3
我建议您使用 ALB 入口控制器https://github.com/kubernetes-sigs/aws-alb-ingress-controller,因为它是 AWS 推荐的,并为每个入口创建应用程序负载均衡器。
或者,知道您可以在 AWS 中使用任何类型的 Ingress,例如 Nginx。您将创建 LoadBalancer 类型的 Nginx 服务,以便所有对该地址的请求都重定向到 Nginx。Nginx 本身会注意将请求重定向到 Kubernetes 内的正确服务。
于 2018-11-14T10:22:27.737 回答
1
要创建入口资源,我们首先需要部署入口控制器。使用 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 个 Pod 正在运行。一是入口控制器,二是默认后端。
现在,如果您转到 AWS 管理控制台,您应该会看到一个正在运行的 Elastic Load Balancer,它将流量路由到入口控制器,然后根据适当的规则将流量路由到适当的服务。
要测试 Ingress,请按照此处链接的步骤 1 到 4:使用 Ingress 设置 HTTP 负载平衡
希望这可以帮助!
于 2018-12-12T07:17:39.903 回答