问题可能出在您使用的 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