ale*_*rsh 6 amazon-web-services kubernetes amazon-eks nginx-ingress
我有一个 EKS 集群。
我创建了我的服务并使用 ingress-nginx 公开它。
ingress-nginx 外部 IP 显示为 DNS 名称而不是 IP。
如何连接我的私有域以指向我的 EKS 服务?
我知道有一个将 AWS Elastic IP 与 Kubernetes 结合使用的注释,
但它仅从 Kubernetes 1.16 开始可用,而 EKS 最多仅支持 1.14。
那么我有什么选择可以为我的服务分配一些静态 IP 并配置我的 DNS 以指向这个 IP?
小智 9
在这种情况下,这篇文章的答案仍然正确。
Amazon 进行负载平衡的方式是根据需要扩展和缩小接口来处理请求负载。这就是为什么他们为您分配域名而不是 IP 地址,因为您的负载均衡器可能有多个物理接口,并且 IP 地址会经常更改。
如果您只想为负载均衡器创建一个 DNS 名称,则可以通过任何 DNS 提供商创建一条CNAME指向 AWS 所配置的负载均衡器的 DNS 名称的记录来简单地完成此操作。如果您使用 Route53,那就更简单了,因为您只需创建一条带有 DNS 名称别名的 A 记录即可。
我希望这有帮助。FWIW,除非您仅将负载均衡器部署在一个可用区中,否则不可能为您的负载均衡器获取单个静态 IP 地址。
在创建 LoadBalancer 服务(这将创建一个实际的负载均衡器)时,您现在可以通过注释通过 id 指定预先分配的弹性 IP。
例子:
apiVersion: v1
kind: Service
metadata:
name: some-name
annotations:
# only network load balancer supports static IP
service.beta.kubernetes.io/aws-load-balancer-type: nlb
# comma-separated list of Elastic IP ids
# the length of the list must be equal to the number of subnets
service.beta.kubernetes.io/aws-load-balancer-eip-allocations: eipalloc-abcd0000,eipalloc-abcd0001,eipalloc-abcd0002
...
spec:
type: LoadBalancer
...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5382 次 |
| 最近记录: |