我有一个关于AWS EKS的快速问题,每当我创建一个LoadBalancer类型的K8s服务时,它会提供一个典型的ELB支持EC2,其中服务正在运行。现在,每当我试图从Internet上点击负载均衡器ELB时,它都会返回ERR_EMPTY_RESPONSE错误。如果我导航回ELB并查看ELB后面的示例,它会将EC2示例的状态显示为OutOfService。
这种情况发生在我使用我自己的K8s部署和服务,或者使用文档提供的部署和服务。有人能帮我吗?还有,有没有办法为K8s服务提供不同类型的负载均衡器?- 谢谢-谢谢
2条答案
按热度按时间rfbsl7qr1#
当您创建LoadBalancer类型的Kubernetes Service时,AWS云提供商负载均衡控制器默认会创建AWS Classic Load Balancer(树内)。
使用AWS Load Balancer Controller而不是AWS云提供商负载平衡器控制器。AWS负载均衡器控制器创建ELB NLB。但是请注意,默认情况下,控制器将创建内部ELB,以创建公共ELB,将注解
service.beta.kubernetes.io/aws-load-balancer-scheme=internet-facing
添加到LoadBalancer服务。参考:https://docs.aws.amazon.com/eks/latest/userguide/network-load-balancing.html
jbose2ul2#
这是默认行为或K8S与云提供商,一个服务类型负载均衡器将旋转了真实的的一个影响成本。最好使用K8S Ingress作为最佳实践,可以用作端点,或者您可以在外部负载均衡器下添加。