как кубернетес гарантирует надежность прокси и кублета?

Если прокси-сервер Kube не работает, модули на узле Kubernetes не смогут связываться с внешним миром. Что делает Kubernetes специально, чтобы гарантировать надежность kube-proxy?

Точно так же, как Kubernetes гарантирует надежность kubelet?


person yuyang    schedule 24.07.2019    source источник
comment
Kubernetes в какой-то степени есть кубелет.   -  person zerkms    schedule 24.07.2019


Ответы (1)


Это гарантирует их надежность за счет:

  • Наличие нескольких узлов: если один kubelet выходит из строя, один узел выходит из строя. Точно так же каждый узел запускает экземпляр kube-proxy, что означает, что потеря одного узла означает потерю экземпляра kube-proxy на этом узле. Kubernetes предназначен для обработки сбоев узлов. И если вы разработали свое приложение, работающее в Kubernetes, с возможностью масштабирования, вы будете запускать его не как один экземпляр, а как несколько экземпляров - и kube-scheduler распределяет вашу рабочую нагрузку по нескольким узлам, что означает, что ваше приложение по-прежнему будет доступно.

  • Поддержка высокодоступной настройки: если вы настроили кластер Kubernetes в Режим высокой доступности правильно, главный узел будет не один, а несколько. Это означает, что вы даже можете смириться с потерей некоторых мастер-узлов. Управляемые предложения Kubernetes облачных провайдеров всегда высокодоступны.

Это первые 2 вещи, которые приходят мне в голову. Однако это широкий вопрос, поэтому я могу вдаваться в подробности, если вы немного уточните, что вы подразумеваете под «надежностью».

person Utku Özdemir    schedule 24.07.2019
comment
Как насчет запуска службы с отслеживанием состояния в Kubernetes? Если несколько kubelet аварийно завершатся, возможна потеря данных из-за ограниченного количества реплик. - person yuyang; 24.07.2019
comment
@yuyang Управление сервисами с отслеживанием состояния - сложная проблема, которую нужно решать в любой среде, и в Kubernetes она не исключение. Таким образом, он не может гарантировать согласованность данных или отсутствие потери данных - он просто предоставляет (насколько это возможно) примитивы / механизмы для создания устойчивых приложений с отслеживанием состояния. Но, тем не менее, разработчики приложений играют большую роль в рассмотрении потерь узлов / подов, попытках восстановления после различных сценариев сбоя и так далее. Чтобы узнать больше о StatefulSets: kubernetes.io/docs/concepts/workloads/controllers/statefulset - person Utku Özdemir; 24.07.2019