Google cloud platform GKE上的独立网络终结点组(NEG)不工作
我正在GKE上运行一个最小的有状态数据库服务。单节点集群。到目前为止,我已经将一个数据库设置为一个pod上的有状态集。数据库在特定端口上公开了一个管理控制台以及必需的数据库端口。我试图做两件事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(参考:) 集群服务运行良好,我可以使用
- 通过全局HTTP(S)负载平衡器公开管理端口
- 公开GKE之外的数据库端口,供云功能或应用程序引擎应用程序使用李>
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群集上工作:
VPC-native (alias IP) Enabled
如果群集不是VPC本机群集,您将无法按照其限制使用此功能:
kubectl get pods --show-labels
您还可以按照Kubernetes文档中的描述创建多端口服务: