尝试使用Kubernetes创建Laod Balancer资源(用于EKS集群)。它可以与“标签选择器”一起正常使用,但是我们希望每个集群只有一个LB,然后让入口直接服务。 这是我目前拥有的:
kind: Service
apiVersion: v1
metadata:
namespace: default
name: name
annotations:
service.beta.kubernetes.io/aws-load-balancer-internal: 0.0.0.0/0
spec:
ports:
- port: 80
type: LoadBalancer
这将创建一个LB并为其提供内部DNS,但是实例永远不会变得健康(尽管它们是健康的)。
任何建议
答案 0 :(得分:0)
LB目标组的监视页面显示哪些故障?是否有HTTP错误响应或只是连接错误? 是否已将K8S节点的安全组设置为允许从LB进入?
答案 1 :(得分:0)
您在another question中发布的每个讨论。我认为您想要实现的是One Load Balancer Per Cluster
,是指Save on your AWS bill with Kubernetes Ingress。
要实现此目的,您需要创建:
Load Balancer Service
,其中有Nginx-Ingress-Controller
个pod作为后端。Load balancer Service
将拥有一个外部IP,将所有群集流量都指向该IP。因此,您的流量将通过以下管道:
所有流量-> AWS LoadBalancer-> Node1:xxxx-> Nginx入口控制器服务-> Nginx入口控制器Pod->您的Service1(基于入口规则)-> 您的豆荚
以下是如何启动Nginx-Ingress-Controller的示例:https://hackernoon.com/setting-up-nginx-ingress-on-kubernetes-2b733d8d2f45