gpt4 book ai didi

amazon-web-services - 如何使用基于 [AWS] 的目标组 "IP"设置 Kubernetes NLB 负载均衡器?

转载 作者:行者123 更新时间:2023-12-02 11:28:55 32 4
gpt4 key购买 nike

目前,我正在使用网络负载均衡器公开 k8s 服务。它创建了一个网络负载均衡器并将目标组设置为基于实例,一切正常。据我们所知
节点中的端口始终在 30000 - 32767 的范围内。
不同的目标群体存在差异。基于实例的目标组用于保留客户端 IP,其中基于 IP 的目标组不保留客户端 IP。
现在安全组有问题,我想限制节点端口只能由负载均衡器的CIDR访问。由于它是基于实例的目标组,因此入站 IP 始终是客户端 IP。因此很难限制仅对某些 IP 的访问。
所以我的计划是将目标组切换到基于“IP”的组,这样我就可以限制对负载均衡器的 CIDR 的访问。
有没有其他方法可以使用基于 IP 的目标类型创建 NLB 负载平衡器?你能帮我一些建议吗?

apiVersion: v1
kind: Service
metadata:
name: nginx-router
annotations:
service.beta.kubernetes.io/do-loadbalancer-protocol: "http"
service.beta.kubernetes.io/do-loadbalancer-healthcheck-path: "/healthz"
service.beta.kubernetes.io/aws-load-balancer-type: "nlb"
service.beta.kubernetes.io/aws-target-type: ip
service.beta.kubernetes.io/aws-load-balancer-ssl-cert: [tes]

# service.beta.kubernetes.io/healthcheck-path: /healthz
spec:
selector:
app: nginx-router
externalTrafficPolicy: Local
ports:
- port: 80
targetPort: 80
protocol : TCP
name : http
- port : 443
targetPort: 443
protocol : TCP
name : https

type: LoadBalancer

最佳答案

我问自己是否真的需要通过网络负载均衡器来解决这个问题,或者 Kubernetes 中的解决方案是否更可取。
从集群中删除 NodePort 的最简单方法是实际上不在 Kubernetes 中定义任何 NodePort 类型的服务。如果某些已经存在,您可以轻松地将它们更改为类型 ClusterIP,并且应该删除 NodePort。
由于您希望阻止对 NodePort 的任何访问,您可以考虑使用 ResourceQuota 来阻止创建任何 NodePort 类型的服务。通过这种方式,集群告诉用户他的服务将无法工作,而不仅仅是阻止流量到达应用程序,如果您不知道负载均衡器配置的细节,很可能会导致难以理解的超时。 (参见此处引用:https://kubernetes.io/docs/concepts/policy/resource-quotas/#object-count-quota)

关于amazon-web-services - 如何使用基于 [AWS] 的目标组 "IP"设置 Kubernetes NLB 负载均衡器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64132248/

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