我创建了一个发布/订阅主题,每次将新对象上传到存储桶时,我都会向该主题发布消息。现在,我想创建一个订阅,以在每次将新对象上载到该存储桶时将通知推送到端点。根据文档,我想要这样的东西:
gcloud alpha pubsub subscriptions create orderComplete \
--topic projects/PROJECT-ID/topics/TOPIC \
--push-endpoint http://localhost:5000/ENDPOINT/
--ack-deadline=60
但是我的应用程序正在kubernetes上运行,看来pub / sub无法到达我的端点。有什么建议吗?
答案 0 :(得分:1)
为了使Cloud Pub / Sub将消息推送到您的应用程序,您需要提供一个公共可访问的端点。在Kubernetes中,这很可能意味着暴露Service。这样,您应该具有一个非本地(即没有“ localhost”)URL才能访问运行您的二进制文件的容器。
在创建Cloud Pub / Sub订阅之前,您还应该使用Cloud Console verify your domain。
最后,您可以通过changing its configuration将订阅设置为推送消息:
gcloud pubsub subscriptions modify-push-config mySubscription \
--push-endpoint="https://publicly-available-domain.com/push-endpoint"
答案 1 :(得分:1)
是的,因此@ jakub-bujny指出您需要SSL端点。因此,在GKE上,一种解决方案是将google's managed certificates与Ingress资源一起使用(链接向您展示如何使用)
答案 2 :(得分:0)
通常,推送端点必须是可公开访问的HTTPS 服务器,出示由证书签名的有效SSL证书 权威和可路由的DNS。
因此,您必须按照此处所述使用Ingress通过HTTPS公开服务: https://cloud.google.com/kubernetes-engine/docs/concepts/ingress