gpt4 book ai didi

kubernetes - 如何在 GCE 上将 NodePort 暴露给互联网

转载 作者:行者123 更新时间:2023-12-03 08:25:18 26 4
gpt4 key购买 nike

如何公开 NodePort 类型的服务上网没有 使用类型 LoadBalancer ?我发现的每个资源都是通过使用负载均衡器来完成的。但我不希望负载平衡对我的用例来说既昂贵又不必要,因为我正在运行 postgres 的一个实例正在安装到永久磁盘的图像,我希望能够使用 pgAdmin 从我的 PC 连接到我的数据库。如果可能的话,请您提供更详细的答案,因为我是 Kubernetes、GCE 和网络的新手。

只是为了记录和更多上下文,我有部署运行我的 API 服务器的 3 个副本,我通过负载均衡器与 set loadBalancerIP 连接到另一个部署,它运行一个带有 NodePort 服务的 postgres 实例,我的 API 服务器通过该服务与之通信我的分贝。我的问题是在没有公共(public)访问权限的情况下维护数据库很困难。

最佳答案

使用 NodePort作为服务类型可以立即使用,例如像这样:

apiVersion: v1
kind: Service
metadata:
name: nginx
spec:
type: NodePort
ports:
- port: 80
nodePort: 30080
name: http
- port: 443
nodePort: 30443
name: https
selector:
name: nginx

更多详情请查看 documentation .
使用 NodePort 的缺点是您必须自己负责与您的提供商防火墙集成。一个起始端口也可以在 Configuring Your Cloud Provider's Firewalls 中找到。官方文档的部分。

对于 GCE,在所有节点上公开上述内容可能如下所示:
gcloud compute firewall-rules create myservice --allow tcp:30080,tcp:30443

一旦这到位,您的服务应该可以通过节点的任何公共(public) IP 访问。你会发现它们:
gcloud compute instances list

关于kubernetes - 如何在 GCE 上将 NodePort 暴露给互联网,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42040238/

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