Должен ли я зарегистрировать службу pod или kubernete, чтобы консультироваться с кластером kubernetes? - PullRequest
0 голосов
/ 12 октября 2018

Я развернул оцелота и консула в кластере kubernetes.Ocelot выступает в роли шлюза API, который будет распространять запрос во внутренние службы.А консул отвечает за обнаружение услуг и проверку работоспособности.(Кстати, я развернул консула в кластере kubernetes, следуя официальному документу консула ).

И мой сервис (то есть основной веб-интерфейс asp.net) также развернут в кластере kubernetes с 3реплики.Я не создал сервисный объект kubernete, так как эти модули будут поглощаться только оцелотом, который находится в том же кластере.

Архитектура выглядит примерно так:

            ocelot
              |
            consul
              /\
       webapi1 webapi2 ...
        (pod)   (pod)  ...

Кроме того,ИМО, консул может отменить регистрацию модуля (webapi), когда модуль мертв.поэтому я не вижу необходимости создавать объект службы kubernete

Теперь Мой вопрос: Правильно ли регистрировать каждый модуль (webapi) у консула при запуске модуля?Или я должен создать сервисный объект kubernete перед этими модулями (webapi) и зарегистрировать сервисный объект у консула?

1 Ответ

0 голосов
/ 12 октября 2018
  • Headless Service является ответом

Среда Kubernetes является более динамичной по своей природе.

отмена регистрации службы, когда модульмертв

Да

Стручки Кубернетеса смертны.Они рождаются, и когда они умирают, они не воскресают.В то время как каждый модуль получает свой собственный IP-адрес, даже на эти IP-адреса нельзя полагаться как стабильные с течением времени.Сервис Kubernetes - это абстракция, которая определяет логический набор модулей и обеспечивает стабильный ip

. Поэтому рекомендуется использовать headless service, который в основном соответствует этой ситуации.Как они упоминали в первой строке в документах

Иногда вам не требуется или не требуется балансировка нагрузки и один IP-адрес службы.В этом случае вы можете создать «безголовые» службы, указав «None» для IP-адреса кластера (.spec.clusterIP)

безголовая служба не получает ClusterIP.Если вы сделаете nslookup на сервере без головы, он разрешит все IP-адреса модулей, которые находятся в режиме без головы.K8s позаботится о добавлении / управлении IP-адресом модуля в режиме безголового обслуживания.Пожалуйста, для более подробной информации.И я верю, что вы можете зарегистрировать / предоставить это название безголового сервиса в Cosule.

  • Пожалуйста, обратитесь к этому блогу для подробного здесь

ОБНОВЛЕНИЕ1:

Пожалуйста, обратитесь к этому Youtube видео .Может дать вам некоторую идею. (Даже я должен смотреть это .. !!)

...