Общие сведения о кластерах Service Fabric в Azure
Кластер Service Fabric — это подключенный к сети набор виртуальных машин или физических компьютеров, в котором вы развертываете микрослужбы и управляете ими. Узлом кластера называется компьютер или виртуальная машина, которая входит в состав кластера. Кластеры можно масштабировать до нескольких тысяч узлов. Если вы добавите новые узлы в кластер, реплики раздела службы подвергнутся повторной балансировке Service Fabric с учетом этих узлов. Общая производительность приложения улучшится, а конфликт доступа к памяти уменьшится. При неэффективном использовании узлов в кластере вы можете уменьшить их количество. Service Fabric снова перераспределит реплики и экземпляры секции по меньшему количеству узлов, чтобы эффективно использовать оборудование на каждом узле.
Тип узла определяет размер, количество и свойства набора узлов (виртуальных машин) в кластере. Каждый тип узла поддерживает возможность независимого масштабирования, имеет разные наборы открытых портов и собственные метрики емкости. Типы узлов используются для определения ролей набора узлов кластера, например "интерфейсная часть" или "серверная часть". В кластере могут быть узлы нескольких типов. Тип основных узлов должен включать не менее пяти виртуальных машин для производственных кластеров и не менее трех виртуальных машин для тестовых кластеров. Системные службы Service Fabric размещаются на узлах основного типа.
Компоненты и ресурсы кластера
Кластер Service Fabric в Azure — это ресурс Azure, который использует другие ресурсы Azure и взаимодействует с ними, в частности:
- виртуальными машинами и виртуальными сетевыми картами;
- Наборы для масштабирования виртуальных машин
- виртуальные сети.
- подсистемами балансировки нагрузки;
- учетные записи хранения
- общедоступными IP-адресами.
Виртуальная машина
Виртуальная машина в составе кластера называется узлом, хотя технически узел кластера является процессом среды выполнения Service Fabric. Каждому узлу назначается имя (строка). Узлы имеют свои характеристики, в частности свойства размещения. У каждого компьютера или виртуальной машины есть автоматически запускаемая служба FabricHost.exe. Она запускается во время загрузки системы и запускает два исполняемых файла: Fabric.exe и FabricGateway.exe, которые формируют узел. Развертывание в рабочей среде — это один узел на физическую или виртуальную машину. В сценариях тестирования на одном компьютере или виртуальной машине можно разместить несколько узлов. Для этого нужно запустить несколько экземпляров Fabric.exe и FabricGateway.exe.
Каждая виртуальная машина связана с картой виртуального сетевого интерфейса (NIC), и каждой сетевой карте назначается частный IP-адрес. Виртуальная машина назначается виртуальной сети и локальной подсистеме балансировки с использованием сетевой карты.
Все виртуальные машины в кластере размещаются в виртуальной сети. Все узлы одного типа и масштабируемого набора размещаются в одной подсети виртуальной сети. Эти узлы имеют только частные IP-адреса и не могут быть напрямую адресуемыми вне виртуальной сети. Клиенты могут получать доступ к службам на узлах с помощью подсистемы балансировки нагрузки Azure.
Масштабируемый набор и тип узла
При создании кластера определяется один или несколько типов узлов. Узлы, или виртуальные машины, в типе узла имеют одинаковый размер и характеристики, такие как количество ЦП, объем памяти, количество дисков и дисковые операции ввода-вывода. Например, один тип узла может быть предназначен для небольших интерфейсных виртуальных машин с портами, открытыми для доступа в Интернет, а другой — для больших внутренних виртуальных машин, обрабатывающих данные. В кластерах Azure каждый тип узла сопоставляется масштабируемому набору виртуальных машин.
Их можно использовать для развертывания коллекций виртуальных машин и управления ими в качестве набора. Каждый тип узла, который вы определяете в Azure Service Fabric, настраивает отдельный масштабируемый набор. Среда выполнения Service Fabric загружается на каждую виртуальную машину в масштабируемом наборе с помощью расширений виртуальных машин Azure. Все типы узлов можно масштабировать независимо друг от друга, изменять номер SKU операционной системы, работающей на узле кластера, открывать разные наборы портов и использовать различные метрики производительности. Масштабируемый набор содержит пять доменов обновления и пять доменов сбоя и может содержать до 100 виртуальных машин. Вы можете создавать кластеры из более чем 100 узлов путем создания нескольких масштабируемых наборов и типов узлов.
Внимание
Важно выбрать правильное количество типов узлов для кластера и свойства каждого типа узла (размер, первичный узел, выход в Интернет, количество виртуальных машин и т. д.). Дополнительные сведения см. в статье Рекомендации по планированию загрузки кластера Service Fabric.
Дополнительные сведения см. в статье Типы узлов Azure Service Fabric и масштабируемые наборы виртуальных машин.
Azure Load Balancer
Экземпляры виртуальных машин объединяются за подсистемой балансировки нагрузки Azure, которая связана с общедоступным IP-адресом и меткой DNS. При подготовке кластера с именем <имя_кластера> DNS-имя <имя_кластера>.<расположение>.cloudapp.azure.com — это метка DNS, связанная с подсистемой балансировки нагрузки Azure, размещенной перед масштабируемым набором.
Виртуальные машины в кластере имеют только частные IP-адреса. Трафик управления и трафик служб маршрутизируются через общедоступную подсистему балансировки нагрузки. Сетевой трафик на эти машины маршрутизируется через правила NAT (клиенты подключаются к определенным узлам или экземплярам) или правила балансировки нагрузки (трафик поступает на виртуальные машины циклически). Подсистема балансировки нагрузки имеет связанный общедоступный IP-адрес с DNS-именем в формате <имя_кластера>.<расположение>.cloudapp.azure.com. Общедоступный IP-адрес представляет собой еще один ресурс Azure в группе ресурсов. При определении нескольких типов узлов в кластере для каждого типа узла или масштабируемого набора создается подсистема балансировки нагрузки. Можно также настроить одну подсистему балансировки нагрузки для нескольких типов узлов. Тип первичного узла имеет DNS-метку <имя_кластера>.<расположение>.cloudapp.azure.com, а другие типы узлов имеют DNS-метку <имя_кластера>-<тип_узла>.<расположение>.cloudapp.azure.com.
Учетные записи хранения
Каждый тип узла кластера поддерживается учетной записью хранения Azure и управляемыми дисками.
Безопасность кластера
Кластер Service Fabric — это ресурс, владельцем которого являетесь вы. Вам следует защитить кластеры, чтобы к ним не смогли подключиться неавторизованные пользователи. Защита кластера особенно важна при выполнении на нем производственных рабочих нагрузок.
безопасность обмена данными между узлами;
Безопасность между узлами обеспечивает защиту обмена данными между виртуальными машинами и компьютерами в кластере. Такая защита гарантирует, что размещать приложения и службы в кластере смогут владельцы только тех компьютеров, которые прошли авторизацию для подключения к кластеру. Service Fabric использует сертификаты X.509 для защиты кластера и обеспечения функций безопасности приложений. Сертификат кластера требуется для защиты трафика в кластере и выполнения аутентификации на сервере и на кластере. Самозаверяющие сертификаты можно использовать в целях проверки кластера, однако для защиты рабочих кластеров рекомендуется использовать сертификат, подписанный доверенным центром сертификации.
Дополнительные сведения см. в разделе Безопасность обмена данными между узлами.
безопасность обмена данными между клиентами и узлами;
При безопасном обмене данными между клиентами и узлами используется аутентификация клиентов, а также обеспечивается защищенное взаимодействие между клиентом и отдельными узлами в кластере. Этот тип защиты обеспечивает доступ к кластеру и приложениям, развернутым в нем, только для авторизованных пользователей. Клиенты однозначно определяются с помощью учетных данных безопасности сертификата X.509. Чтобы выполнить на кластере аутентификацию таких клиентов, как администратор или пользователь, можно использовать любое количество необязательных клиентских сертификатов.
Помимо сертификатов клиентов идентификатор Microsoft Entra также можно настроить для проверки подлинности клиентов в кластере.
Дополнительные сведения см. в разделе Безопасность обмена данными между клиентами и узлами.
Управление доступом на основе ролей
Система управления доступом на основе ролей (Azure RBAC) позволяет точно управлять доступом к ресурсам Azure. Подпискам, группам ресурсов и ресурсам можно назначить разные правила доступа. Правила Azure RBAC наследуются по иерархии ресурсов, если они не переопределены на более низком уровне. Вы можете назначить любые группы пользователей или пользователей в идентификаторе Microsoft Entra с помощью правил Azure RBAC, чтобы назначенные пользователи и группы могли изменять кластер. Дополнительные сведения в статье Что такое управление доступом на основе ролей (RBAC)?
Service Fabric также поддерживает управление доступом, чтобы ограничить доступ к определенным операциям в кластере для разных групп пользователей. Это позволит обеспечить более надежную защиту кластера. Для клиентов, подключающихся к кластеру, поддерживаются два типа управления доступом: роль администратора и роль пользователя.
Дополнительные сведения см. в разделе Управление доступом на основе ролей Service Fabric.
Группы безопасности сети
Группы безопасности сети (NSG) управляют входящим и исходящим трафиком подсети, виртуальной машины или определенной сетевой карты. По умолчанию при размещении нескольких виртуальных машин в одной виртуальной сети они могут взаимодействовать друг с другом через любой порт. Если требуется ограничить обмен данными между компьютерами, с помощью групп безопасности сети можно сегментировать сеть или изолировать виртуальные машины друг от друга. Если в кластере имеется несколько типов узлов, можно применить группы безопасности сети к подсетям, чтобы предотвратить взаимодействие компьютеров, принадлежащих к узлам разных типов.
Дополнительные сведения о группах безопасности см. в этой статье.
Масштабирование
Требования приложения со временем изменяются. Вам может понадобиться увеличить ресурсы кластера, чтобы удовлетворить повышенную рабочую нагрузку на приложения и высокий трафик, или уменьшить ресурсы кластера при снижении спроса. После создания кластера Service Fabric можно масштабировать кластер горизонтально (изменение количества узлов) и вертикально (изменение ресурсов узлов). Кластер можно масштабировать в любое время, даже когда в нем выполняются рабочие нагрузки. Вместе с кластером автоматически масштабируются ваши приложения.
Дополнительные сведения см. в статье Масштабирование кластеров Azure Service Fabric.
Обновление
Кластер Service Fabric Azure представляет собой ресурс, который принадлежит вам, но частично управляется корпорацией Майкрософт. Корпорация Майкрософт отвечает за исправление базовой операционной системы и обновление среды выполнения Service Fabric в кластере. Вы можете настроить для кластера автоматическое обновление среды выполнения по мере выпуска новых версий корпорацией Майкрософт или же выбрать нужную версию в списке поддерживаемых. Кроме обновлений среды выполнения вы можете также обновить конфигурацию кластера, например сертификаты или порты приложения.
Дополнительные сведения см. в статье Обновление кластера Azure Service Fabric.
Поддерживаемые операционные системы
Дополнительные сведения см. в статье Поддерживаемые версии в Azure.
Следующие шаги
Ознакомьтесь со статьями о защите, масштабировании и обновлении кластеров Azure.
Узнайте о вариантах поддержки Service Fabric.