0

我正在尝试在本地 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/提供的示例项目进行配置

这是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 桌面应用程序恢复了我的 Kubernetes 并重新配置,但没有运气。

4

1 回答 1

1

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

于 2020-07-29T13:50:10.010 回答