Knative:混淆服务名称和路由



我开始使用Kubernetes,Knative和Gloo。我的目标是将一个简单的 http 服务部署到 gke 集群。我已经设法设置了knative,gloo并在那里部署了一个名为backend的健康服务。下一步是设置 路由/api/v1->backend。我已经创建了一个名为public-api的虚拟服务,现在我需要添加一个路由。根据文档,我需要运行

glooctl add route 
--path-exact /api/v1 
--dest-name ???dest-name??? 
--prefix-rewrite /

我很困惑。我想如果我只是在普通 gke 上安装普通 gloo,这会更容易。但是在Knative,我看到了四个上游:

| mb-backend-bdtr2-4tdfq-9090                             | Kubernetes | Accepted | svc name:                      |
|                                                         |            |          | backend-bdtr2-4tdfq            |
|                                                         |            |          | svc namespace: mb              |
|                                                         |            |          | port:          9090            |
|                                                         |            |          |                                |
| mb-backend-bdtr2-4tdfq-9091                             | Kubernetes | Accepted | svc name:                      |
|                                                         |            |          | backend-bdtr2-4tdfq            |
|                                                         |            |          | svc namespace: mb              |
|                                                         |            |          | port:          9091            |
|                                                         |            |          |                                |
| mb-backend-bdtr2-80                                     | Kubernetes | Accepted | svc name:      backend-bdtr2   |
|                                                         |            |          | svc namespace: mb              |
|                                                         |            |          | port:          80              |
|                                                         |            |          |                                |
| mb-backend-bdtr2-zz6t9-80                               | Kubernetes | Accepted | svc name:                      |
|                                                         |            |          | backend-bdtr2-zz6t9            |
|                                                         |            |          | svc namespace: mb              |
|                                                         |            |          | port:          80              |

我有四个问题:

  1. 使用哪一个?MB-backend-BDTR2-80 或 MB-后端-BDTR2-ZZ6T9-80
  2. 为什么我有两个端口为 80 的上游?
  3. 这些端口为 9090 和 9091 的上游是什么?
  4. 如何定义更具描述性的名称?Gloo的系统上游被命名为更好,没有任何后缀。

感谢社区对 solo.io 松弛的帮助,我得到了答案。

  1. 我应该路由到backend-bdtr2.可以通过运行kubectl get proxy -n gloo-system knative-external-proxy -oyaml来获取此值。
  2. 两个具有 80 端口的上游是 Knative 的占位符服务,路由到原始backend服务。当服务需要纵向扩展时,它们将动态路由到 knative 激活器。显然,上游一个用于外部路由,第二个用于内部路由(但目前不确定(。
  3. 端口为 9090 和 9091 的上游是原生挎斗。
  4. 名称是由 knative 生成的,显然现在没有解决方案可以为它们提供描述性后缀。

相关内容

  • 没有找到相关文章

最新更新