0

我已经设置了 Istio 的“入口网关”来监听 8080,并且在运行 Knative hello-world 时遇到了问题。有人这样设置 Knative 吗?

我希望互联网流量进入端口 8080 以显示 Knative hello world 的输出。

4

2 回答 2

1

如果我理解这个问题,这类似于我在尝试在非标准端口上使用 Istio 入口网关配置 Knative 时遇到的问题。按照 Istio 集成的 Knative 说明,我应用了 Knative Istio 控制器(net-istio)。这包括networking.istio.io Gateway选择istio: ingressgateway指定端口 80 的选项。将此资源修改为正确的端口(问题中的 8080)应该可以解决问题。

于 2020-12-05T18:04:29.370 回答
1

如果您有一个现有的容器侦听端口 80 而不是$PORT,您可以设置spec.template.spec.containers[0].ports[0].containerPort以指示容器侦听的端口。

例如:

apiVersion: serving.knative.dev/v1
kind: Service
metadata:
 name: helloworld-go
 namespace: default
spec:
 template:
  spec:
   containers:
    - image: gcr.io/knative-samples/helloworld-go
      env:
      - name: TARGET
       value: "Go Sample v1"
      ports:
      - containerPort: 80

Knative 会自动将$PORT环境变量设置为请求的容器端口,因此设置 containerPort 应该适用于任何 Knative 示例。

于 2020-05-19T14:52:48.313 回答