KNative 与 Istio 监听端口 8080
KNative with Istio Listening on Port 8080
我已将 Istio 的 "ingress gateway" 设置为侦听 8080,但 运行 Knative hello-world 存在问题。有人像这样设置 Knative 吗?
我希望进入端口 8080 的互联网流量能够显示 Knative hello world 的输出。
如果您有一个侦听端口 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 示例。
如果我理解这个问题,这类似于我 运行 尝试在非标准端口上使用 Istio 入口网关配置 Knative 的问题。按照 Istio 集成的 Knative 说明,我应用了 Knative Istio 控制器 (net-istio)。这包括选择 istio: ingressgateway
的 networking.istio.io Gateway
,指定端口 80。将此资源修改为正确的端口(问题中的 8080)应该可以解决问题。
我已将 Istio 的 "ingress gateway" 设置为侦听 8080,但 运行 Knative hello-world 存在问题。有人像这样设置 Knative 吗?
我希望进入端口 8080 的互联网流量能够显示 Knative hello world 的输出。
如果您有一个侦听端口 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 示例。
如果我理解这个问题,这类似于我 运行 尝试在非标准端口上使用 Istio 入口网关配置 Knative 的问题。按照 Istio 集成的 Knative 说明,我应用了 Knative Istio 控制器 (net-istio)。这包括选择 istio: ingressgateway
的 networking.istio.io Gateway
,指定端口 80。将此资源修改为正确的端口(问题中的 8080)应该可以解决问题。