如何使用类型负载均衡器为外部服务提供弹性ip到aws-eks



我使用的是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"

它将始终为该负载平衡器使用elasticIp。

有关更多eks注释。

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

最新更新