0

我最近成功地将我的 Vue.JS webapp 部署到 Cloud Run。之前 webapp 是由 Kubernetes 部署和服务部署的。我还运行了一个 Ingress,将我的 http 请求重定向到该服务。现在 Cloud Run 接手了这项工作。

不幸的是,新的 Cloud Run 驱动的 Knative“服务”似乎不再起作用了。

我的 Ingress 向我显示以下错误消息:

在此处输入图像描述 (我的应用程序名称在哪里importer-controlroom

错误消息对我来说是不可理解的。我在此尝试为您提供更多信息,您可能会帮助我解决这个问题。

这是当前已创建的资源列表。我特别在看importer-controlroom-frontend External Name。我有点认为这是取代旧服务的服务?

在此处输入图像描述

因为我在入口规则中使用了它的名称来将其映射到域,如您在此处看到的:

在此处输入图像描述

Ingress 中的错误消息说:

could not find port "80" in service "dev/importer-controlroom-frontend"

但是 Cloud Run 修订版显示正在提供端口 80:

在此处输入图像描述

我的一个朋友将我重定向到这篇文章:https://cloud.google.com/solutions/integrating-https-load-balancing-with-istio-and-cloud-run-for-anthos-deployed-on-gke? hl=de#handling_health_check_requests

不幸的是,我不知道它在说什么。事实是我们正在使用 Istio,但我没有对其进行配置,并且对于这种特殊情况很难理解它。

INFO_1

Dockerfile 包含:

EXPOSE 80
CMD [ "http-server", "dist", "-p 80"]
4

1 回答 1

0

Cloud Run for Anthos 应用不适用于 GKE Ingress。

Knative 服务通过istio-ingress在 gke-system 命名空间上调用的公共网关服务公开:

$ kubectl get svc -n gke-system
NAME                    TYPE           CLUSTER-IP    EXTERNAL-IP
istio-ingress           LoadBalancer   10.4.10.33    35.239.55.104

域名等在 Cloud Run for Anthos 上的工作方式非常不同,因此请务必阅读相关文档。

于 2020-07-22T20:17:54.410 回答