Ambassador Edge Stack:使用示例项目但不使用我的项目

Ambassador Edge Stack : Working with sample project but not with my project

我正在尝试将 Ambassador 配置为本地 kubernates 集群中的 API 网关。

安装:

  1. https://www.getambassador.io/docs/latest/tutorials/getting-started/ 安装 windows 和 Kubernetes 部分
  2. 可以使用 >edgectl login --namespace=ambassador localhost 登录并查看控制面板
  3. 使用他们从 https://www.getambassador.io/docs/latest/tutorials/quickstart-demo/
  4. 提供的示例项目进行配置

这是用于部署演示应用程序的 YML 文件

apiVersion: apps/v1
kind: Deployment
metadata:
  name: quote
  namespace: ambassador
spec:
  replicas: 1
  selector:
    matchLabels:
      app: quote
  strategy:
    type: RollingUpdate
  template:
    metadata:
      labels:
        app: quote
    spec:
      containers:
      - name: backend
        image: docker.io/datawire/quote:0.4.1
        ports:
        - name: http
          containerPort: 8080

一切都按预期进行。现在我正在尝试配置我的项目。但它不起作用。

因此,对于更简单的情况,将每个配置都保留为 Ambassador 的演示,我只是将 image: docker.io/datawire/quote:0.4.1 修改为 image: angularapp:latest,其中这是 docker 的图像Angular 10 项目。

但我得到 upstream connect error or disconnect/reset before headers. reset reason: connection failure

我花了一天时间解决这个问题。我从 docker 桌面应用程序恢复了我的 Kubernates 并重新配置但没有成功。

当映射有效但由于某种原因无法访问它指向的服务时会发生该错误。部署实际上是 运行 (kubectl get deploy -A -o wide)?您的 angular 应用程序是否公开了端口 8080? 8080 是一个非常常见的 kubernetes 端口,但在前端开发领域并不常见。如果你使用 kubectl exec -it {{AMBASSADOR_POD}} -- sh 是否 curl http://quote return 预期的输出?