我正在尝试按照 https://istio.io/latest/docs/examples/bookinfo/
中的教程使用 Gateway API CRD 将 Gateway 安装到我的 Kind 集群中我对这个命令没有任何问题
curl https://raw.githubusercontent.com/istio/istio/release-1.17/samples/bookinfo/gateway-api/bookinfo-gateway.yaml | kubectl apply -f -
但是,命令
kubectl wait --for=condition=ready gtw bookinfo-gateway
给了我这个:
error: timed out waiting for the condition on gateways/bookinfo-gateway
我也在 Minikube 中尝试过,但没有成功。
这些 CRD 在 k8s(Minikube 和 Kind)平台上都受支持吗?
正如Istio教程提到的,你的k8s集群应该支持LoadBalancer。在 Minikube 中,您必须启动隧道(并保持打开状态)才能使用 LoadBalancer。
minikube tunnel
一旦隧道启动,istio-ingressgateway LB 就会获取 EXTERNAL-IP,如下所示。然后流量被发送到入口网关。
NAMESPACE NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
istio-system istio-ingressgateway LoadBalancer 10.97.104.172 127.0.0.1 15021:32621/TCP,80:32453/TCP,443:30142/TCP,31400:32713/TCP,15443:32441/TCP 25m