Amazon-Web-Services
Kube 入口和 elb
我在 AWS 上執行我的(kops)kube 集群。集群位於私有子網中。我無法創建外部(面向網際網路)負載均衡器,因為我的集群位於私有空間中。有什麼方法可以創建一個面向網際網路的負載均衡器,我的集群位於私有空間中,如果這不是一個可能的解決方案,我如何將我的 kube 內執行的服務暴露給外界?
我正在為我的服務創建以下註釋
kind: Service metadata: name: helloweb annotations: service.beta.kubernetes.io/aws-load-balancer-internal: 0.0.0.0/0
如果我不在註釋中使用“-internal”,服務將進入掛起狀態
Normal EnsuringLoadBalancer 9s (x3 over 24s) service- controller Ensuring load balancer Warning CreatingLoadBalancerFailed 8s (x3 over 24s) service- controller Error creating load balancer (will retry): failed to ensure load balancer for service default/helloweb: could not find any suitable subnets for creating the ELB
我也嘗試過 ingress,即使 ingress 也無法創建外部 elb。這是我的入口防禦…
kind: Service apiVersion: v1 metadata: name: ingress-nginx namespace: ingress-nginx labels: app.kubernetes.io/name: ingress-nginx app.kubernetes.io/part-of: ingress-nginx annotations: service.beta.kubernetes.io/aws-load-balancer-internal: 0.0.0.0/0 kubectl get ing NAME HOSTS ADDRESS PORTS AGE ingress-rules exampleapp1.kubexpress.cloud,exampleapp2.kubexpress.cloud internal- l0adbalancer.eu-central-1.elb.amazonaws.com 80 10d
問題出在我的 Kops 配置中。我通過為我的 kube 主/工作節點所在的每個私有子網創建實用子網來糾正它。