如何为我的 EKS 服务分配静态 IP?
How can I assign a static IP to my EKS service?
我有一个 EKS 集群。
我创建了我的服务并使用 ingress-nginx 公开了它。
ingress-nginx 外部 IP 显示为 DNS 名称而不是 IP。
如何连接我的私有域以指向我的 EKS 服务?
我知道有关于将 AWS Elastic IP 与 Kubernetes 一起使用的注释,
但它仅从 Kubernetes 1.16 开始可用,而 EKS 最多只支持 1.14。
那么,我有哪些选项可以为我的服务分配一些静态 IP 并将我的 DNS 配置为指向该 IP?
您可以在 AWS 上配置弹性 IP 并使用该 IP 配置服务。
Ex:
type: LoadBalancer
loadBalancerIP: xxxxx
这个 post 的答案在这种情况下仍然正确。
Amazon 进行负载平衡的方式是根据需要扩展和缩减接口以处理请求负载。这就是他们为您分配域名而不是 IP 地址的原因,因为您的负载均衡器可能有多个物理接口,并且 IP 地址会经常更改。
如果您要做的只是为您的负载均衡器创建一个 DNS 名称,这可以简单地通过任何 DNS 提供商来完成,方法是创建一个 CNAME
记录指向所配置的负载均衡器的 DNS 名称通过 AWS。如果您使用的是 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
...
我有一个 EKS 集群。
我创建了我的服务并使用 ingress-nginx 公开了它。
ingress-nginx 外部 IP 显示为 DNS 名称而不是 IP。
如何连接我的私有域以指向我的 EKS 服务?
我知道有关于将 AWS Elastic IP 与 Kubernetes 一起使用的注释,
但它仅从 Kubernetes 1.16 开始可用,而 EKS 最多只支持 1.14。
那么,我有哪些选项可以为我的服务分配一些静态 IP 并将我的 DNS 配置为指向该 IP?
您可以在 AWS 上配置弹性 IP 并使用该 IP 配置服务。
Ex:
type: LoadBalancer
loadBalancerIP: xxxxx
这个 post 的答案在这种情况下仍然正确。
Amazon 进行负载平衡的方式是根据需要扩展和缩减接口以处理请求负载。这就是他们为您分配域名而不是 IP 地址的原因,因为您的负载均衡器可能有多个物理接口,并且 IP 地址会经常更改。
如果您要做的只是为您的负载均衡器创建一个 DNS 名称,这可以简单地通过任何 DNS 提供商来完成,方法是创建一个 CNAME
记录指向所配置的负载均衡器的 DNS 名称通过 AWS。如果您使用的是 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
...