Что такое Service Mesh и чем он отличается от Kubernetes
Облачные приложения часто проектируются как сложная сеть распределенных микросервисов, работающих в контейнерах. Запуск этих приложений в контейнерах использует Kubernetes как фактический стандарт для оркестровки контейнеров.
Разрастание микросервисов — это проблема, с которой сталкиваются многие компании, использующие микросервисы. Этот быстрый рост микросервисов создает проблемы, связанные со стандартизацией маршрутизации между несколькими сервисами, версиями, авторизацией, аутентификацией, шифрованием и балансировкой нагрузки, управляемыми кластером Kubernetes.
Улучшите свои навыки Kubernetes и завоюйте авторитет в этой области с помощью обучения по сертификации сертифицированного администратора Kubernetes. Зарегистрируйтесь сейчас!
Что такое Service Mesh?
Сетка сервисов — это слой для приложения микросервисов, который можно настроить. Сетка обеспечивает обнаружение микросервисов, балансировку нагрузки, шифрование, аутентификацию и авторизацию, которые являются гибкими, надежными и быстрыми.
Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)
Типичный способ реализации сервисной сетки — предоставление экземпляра прокси, называемого sidecar, для каждого экземпляра службы. Sidecars обрабатывают межсервисные коммуникации, мониторинг, проблемы, связанные с безопасностью — все, что можно абстрагировать от отдельных служб. Таким образом, разработчики могут сосредоточиться на разработке, поддержке и обслуживании кода приложения в службах; операции могут поддерживать сервисную сетку и запускать приложение.
С помощью Service Mesh вы можете разделить бизнес-логику приложения от наблюдаемости и сетевых политик и политик безопасности. Service Mesh позволит вам подключать, защищать и контролировать ваши микросервисы.
- Соединять: Service Mesh предоставляет сервисам возможность обнаруживать и общаться друг с другом. Он позволяет более эффективно маршрутизировать поток трафика и вызовы API между сервисами/конечными точками.
- Безопасный: Service Mesh предлагает вам надежную связь между службами. Вы можете использовать Service Mesh для обеспечения политик, разрешающих или запрещающих подключение. Например, вы можете настроить систему для запрета доступа к производственным службам из клиентской службы, работающей в среде разработки.
- Монитор: Service Mesh обеспечивает видимость вашей системы микросервисов. Service Mesh может интегрироваться с готовыми инструментами мониторинга, такими как Prometheus и Jaeger.
Эти ключевые функции обеспечивают контроль над поведением всей сети распределенных микросервисов, составляющих сложное облачное приложение.
Как Service Mesh и Kubrerenetes работают вместе
Если вы развертываете только базовый кластер Kubernetes без Service Mesh, вы столкнетесь со следующими проблемами:
- Безопасность между службами отсутствует.
- Отслеживание проблемы задержки обслуживания — сложная задача.
- Балансировка нагрузки ограничена.
Как вы видите, Service Mesh добавляет недостающий слой, который в настоящее время отсутствует в Kubernetes. Другими словами, service mesh дополняет Kubernetes.
Кто разрабатывает решения Service Mesh?
Тремя ведущими поставщиками Service Mesh являются:
Давайте рассмотрим каждый из них более подробно.
Консул
Consul — это полнофункциональный фреймворк управления сервисами. Consul начинался как способ управления сервисами, работающими на Nomad, и разросся до поддержки множества других центров обработки данных и платформ управления контейнерами, включая Kubernetes.
Дополнительная информация доступна на сайте Консул.ио.
К этому
Istio — это решение, родное для Kubernetes. Istio был разработан Lyft и теперь имеет поддержку от Google, IBM и Microsoft.
Istio разделяет свои данные и плоскости управления с помощью прокси-сервера с боковой загрузкой. Боковая загрузка кэширует информацию, чтобы не приходилось возвращаться к плоскости управления для каждого вызова. Кластер Kubernetes используется для управления плоскостями управления как модулями. Такая схема обеспечивает лучшую устойчивость в случае отказа одного модуля в любой части сервисной сетки.
Дополнительная информация доступна на Istio.io.
Левый
Linkerd также является популярным Service Mesh, работающим поверх Kubernetes, и благодаря его переписыванию в v2 его архитектура очень близка к Istio. Разница в том, что Linkerd делает акцент на простоте
Дополнительная информация доступна на сайте Linkerd.io.
Следующие шаги
Service Mesh — это не решение, которое можно запустить и запустить само по себе. Service Mesh должна быть связана со стратегией DevOps. Для следующих шагов вам нужно будет реализовать следующее:
- Вам понадобятся решения, работающие в облаке.
- Ваши решения должны использовать контейнеры (например, Docker).
- Вам понадобится использовать Kubernetes для управления контейнерами в облаке.
С этими тремя шагами у вас теперь есть базовая настройка для запуска Service Mesh. Я обнаружил, что Istio проще настроить с AWS, Microsoft Azure, Google Cloud и IBM. Причина в том, что каждый поставщик инвестирует в разработку Istio. Кроме того, сообщество DevOps вокруг Istio более надежно, чем конкурирующие продукты. При этом рынок Service Mesh все еще очень новый. Есть много возможностей для выхода других продуктов, которые предложат более простую настройку и большую функциональность.
В конечном итоге, это пространство стоит того, чтобы за ним следить. Следите за изменениями, применяемыми к Istio и другим продуктам. Старайтесь чаще тестировать новые продукты по мере созревания рынка.
Чтобы стать более опытным в Kubernetes и связанных с ним инструментах, вы можете пройти курсы Simplilearn по DevOps или комплексную программу сертификации DevOps. Если вы хотите укрепить свои навыки облачных вычислений, рассмотрите курсы Simplilearn по технологиям AWS, Azure и Google Cloud или магистерскую программу Simplilearn Cloud Architect, которая охватывает все три облачные платформы.
Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)