[英]Set ALB's DNS name for aws-alb-ingress-controller
我正在使用AWS實現入口控制器,並遵循本教程。
當創建一個進入如圖所示這里 ,主機名應給予。
spec:
rules:
- host: echoserver.example.com #How to let kubernate assign ALB's DNS name and not give our own DNS name.
http:
paths:
- path: /
backend:
serviceName: echoserver
servicePort: 80
但是我想給ALB生成的DNS名稱,因為我沒有自己的DNS名稱。 有什么辦法嗎? 我試過省略host屬性。 但是當我按照上面提到的教程(第13節)中描述的入口描述運行時
kubectl describe ing -n echoserver echoserver
上述命令的響應中的Address值為空,因此無法訪問入口。
更新 :
我創建了一個ALB(通過aws UI,並允許將請求轉發到默認創建的目標組),並將其DNS名稱設置為入口yaml文件中的主機名(用簡單字母表示)。 但我看不到它起作用。 我按照上面教程中提到的步驟進行操作。
kubectl logs -n kube-system \ $(kubectl get po -n kube-system | \ egrep -o alb-ingress[a-zA-Z0-9-]+) | \ egrep -o '\[ALB-INGRESS.*$'
當執行上述log命令時,僅返回以下輸出:
[ALB-INGRESS] [controller] [INFO]: Log level read as "", defaulting to INFO. To change, set LOG_LEVEL environment variable to WARN, ERROR, or DEBUG. [ALB-INGRESS] [controller] [INFO]: Ingress class set to alb [ALB-INGRESS] [controller] [INFO]: albNamePrefix undefined, defaulting to f0591ff6
按照步驟12,當執行log命令時,
kubectl logs -n kube-system \ $(kubectl get po -n kube-system | \ egrep -o alb-ingress[a-zA-Z0-9-]+) | \ egrep -o '\[ALB-INGRESS.*$' | \ grep 'echoserver\/echoserver'
沒有任何日志。
另外,在執行以下命令時:
kubectl描述ing -n echoserver echoserver
響應為:
Name: echoserver Namespace: echoserver Address: Default backend: default-http-backend:80 (172.17.0.4:8080) Rules: Host Path Backends ---- ---- -------- ingress-alb-3455057285.us-east-2.elb.amazonaws.com / echoserver:80 () Annotations: Events:
任何想法請問哪里出了問題?
我在這里沒有設置任何IAM角色。 如果需要,請告訴我該怎么做。
不能使用這樣的入口,因為入口需要DNS名稱,因為它們需要能夠路由流量。
您可以通過簡單地編輯主機文件來解決此問題:
my_fake_dns <ip_of_alb>
您可能想嘗試使用類型為LoadBalancer的服務,該服務會自動為您生成一個ELB(不是ALB)或NLB 。
創建執行以下操作的Shell腳本將非常容易:
描述您的AWS負載均衡器
aws elb describe-load-balancers --load-balancer-name my-load-balancer
aws elbv2 describe-load-balancers --load-balancer-arns arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188
從步驟1的輸出中過濾LB DNS名稱:
ELBv1
jq '.LoadBalancerDescriptions[].DNSName'
ELBv2
jq '.LoadBalancers[].DNSName'
將步驟3的結果插入您的入口Yaml模板文件
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.