Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.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:push订阅者的pod之间的Pubsub消息_Google Cloud Platform_Google Cloud Pubsub_Google Kubernetes Engine - Fatal编程技术网

Google cloud platform GKE:push订阅者的pod之间的Pubsub消息

Google cloud platform GKE:push订阅者的pod之间的Pubsub消息,google-cloud-platform,google-cloud-pubsub,google-kubernetes-engine,Google Cloud Platform,Google Cloud Pubsub,Google Kubernetes Engine,我将GKE部署用于多个POD,我需要在POD之间发送和接收消息。我想用 我发现对于推送,我需要为订阅者POD配置https访问 为了接收推送消息,您需要一个可公开访问的HTTPS服务器来处理POST请求。服务器必须提供由证书颁发机构签名并可通过DNS路由的有效SSL证书。您还需要验证您是否拥有域(或者是否具有对端点的等效访问权限) 这是真的需要还是有一些解决办法。这是否意味着我应该使用入口公开每个用户机架,即使是内部通信?如果您只需要在某个端口上公开机架(用于机架间通信),那么您只需要通过针对该

我将GKE部署用于多个POD,我需要在POD之间发送和接收消息。我想用

我发现对于推送,我需要为订阅者POD配置https访问

为了接收推送消息,您需要一个可公开访问的HTTPS服务器来处理POST请求。服务器必须提供由证书颁发机构签名并可通过DNS路由的有效SSL证书。您还需要验证您是否拥有域(或者是否具有对端点的等效访问权限)


这是真的需要还是有一些解决办法。这是否意味着我应该使用入口公开每个用户机架,即使是内部通信?

如果您只需要在某个端口上公开机架(用于机架间通信),那么您只需要通过针对该端口的服务公开每个机架(在您的情况下为端口443)

例如,通过使用以下YAML,您可以创建以pod上的端口为目标的服务:

上面将创建一个服务,该服务以任何带有
run:my Pod
标签的Pod上的TCP端口443为目标。在文件中,
targetPort
是容器(pod内)接受流量的端口,
port
是抽象服务端口,可以是其他pod用于访问服务的任何端口)

编辑:

但是,如果您需要POD能够与Pub-Sub API通信,则需要外部通信能力,因此建议使用yes入口


在回答您在评论中提出的问题“我想知道为什么谷歌需要在某些内部请求中使用公共HTTPS访问Kubernetes”-原因是它不是内部请求。Pub-Sub API位于项目/网络之外,因此数据可以跨其他网络传输。为了确保安全,需要对其进行加密-这就是使用HTTPS的原因

我还不能确认这一点,但是根据本文,如果您可以通过向集群授予正确的服务帐户权限来验证云平台服务,那么您可以使用Pub/Sub推送机制在Kubernetes引擎上使用消息


编辑:好的,这只适用于基于拉的,但基于拉的模型可以更好地扩展任何一天,您有更多的控制:)

我需要可靠的消息提供程序。在谷歌云中,我认为它是pubsub。pubsub文档中写到:>n为了接收推送消息,您需要一个可公开访问的HTTPS服务器来处理POST请求。服务器必须提供由证书颁发机构签名并可通过DNS路由的有效SSL证书。您还需要验证您是否拥有该域(或具有对端点的等效访问权限)。我想知道为什么google需要在某些内部请求上使用公共https访问kubernetes。
apiVersion: v1
kind: Service
metadata:
  name: my-pod
  labels:
    run: my--pod
spec:
  ports:
  - port: 443
    targetPort: 443
    protocol: TCP
  selector:
    run: my-pod