Knative: запутанные имена сервисов и маршрутизация - PullRequest
0 голосов
/ 09 октября 2019

Я начинаю с 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 /

И я в замешательстве. Я полагаю, это было бы проще, если бы я просто установил обычный gloo на простой gke. Но в 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 названы лучше без постфикса.

1 Ответ

2 голосов
/ 09 октября 2019

Благодаря большой помощи сообщества на solo.io slack, у меня есть ответы.

  1. Я должен направиться к backend-bdtr2. Это значение можно получить, запустив kubectl get proxy -n gloo-system knative-external-proxy -oyaml.
  2. Два восходящих потока с портом 80 - это сервис-заполнитель Knative, перенаправляющий на исходный сервис backend. Они будут динамически направляться к активатору knative, когда необходимо расширить сервис. По-видимому, один входящий канал предназначен для внешней, а второй - для внутренней маршрутизации (но пока не уверен).
  3. Восходящие потоки с портами 9090 и 9091 являются сопутствующими колясками.
  4. Имена генерируются knative ипо-видимому, сейчас нет решения, чтобы иметь описательный постфикс для них.
...