amazon-web-services - AWS 上的 ALB 入口控制器
问题描述
我正在尝试在 AWS-EKS 上设置 ALB 入口控制器,正如以下教程所述:ingress_controller_alb,但我无法获得入口地址。
事实上,如果我运行以下命令:kubectl get ingress/2048-ingress -n 2048-game
,10 分钟后我没有得到地址。任何想法?
解决方案
问题可能出在您正在使用的 aws-controller 版本中 - 您正在使用旧版本的入口控制器 - 1.0.0,新版本是 1.1.3。
我建议您查看此文档:ingress-controller-alb。
1.下载示例 ALB 入口控制器清单
wget https://raw.githubusercontent.com/kubernetes-sigs/aws-alb-ingress-controller/v1.1.3/docs/examples/alb-ingress-controller.yaml
2.配置 ALB 入口控制器清单
至少,编辑以下变量:
--cluster-name=devCluster: name of the cluster. AWS resources will be tagged with kubernetes.io/cluster/devCluster:owned
如果控制器 pod 中的 ec2metadata 不可用,请编辑以下变量:
--aws-vpc-id=vpc-xxxxxx: vpc ID of the cluster.
--aws-region=us-west-1: AWS region of the cluster.
3.部署 RBAC 角色清单
kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/aws-alb-ingress-controller/v1.1.3/docs/examples/rbac-role.yaml
4.部署 ALB 入口控制器清单
kubectl apply -f alb-ingress-controller.yaml
5.验证部署成功,控制器启动
kubectl logs -n kube-system $(kubectl get po -n kube-system | egrep -o "alb-ingress[a-zA-Z0-9-]+")
您应该能够显示类似于以下内容的输出:
-------------------------------------------------------------------------------
AWS ALB Ingress controller
Release: 1.0.0
Build: git-7bc1850b
Repository: https://github.com/kubernetes-sigs/aws-alb-ingress-controller.git
-------------------------------------------------------------------------------
然后您可以部署示例应用程序
执行以下命令:
kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/aws-alb-ingress-controller/v1.1.3/docs/examples/2048/2048-namespace.yaml
kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/aws-alb-ingress-controller/v1.1.3/docs/examples/2048/2048-deployment.yaml
kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/aws-alb-ingress-controller/v1.1.3/docs/examples/2048/2048-service.yaml
为 2048 游戏部署 Ingress 资源:
kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/aws-alb-ingress-controller/v1.1.3/docs/examples/2048/2048-ingress.yaml
几秒钟后,验证 Ingress 资源是否已启用:
kubectl get ingress/2048-ingress -n 2048-game
推荐阅读
- python-3.x - 如何在运行但不执行任何操作的代码中查找错误
- jquery - 将临时数据从视图发送到控制器
- c++ - 为什么 r 值引用不延长 r 值生命周期?
- bash - 同时移动2次时如何指向特定文件?Unix
- aws-api-gateway - Paypal Webhooks 和 AWS API Gateway 集成
- javascript - 如何清空猫鼬地图?
- autohotkey - 当消息的文本包含变量时,如何使用带有计时器的 AutoHotkey 消息框?
- mysql - Oracle 融合中间件与 MySQL - DB Init Param 先决条件失败
- aws-lambda - 是否可以在 AWS 的 step 函数中传递值
- swift - SwiftUI 中的条件属性