首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我无法获得ALB网址..。地址是空的

我无法获得ALB网址..。地址是空的
EN

Stack Overflow用户
提问于 2020-03-17 18:36:41
回答 1查看 1.9K关注 0票数 1

我正试着遵循这个指南https://aws.amazon.com/blogs/containers/using-alb-ingress-controller-with-amazon-eks-on-fargate/

以下步骤:

集群供应AWS_REGION=us-east-1群集_NAME=eks fargate-alb-demo

创建集群-名称$CLUSTER_NAME -区域$AWS_REGION -fargate

您应该得到以下响应:名称类型集群-IP外部-IP端口(S)年龄ClusterIP 10.100.0.1 443/TCP 16h

与集群一起设置OIDC提供程序,并创建由ALB侵入控制器wget -O alb- Ingress iam - policy used https://raw.githubusercontent.com/kubernetes-sigs/aws-alb-ingress-controller/master/docs/examples/iam-policy.json aws IAM创建-策略-名称ALBIngressControllerIAMPolicy -策略-document ALBIngressControllerIAMPolicy-document ALBIngressControllerIAMPolicy使用的iam策略。

stack_name=eksctl-$cluster VPC_ID=$(stack-堆栈名称"$STACK_NAME“\ jq -r '[.Stacks.Outputs[] name {key:.OutputKey,value:.OutputValue}] from_entries‘AC.26 jq -r '.VPC') AWS_ACCOUNT_ID=$(aws sts get-caller identity jq -r’.Account‘.Account)

cat > rbac-role.yaml <-EOF

apiVersion: rbac.Authization.k8s.io/v1类: ClusterRole元数据:标签: app.kubernetes.io/name: alb-ingress控制器名称:- apiGroups:- "“-扩展资源:- configmaps终结点-事件-入口/状态-服务:- create - get - list-更新-监视-补丁- apiGroups:- "“-扩展资源:-节点-豆荚-秘密-服务-命名空间动词:-获取列表

-守望

apiVersion: rbac.Authization.k8s.io/v1种类: ClusterRoleBinding元数据:标签: app.kubernetes.io/name: alb-ingress控制器名称:alb-ingress控制器roleRef: apiGroup: rbac.authorization.k8s.io种类: ClusterRole名称:alb-ingress控制器主题:-roleRef: ServiceAccount名称:alb-ingress控制器命名空间: kube-system EOF

kubectl应用-f rbac-role.yaml这些命令将为我们创建两个资源,输出应该类似于以下内容:

clusterrole.rbac.authorization.k8s.io/alb-ingress-controller创建了clusterrolebinding.rbac.authorization.k8s.io/alb-ingress-controller,最后创建了Kubernetes服务帐户:

创建iamserviceaccount \--名称为alb-ingress控制器\-命名空间库- $CLUSTER_NAME \--附加-策略-arn$CLUSTER_NAME\-批准这个eksctl命令将部署一个新的带有IAM角色的CloudFormation堆栈。在继续执行下一个步骤之前,等待它完成。

部署ALB大会控制器--让我们现在将ALB大会控制器部署到我们的集群:

cat >alb-ingress控制器名称: matchLabels: app.kubernetes.io/name: apps控制器规范:matchLabels: app.kubernetes.io/name: app.kubernetes.io/name: apps控制器规范:容器:-名称:alb-ingress控制器args:--ingress class=alb--集群-名称=$群集_NAME--AWS ID=$VPC_ID--AWS-REGION=$AWS_ EOF映像: docker.io/amazon/aws-alb-ingress-controller:v1.1.4 serviceAccountName: alb-ingress控制器EOF kubectl应用-f alb-入口-控制器。

将示例应用程序部署到集群,现在我们已经运行了入口控制器,我们可以将应用程序部署到集群中,并创建一个入口资源来公开它。

让我们从部署开始:

部署元数据:名称:“nginx-部署”命名空间:“默认”规范:3个模板:标签: app:"nginx“规范:容器:- imagePullPolicy: imagePullPolicy:总是名称:"nginx”端口:- containerPort: 80 EOF

kubectl应用-f nginx部署. apply输出应该类似于:

然后,让我们创建一个服务,这样我们就可以公开NGINX荚了:

cat > nginx-service.yaml <<-EOF apiVersion: v1类:服务元数据:注释:Alb.ingress.kubernetes.io/目标类型: ip名称:"nginx- Service“命名空间:”默认“规范:端口:-端口: 80 targetPort: 80协议: TCP类型: NodePort选择器: app:"nginx”EOF

kubectl应用-f nginx-service.yaml输出将类似于:

部署/扩展/nginx-最终创建的部署,让我们创建我们的入口资源:

cat >nginx-inress.yaml <<-EOF apiVersion: extensions/v1beta 1类别:入口元数据:名称:“nginx”命名空间:“默认”注释:kubernetes.io/inress.class: alb相册.inress.kubernetes.io/ path:面向因特网的标签: app: nginx规范:规则: http: path:-path: /*后端:serviceName"nginx-service“servicePort: 80 EOF kubectl应用-f nginx-inress.yaml

产出如下:

一旦完成所有操作,您就可以通过运行以下命令获得ALB:

kubectl获取入口nginx-ingress这个命令的输出将类似于这个命令:

名称主机地址端口年龄nginx-ingress * 5e07dbe1-default-ngnxingr-2e9-113757324.us-east-2.elb.amazonaws.com 80 9s

但在这一步中,我无法获得ALB URL,kubectl获得了nginx入口。

任何帮助..。提前谢谢..。

EN

回答 1

Stack Overflow用户

发布于 2020-08-05 14:52:12

我也有同样的问题,我通过更新alb-ingress-controller.yaml来修复它。我用$CLUSTER_NAME$VPC_ID$AWS_REGION代替了它们的价值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60728375

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档