如何在 AWS 上获取 kubernetes 负载均衡器服务的永久 IP 地址?
Posted
技术标签:
【中文标题】如何在 AWS 上获取 kubernetes 负载均衡器服务的永久 IP 地址?【英文标题】:How to get permanent ip address of a kubernetes load balancer service on AWS? 【发布时间】:2016-10-30 01:17:32 【问题描述】:如何在 AWS kubernetes 集群中以永久 IP 地址发布服务,以便添加 DNS 记录?我在 kubernetes 中定义了LoadBalancer
类型的服务xxx
,kubectl describe service xxx
给了我类似的东西:
LoadBalancer Ingress: aae55ce563ca611e692c10a83aef9ddc-467886677.eu-west-1.elb.amazonaws.com
Port: <unset> 9004/TCP
确实,我可以访问 aae55ce563ca611e692c10a83aef9ddc-467886677.eu-west-1.elb.amazonaws.com:9004 上的应用程序。如何将其设为永久 IP 地址?
【问题讨论】:
【参考方案1】:正如@error2007s 所说,您无法为 ELB 获取静态 IP。但是,如果您只想为您的 ELB 分配一个域名,那么您可以使用指向 aae55ce563ca611e692c10a83aef9ddc-467886677.eu-west-1.elb.amazonaws.com
的 CNAME 记录。如果您使用的是 Route53,您还可以定义别名以获得更好的性能。在您的托管区域下创建一个记录集,选择类型A
,在“别名:”下选择是,最后从下拉框中选择您的ELB。
亚马逊记录了这两个选项:
http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/using-domain-names-with-elb.html
【讨论】:
感谢详尽的回答。我没有意识到除了 A 记录还有其他选择。【参考方案2】:对于 AWS ELB,您无法创建永久 IP 地址,因为 AWS ELB 的 IP 地址是动态的并且经常更改。因此,您必须使用“aae55ce563ca611e692c10a83aef9ddc-467886677.eu-west-1.elb.amazonaws.com”作为应用程序的规范名称。也可以参考这个问题Amazon EC2 Elastic Load Balancer: Does its IP ever Change?
【讨论】:
以上是关于如何在 AWS 上获取 kubernetes 负载均衡器服务的永久 IP 地址?的主要内容,如果未能解决你的问题,请参考以下文章
带有 ALB 入口控制器的 Terraform AWS Kubernetes EKS 资源不会创建负载均衡器
通过 AWS 上的 ELB 在 Kubernetes 上公开单个 Kafka 代理
如何在 AWS Elastic Beanstalk 应用程序负载均衡器上运行的 Spring webapp 上获取请求者 IP