gpt4 book ai didi

amazon-ec2 - 在AWS上使用k8s将静态IP分配给LoadBalancer服务

转载 作者:行者123 更新时间:2023-12-04 08:54:16 25 4
gpt4 key购买 nike

目标:在静态IP的AWS上创建一个k8s LoadBalancer服务

我没有问题,可以通过预先分配静态IP并通过loadBalancerIP属性将其传递给GKE来完成此任务:

$ kubectl apply -f - <<EOF
apiVersion: v1
kind: Service
metadata:
name: dave
loadBalancerIP: 17.18.19.20
...etc...

但是在AWS中执行相同操作会导致 externalIP停留为 <pending>并导致 Events历史记录出现错误

删除 loadBalancerIP值可使k8s启动Classic LB:
$ kubectl describe svc dave
Type: LoadBalancer
IP: 100.66.51.123
LoadBalancer Ingress: ade4d764eb6d511e7b27a06dfab75bc7-1387147973.us-west-2.elb.amazonaws.com
...etc...

但是AWS明确警告我这些IP是短暂的(有时有2个),而经典IP似乎不支持附加静态IP

谢谢你的时间

最佳答案

如@Quentin所述,AWS Network Load Balancer现在支持K8

https://aws.amazon.com/blogs/opensource/network-load-balancer-support-in-kubernetes-1-9/

Kubernetes中的网络负载平衡

在Kubernetes 1.9发行版中,我添加了将新的网络负载平衡器与Kubernetes服务一起使用的支持。这是一个Alpha级功能,到目前为止,还不能用于生产集群或工作负载,因此请确保在尝试之前也请阅读NLB上的文档。通过NLB公开服务的唯一要求是添加批注service.beta.kubernetes.io/aws-load-balancer-type,其值为nlb。

完整的示例如下所示:

apiVersion: v1
kind: Service
metadata:
name: nginx
namespace: default
labels:
app: nginx
annotations:
service.beta.kubernetes.io/aws-load-balancer-type: "nlb"
spec:
externalTrafficPolicy: Local
ports:
- name: http
port: 80
protocol: TCP
targetPort: 80
selector:
app: nginx
type: LoadBalancer

关于amazon-ec2 - 在AWS上使用k8s将静态IP分配给LoadBalancer服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46871227/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com