簡體   English   中英

AWS-K8S-入口負載平衡器

[英]AWS - k8s - ingress LoadBalancer

我正在嘗試配置以下設置。

User -> https://xxx.abc.com -> VPC-IP(AWS LB):443 -> POD:8080

提及此問題AWS VPC-K8S-負載平衡

如果我設置了入口服務; 是Kubernetes創建的LoadBalancer嗎?

我目前僅通過AWS Security Group限制對特定IP的VPC訪問。

是否可以使用現有的LoadBalancer並將其分配/附加到Ingress Service? 還是由K8S創建SG后,我是否必須手動將SG分配給負載均衡器?

抱歉,您的問題似乎不清楚或有點糾結=希望我沒有忘記要點。

要實現這種情況: User -> https://xxx.abc.com -> VPC-IP(AWS LB):443 -> POD:8080

您需要按照通常的設置來配置入口和入口控制器,只需在ingress.yaml中添加主機(您的網址)即可。 在不購買域名並將其連接到AWS之前,您將無法訪問它。 但是您可以通過以下方式檢查設置是否有效:

curl -v -H "HOST:host_from_config" loadbalanceraddress.com

如果我設置了入口服務; 是Kubernetes創建的LoadBalancer嗎?

是。

當服務類型設置為LoadBalancer時,Kubernetes為群集內的Pod提供與type =等效的功能,並通過使用Kubernetes Pod的條目對(Kubernetes外部)負載均衡器進行編程來擴展它。 Kubernetes服務控制器自動執行外部負載均衡器的創建,運行狀況檢查(如果需要),防火牆規則(如果需要),並檢索由雲提供程序分配的外部IP並將其填充在服務對象中。

您可以隨時隨地限制安全組策略,只需找到它所屬的SG並根據需要編輯規則,或更改負載均衡器所屬的SG並對其進行調整。

關於將現有LB與Ingress結合使用的場景-您可以嘗試將現有的LoadBalancer添加到Service配置中(沒有嘗試此操作),將正確的實例附加到LoadBalancer等。盡管我還沒有嘗試過,努力並正確配置。

status: loadBalancer: ingress: - hostname: example-address.eu-central-1.elb.amazonaws.com

另一種方法是將服務類型更改為NodePort並將其指向手動創建的LB到您的應用程序-當您需要將一對服務連接到一個ELB時可以使用此服務。 這里已經描述過了

只想闡述@aurelius的解決方案2:

步驟1:讓您的入口服務鍵入NodePort ,它將在集群的所有節點上獲得一個類似於Node:34567的端口。

步驟2:配置設置現有的負載均衡器以路由到這些端口作為后端。

AWS existing load-balancer => Workder-Node1:34567 => Ingress-service => xxx
                           => Workder-Node2:34567 => Ingress-service => xxx
                           => Workder-Node3:34567 => Ingress-service => xxx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM