amazon-web-services - aws-load-balancer-eip-allocations 不起作用。在 AWS 上使用 k8s 将静态 IP 分配给 LoadBalancer 服务
问题描述
我使用 aws-load-balancer-eip-allocations 在 AWS 上使用 k8s 将静态 IP 分配给 LoadBalancer 服务。EKS 的版本是 v1.16.13。https://github.com/kubernetes/kubernetes/blob/v1.16.0/staging/src/k8s.io/legacy-cloud-providers/aws/aws.go#L208-L211的文档第 210 和 211 行说“NLB 的静态 IP 地址。仅在 elbv2 (NLB) 上支持”。我不知道elbv2是什么。我使用下面的代码。但是,我没有得到静态IP。elbv2 有问题吗?如何使用 elbv2?另请参阅https://github.com/kubernetes/kubernetes/pull/69263。
apiVersion: v1
kind: Service
metadata:
name: ingress-service
annotations:
service.beta.kubernetes.io/aws-load-balancer-type: "nlb"
service.beta.kubernetes.io/aws-load-balancer-eip-allocations: "eipalloc-0187de53333555567"
service.beta.kubernetes.io/aws-load-balancer-cross-zone-load-balancing-enabled: "true"
解决方案
请记住,每个子网/区域需要 1 个 EIP,默认情况下,EKS 至少使用 2 个区域。
这是一个您可能会发现有用的工作示例:
metadata:
annotations:
service.beta.kubernetes.io/aws-load-balancer-backend-protocol: tcp
service.beta.kubernetes.io/aws-load-balancer-cross-zone-load-balancing-enabled: 'true'
service.beta.kubernetes.io/aws-load-balancer-type: nlb
service.beta.kubernetes.io/aws-load-balancer-subnets: "subnet-xxxxxxxxxxxxxxxx,subnet-yyyyyyyyyyyyyyyyy"
service.beta.kubernetes.io/aws-load-balancer-eip-allocations: "eipalloc-wwwwwwwwwwwwwwwww,eipalloc-zzzzzzzzzzzzzzzz"
我希望这对你有用
推荐阅读
- xml - 在PowerShell中更改后保存XML文件
- ruby-on-rails - 嵌套资源 ID 参数
- kubernetes - kubernetes nginx.ingress 多个websocket服务
- reactjs - Material UI Confirm Alert 隐藏在对话框后面
- javascript - VBA Web 自动化从 HTML 下拉列表中选择下拉值
- reactjs - 反应中的嵌入式地图
- python - 对于 n 的什么值,g(47,n) 会返回 5?
- java - 从 YAML 加载环境变量到 java
- variables - TCL:使用命名空间名称变量
- javascript - 如何在 JavaScript 中创建一个有状态的、类似队列的函数?