Knative имеет новую концепцию (CRD), известную как бессерверная служба, которая создается для каждой Knative-службы.
Бессерверная служба создает две службы Kubernetes:
- Частная служба, предназначенная для ваших модулей приложений. Это необходимо для обнаружения IP-адресов подов.
- Общедоступная служба является целевой входным шлюзом, и в зависимости от режима, в котором она находится (подробнее об этом позже), она будет указывать на те же конечные точки, что и первая служба. или на конечные точки службы активатора.
Бессерверные режимы обслуживания
Бессерверные службы могут находиться в одном из следующих режимов:
Режим обслуживания
Бессерверная служба находится в режиме обслуживания до тех пор, пока работают экземпляры подов вашего приложения. Таким образом, ваша общедоступная служба настроена с конечными точками из вашей частной службы, а это означает, что запросы, перенаправленные входным шлюзом, достигают вашего приложения, как показано на диаграмме ниже:
- hello-go-pb - это госуслуга.
- hello-go-pr - это частный сервис.
Прокси-режим
Когда экземпляры вашего приложения уменьшаются с помощью автомасштабирования, бессерверный сервисный контроллер обновляет общедоступную службу для настройки IP-адресов, обнаруженных службой Activator. Что запускает автомасштабирование, буферизует запрос до тех пор, пока одна служба не будет запущена и не пересылает запрос. Режим прокси можно увидеть на схеме ниже:
Подводя итог, бессерверный контроллер устанавливает конечные точки общедоступной службы, чередуя конечные точки частной службы или, если она уменьшена до нуля, до конечных точек службы активатора.
person
Rinor
schedule
14.11.2019