kubernetes - GKE 上 istio-ingress 和 istio-ingressgateway 的区别

标签 kubernetes google-cloud-platform google-kubernetes-engine istio gke-networking

我对这两者感到困惑。两者都是在启用了 Istio 插件的 GKE 集群上配置的,都是 LoadBalancer 类型,但它们位于不同的命名空间上。他们的用例可能是什么?

gke-system 命名空间

vagrant@ubuntu-xenial:~/cloud_donws/iac$ kubectl get svc -n gke-system
NAME                    TYPE           CLUSTER-IP     EXTERNAL-IP      PORT(S)                                      AGE
cluster-local-gateway   ClusterIP      10.53.0.76     <none>           15020/TCP,80/TCP,443/TCP                     11h
istio-ingress           LoadBalancer   10.53.23.203   35.x.113.x   15020:31917/TCP,80:30102/TCP,443:31494/TCP   11h
istio-pilot             ClusterIP      10.53.20.61    <none>           15010/TCP,15011/TCP,8080/TCP,15014/TCP       11h

istio-system命名空间

vagrant@ubuntu-xenial:~/cloud_donws/iac$ kubectl get svc -n istio-system
NAME                     TYPE           CLUSTER-IP     EXTERNAL-IP      PORT(S)                                                                                                                                      AGE
istio-citadel            ClusterIP      10.53.19.175   <none>           8060/TCP,15014/TCP                                                                                                                           11h
istio-galley             ClusterIP      10.53.26.27    <none>           443/TCP,15014/TCP,9901/TCP                                                                                                                   11h
istio-ingressgateway     LoadBalancer   10.53.27.245   x.197.x.218   15020:31856/TCP,80:31966/TCP,443:30142/TCP,31400:30876/TCP,15029:30354/TCP,15030:32017/TCP,15031:32425/TCP,15032:32647/TCP,15443:31390/TCP   11h
istio-pilot              ClusterIP      10.53.11.103   <none>           15010/TCP,15011/TCP,8080/TCP,15014/TCP                                                                                                       11h
istio-policy             ClusterIP      10.53.0.53     <none>           9091/TCP,15004/TCP,15014/TCP                                                                                                                 11h
istio-sidecar-injector   ClusterIP      10.53.4.58     <none>           443/TCP                                                                                                                                      11h
istio-telemetry          ClusterIP      10.53.3.170    <none>           9091/TCP,15004/TCP,15014/TCP,42422/TCP                                                                                                       11h
promsd                   ClusterIP      10.53.15.102   <none>           9090/TCP                                                                                                                                     11h

就像 Google 的这个示例一样:

https://cloud.google.com/solutions/integrating-https-load-balancing-with-istio-and-cloud-run-for-anthos-deployed-on-gke

它指向 istio-ingress.gke-system.svc.cluster.local 而不是 istio-ingressgateway.istio-system.svc.cluster.local

enter image description here

最佳答案

您似乎已为此集群启用 Cloud Run。 Cloud Run 在 gke-system 命名空间上创建其控制平面,然后您已经安装了 Istio,默认情况下,它会在 istio-system 命名空间中创建控制平面。

有关更多详细信息,您可以查看此文档: https://cloud.google.com/kuberun/docs/setup#using_a_separate_istio_installation

它说:

  • istio-system 命名空间,以及使用其他 Istio 安装时默认设置的集群本地域 istio-ingressgateway.istio-system.svc.cluster.local。

  • gke-system 命名空间,以及使用默认 Cloud Run for Anthos on Google Cloud 安装设置的集群本地域 istio-ingress.gke-system.svc.cluster.local。

关于kubernetes - GKE 上 istio-ingress 和 istio-ingressgateway 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61436257/

相关文章:

docker - 如何确保Kubernetes中容器副本的就绪性?

kubernetes - Helm 3 : x509 error when connecting to local Kubernetes

javascript - 谷歌云功能不处理信号

google-cloud-datastore - 将生产云数据存储复制到开发服务器数据存储

kubernetes - 从 GKE 上的 pod 访问 GCP Cloud DNS

security - 撤销对谷歌容器引擎上的 kubernetes 集群的访问

kubernetes - 如何将网关绑定(bind)到特定的命名空间?

networking - Prometheus Pod无法调用apiserver端点

python - 使用 Python 在 Google Cloud Platform 存储桶内遍历目录树

docker - kubectl 在 mac 上的 docker 容器中失败,出现 "Unable to connect to the server: EOF"但在 linux 上没有