当前位置:  开发笔记 > 后端 > 正文

如何在GCE上将NodePort公开给互联网

如何解决《如何在GCE上将NodePort公开给互联网》经验,为你挑选了1个好方法。

如何NodePort使用类型的情况下将类型的服务公开给互联网LoadBalancer?我发现的每个资源都是通过使用负载均衡器来实现的.但我不希望负载平衡其昂贵和不必要的用例因为我正在运行一个postgres图像实例,它挂载到永久磁盘,我希望能够使用pgAdmin从我的PC连接到我的数据库.如果有可能,请提供更详细的答案,因为我是Kubernetes,GCE和网络的新手.

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



1> pagid..:

使用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

更多细节可以在文档中找到.使用的缺点NodePort是您必须自己负责与提供商防火墙集成.其起始端口也可以在官方文档的配置您的云提供商的防火墙部分中找到.

对于GCE开放,上述所有节点上的公开内容可能如下所示:

gcloud compute firewall-rules create myservice --allow tcp:30080,tcp:30443

一旦到位,您的服务应该可以通过节点的任何公共IP访问.你会发现它们:

gcloud compute instances list


有同样的问题,经过几个小时的学习后终于想出来了:我的服务`选择器`包含一个错误的旧部署名称(使用`kubectl公开部署错误 - 旧值'创建,所以看起来它做了一些事情虽然它实际上过滤了我的新部署.检查你的`选择器'家伙!
我无法正常工作。我完全按照您的指示进行操作,但是运行“ gcloud计算实例列表”时得到的3个IP都没有响应,我也不会忘记使用“ 30080”端口。还有什么我需要做的吗?
推荐阅读
路人甲
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有