知识:混淆服务名称和路由

时间:2019-10-08 21:31:12

标签: kubernetes knative gloo

我开始使用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 /

我很困惑。我想如果我在Plain GKE上安装Plain 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-backend-bdtr2-zz6t9-80
  2. 为什么我的80端口有两个上游端口?
  3. 这些带有端口9090和9091的上游是什么?
  4. 如何定义更多描述性名称? Gloo的系统上游被命名为nice,没有任何后缀。

1 个答案:

答案 0 :(得分:2)

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

  1. 我应该转到--data "{\"text\": \"<voice-transformation type='Custom' breathiness='35%' pitch='-80%' pitch_range='60%' glottal_tension='-40%' ><p><s>The visceral leishmaniasis, <break strength='500ms'></break>also known as kala-azar, <break strength='500ms'></break> <express-as type='Uncertainty'>is characterized by irregular bouts of fever, substantial weight loss, swelling of the spleen and liver, and anaemia.</express-as></s> <s>Visceral leishmaniasis is fatal in over 95% of cases if left untreated.</s></p></voice-transformation>\"}" \ 。可以通过运行implementation group: 'com.google.guava', name: 'guava', version: '28.1-android' 获得该值。
  2. 两个具有80端口的上游是Knative的占位符服务,它们路由到原始backend-bdtr2服务。当需要扩展服务时,它们将动态路由到knative激活器。显然,一个上游用于外部路由,第二个用于内部路由(但目前尚不确定)。
  3. 带有端口9090和9091的上游是knative边车。
  4. 名称是由knative生成的,显然目前尚无解决方案来为其提供描述性后缀。