gpt4 book ai didi

没有 Nodeport 的 Kubernetes 入口 Controller

转载 作者:行者123 更新时间:2023-12-02 11:16:41 25 4
gpt4 key购买 nike

我们在 GKE(谷歌 kubernetes 引擎)上运行 API 服务器。我们使用 Google Cloud Endpoints 和 API key 处理我们的授权。我们将每个 API key 的某些 IP 地址列入白名单。为了完成这项工作,我们必须从负载均衡器转换为入口 Controller ,以暴露我们的 API 服务器。 IP 白名单不适用于负载均衡器服务。现在我们有一个类似于这样的入口设置:

apiVersion: v1
kind: Service
metadata:
name: echo-app-nodeport
spec:
ports:
- port: 80
targetPort: 8080
protocol: TCP
name: http
selector:
app: esp-echo
type: NodePort
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: echo-app-ingress
annotations:
kubernetes.io/ingress.global-static-ip-name: "RESERVED_IP"
kubernetes.io/ingress.allow-http: "false"
spec:
tls:
- secretName: SECRET_NAME
backend:
serviceName: echo-app-nodeport
servicePort: 80

此设置运行良好,IP 白名单工作正常。现在我关心的主要是 NodePort,它似乎需要让入口 Controller 工作。我阅读了多个来源 [1] [2]强烈建议不要使用 NodePorts 来公开您的应用程序。然而,我发现的大多数示例都使用了这个 NodePort + Ingress 组合。我们可以安全地使用此设置还是应该迁移到其他入口 Controller (NGINX、Traefik 等)?

最佳答案

您可以为所有工作负载 pod 只使用 ClusterIP 类型的服务,并使用一个 LoadBalancer 服务将入口 Controller 本身暴露在集群之外。这样您就可以完全避免使用 NodePort 服务。

关于没有 Nodeport 的 Kubernetes 入口 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60397860/

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