Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google cloud platform GKE上的独立网络终结点组(NEG)不工作_Google Cloud Platform_Load Balancing_Google Kubernetes Engine - Fatal编程技术网

Google cloud platform GKE上的独立网络终结点组(NEG)不工作

Google cloud platform GKE上的独立网络终结点组(NEG)不工作,google-cloud-platform,load-balancing,google-kubernetes-engine,Google Cloud Platform,Load Balancing,Google Kubernetes Engine,我正在GKE上运行一个最小的有状态数据库服务。单节点集群。到目前为止,我已经将一个数据库设置为一个pod上的有状态集。数据库在特定端口上公开了一个管理控制台以及必需的数据库端口。我试图做两件事 通过全局HTTP(S)负载平衡器公开管理端口 公开GKE之外的数据库端口,供云功能或应用程序引擎应用程序使用 我的有状态集运行良好,我可以从容器日志中看到数据库已正确启动,并且正在侦听所需的端口 我正在尝试使用一个简单的ClusterIP服务设置一个独立的NEG(参考:) 集群服务运行良好,我可以使用

我正在GKE上运行一个最小的有状态数据库服务。单节点集群。到目前为止,我已经将一个数据库设置为一个pod上的有状态集。数据库在特定端口上公开了一个管理控制台以及必需的数据库端口。我试图做两件事

  • 通过全局HTTP(S)负载平衡器公开管理端口
  • 公开GKE之外的数据库端口,供云功能或应用程序引擎应用程序使用
我的有状态集运行良好,我可以从容器日志中看到数据库已正确启动,并且正在侦听所需的端口

我正在尝试使用一个简单的ClusterIP服务设置一个独立的NEG(参考:)

集群服务运行良好,我可以使用

kubectl get service service-name
但是我不认为NEG的设置是这样的。。。下面的命令不返回任何内容

$ gcloud compute network-endpoint-groups list
Listed 0 items.
我的pod公开了端口8080我的服务映射51000到8080,我已经提供了neg注释

cloud.google.com/neg: '{"exposed_ports": {"51000":{}}'
我没有看到任何错误,但也没有看到创建/列出的NEG

关于如何调试这个的任何建议

作为后续问题

  • 在通过全局负载平衡器公开NEG时,如何强制执行authn? 我可以使用服务帐户角色或oauth/openid

  • 我是否能够使用单个NEG公开多个端口?对于 e、 g.如果我想向我的全局负载平衡器公开一个端口 另一种是本地服务,是否可以使用单个NEG或 我是否应该使用专用ClusterIP服务公开每个端口

  • 在哪里可以找到google kubernetes的文档/规范 注释。我尝试使用 下面是注释语法。这是否得到支持/有意义

    cloud.google.com/neg:“{”暴露的_端口“{”51000:{},51010:{}”


提前感谢!

为了创建由网络端点组支持的服务,您需要在VPC本机的GKE群集上工作:

创建新群集时,默认情况下禁用此选项,您必须在创建时启用它。您可以通过GKE中的群集详细信息确认您的群集是否为VPC本机群集。它应该如下所示:

VPC-native (alias IP)   Enabled
如果群集不是VPC本机群集,您将无法按照其限制使用此功能:

如果您启用了VPC Native,请确保POD具有相同的标签“目的:”和“主题:”以确保它们是服务的成员:

kubectl get pods --show-labels
您还可以按照Kubernetes文档中的描述创建多端口服务:


谢谢。我最终从gke文档中发现了这一点,甚至让它工作起来。我应该更新这张罚单。顺便说一句,我没有名为“目的”和“主题”的标签,它仍然工作。