如何通过负载均衡器类型为AWS EKS对外服务提供弹性IP? [英] How to provide elastic ip to aws eks for external service with type loadbalancer?

查看:0
本文介绍了如何通过负载均衡器类型为AWS EKS对外服务提供弹性IP?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用的是EKS 1.16。我有一个服务的负载均衡器类型是面向互联网的。

apiVersion: v1
kind: Service
metadata:
  annotations:
    service.beta.kubernetes.io/aws-load-balancer-backend-protocol: tcp
    service.beta.kubernetes.io/aws-load-balancer-type: nlb
  name: kafka-test-3-0-external
  labels:
    helm.sh/chart: kafka-0.21.5
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/component: kafka-broker
    app.kubernetes.io/name: kafka
    app.kubernetes.io/instance: kafka-test-3
    pod: "kafka-test-3-0"
spec:
  type: LoadBalancer
  ports:
    - name: external-broker
      port: 19092
      targetPort: 19092
      protocol: TCP
#
  selector:
    app.kubernetes.io/component: kafka-broker
    app.kubernetes.io/name: kafka
    app.kubernetes.io/instance: kafka-test-3
    statefulset.kubernetes.io/pod-name: "kafka-test-3-0"

我想为外部服务提供弹性IP/静态IP。

问题: 对于负载均衡器类型,当我删除服务时,它会删除负载均衡器。 当我再次安装时,它将使用新IP创建新的负载均衡器。

用法:如果我仍然卸载/删除该服务,则IP必须相同。

如何提供弹性IP/静态IP?

推荐答案

有一个为网络负载均衡器提供弹性IP的注释

service.beta.kubernetes.io/aws-load-balancer-eip-allocations: eipalloc-05666791973f6a240

如果您使用的是Amazon EKS 1.16或更高版本,则可以通过添加以下注释将弹性IP地址分配给网络负载均衡器。用您的弹性IP地址的分配ID替换(包括<;>;)。分配ID的数量必须与负载均衡器使用的子网数量匹配。

注意:您不能将此批注用于内部负载平衡器

apiVersion: v1
kind: Service
metadata:
  annotations:
    external-dns.alpha.kubernetes.io/hostname: "kafka-test-3-1.kafka.internal"
    external-dns.alpha.kubernetes.io/ttl: "60"
    service.beta.kubernetes.io/aws-load-balancer-backend-protocol: tcp
    service.beta.kubernetes.io/aws-load-balancer-type: nlb
    service.beta.kubernetes.io/aws-load-balancer-eip-allocations: eipalloc-022b9722973f6a222
  name: kafka-test-3-1-external
  labels:
    helm.sh/chart: kafka-0.21.5
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/component: kafka-broker
    app.kubernetes.io/name: kafka
    app.kubernetes.io/instance: kafka-test-3
    pod: "kafka-test-3-1"
spec:
  type: LoadBalancer
  ports:
    - name: external-broker
      port: 19092
      targetPort: 19092
      protocol: TCP
#
  selector:
    app.kubernetes.io/component: kafka-broker
    app.kubernetes.io/name: kafka
    app.kubernetes.io/instance: kafka-test-3
    statefulset.kubernetes.io/pod-name: "kafka-test-3-1"

它将始终对该负载均衡器使用lasiticIp。

了解更多EKS批注。

https://docs.aws.amazon.com/eks/latest/userguide/load-balancing.html

这篇关于如何通过负载均衡器类型为AWS EKS对外服务提供弹性IP?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆