#kubernetes #kubernetes-pod #kubernetes-deployment
#kubernetes #kubernetes-pod #kubernetes-развертывание
Вопрос:
В K8S нижеприведенное создает развертывание с n репликами —
$ kubectl run nginx --imaage nginx --replicas 6
Но как можно получить доступ к этим репликам с балансировкой нагрузки, поскольку у них нет какой-либо общей точки входа (например, службы, обернутой вокруг них).
Итак, какова цель того, чтобы развертывания могли масштабироваться ИЛИ как к ним можно получить доступ с балансировкой нагрузки (без службы, обернутой поверх развертывания).
Ответ №1:
Реплики
.spec.replicas
это необязательное поле, которое определяет количество желаемых модулей. По умолчанию используется значение 1. и это поможет replicaset управлять модулями, и желаемое количество модулей должно быть доступно независимо от того, какой контроллер-менеджер kubernetes позаботится об этом.
Ну, если вы запускаете развертывание без службы, то это не имеет никакого смысла, независимо от того, что вы масштабируете для 1 реплики или 6. Если вы создаете службу и сопоставляете ее с вашим развертыванием, kubernetes позаботится о балансировке нагрузки между модулями. Для получения дополнительной информации, пожалуйста, ознакомьтесь с этим разделом документовhttps://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
Комментарии:
1. хорошо сказано — оболочка сервиса необходима для раскрытия потенциала реплик.
Ответ №2:
Это зависит от вариантов использования, которые вы решаете с помощью развертывания. Для большинства вариантов использования приложения должны быть предоставлены службой через HTTP / TCP, чтобы получать трафик и балансировать нагрузку между репликами.
Некоторые приложения не обязательно должны предоставляться службой и балансироваться по нагрузке на уровне HTTP или TCP, но для запуска с использованием развертывания может потребоваться несколько реплик.Например, если у вас есть приложение, отличное от HTTP / TCP, которое периодически обрабатывает пакет записей или запускается внешним событием, отличным от HTTP / TCP. Развертывание в этом случае имеет смысл, потому что вы можете легко масштабировать вверх / вниз или выполнять откат и использовать другие ключевые функции, предоставляемые deployment.
Короче говоря, в зависимости от вариантов использования развертывание без службы иногда имеет смысл. Сервис необходим только для балансировки нагрузки между несколькими репликами на уровне HTTP / TCP.
Комментарии:
1. Пакеты являются хорошими вариантами использования реплик развертываний без обслуживания