Поделиться через


Создание поддерживаемой локальной среды выполнения интеграции Kubernetes и управление ею

В этой статье рассматриваются сведения о новой функции SHIR на основе Kubernetes для Linux, которая улучшает базовую инфраструктуру, обеспечивая ряд преимуществ:

  • Масштабируемость: возможность масштабирования до сотен компьютеров.
  • Производительность: повышена производительность при проверке рабочих нагрузок.
  • Безопасность (контейнерная). Возможность обеспечения контейнерной безопасности в кластере Kubernetes вместо размещения SHIR на компьютере с Windows напрямую.

В этой статье рассматриваются сведения об установке локальной среды выполнения интеграции, поддерживаемой Kubernetes, и управлении ею.

Поддерживаемые источники данных

Список всех поддерживаемых источников см. в разделе Поддерживаемые источники данных для каждой таблицы среды выполнения интеграции.

Архитектура

В представлении архитектуры высокого уровня при установке SHIR на основе Kubernetes несколько модулей pod автоматически создается на узлах кластера Kubernetes пользователей. Эту установку можно запустить с помощью средства командной строки IRCTL (дополнительные сведения см. в следующих разделах). IRCTL подключается к службе Microsoft Purview, чтобы зарегистрировать SHIR и подключиться к кластеру Kubernetes для установки SHIR. 

Во время установки образы SHIR загружаются из MCR (реестры контейнеров Майкрософт) в модули pod SHIR. После установки модули pod в кластере пользователей подключатся к службе Microsoft Purview для извлечения заданий сканирования. При извлечении задания сканирования он может подключать локальный источник данных пользователей для сканирования данных.

Инфографика сетевой архитектуры для локальной среды выполнения интеграции, поддерживаемой Kubernetes.

Предварительные условия

  • Учетная запись Microsoft Purview, использующий корпоративные решения для управления данными.

  • Кластер Kubernetes. Необходимо иметь существующий кластер Kubernetes под управлением Linux или подготовить его. Узлы можно определить с помощью селектора узлов, который следует определению селектора узлов Kubernetes. Минимальная конфигурация:

    • Тип контейнера: Linux
    • Kubernetes версии: 1.24.9 или более поздней
    • ОС узла: ОС на основе Linux, запущенная в архитектуре x86
    • Спецификация узла: не менее восьми ядер ЦП, 32 ГБ памяти и не менее 80 ГБ свободного места на жестком диске
    • Количество узлов: >=1 (должно быть исправлено, не включать автоматическое масштабирование кластера)
    • Номер pod на узел: >= 20 (максимальное число pod — количество других объектов Pod, не принадлежащих Self-Hosted IR)

    Примечание.

    Папка /var/irstorage/ каждого узла зарезервирована для SHIR. Он доступен для чтения и записи в SHIR. Вы можете получать журналы, сохраняемые из этой папки, или передавать в нее внешние драйверы. Он будет создан SHIR, если он не существует, и не будет удален после удаления SHIR. Образы контейнеров, используемые SHIR, управляются сборкой мусора Kubernetes, которая не будет очищена SHIR. Настройте правильное пороговое значение для кластера Kubernetes.

  • Сеть кластера Kubernetes. Кластер Kubernetes должен иметь возможность подключения к конечной точке, указанной в разделе Требования к сети.

  • Средство командной строки среды выполнения интеграции. Для локального управления SHIR Kubernetes Microsoft Purview требуется средство командной строки IRCTL. Это средство можно скачать во время создания SHIR. IRCTL — это средство командной строки для управления SHIR Microsoft Purview. Дополнительные сведения см. в документации по IRCTL.

  • Контекст Kubernetes. Контекст Kubernetes, содержащий сведения о кластере Kubernetes, а также разрешения и учетные данные пользователя для этого кластера, необходим для взаимодействия с кластером Kubernetes. Чтобы упростить настройку разрешений пользователя для управления SHIR, можно начать с kubernetes Администратор роли. Этот контекст создается при настройке кластера Kubernetes и сохраняется в файле конфигурации. Где и как можно получить этот файл, зависит от настройки кластера Kubernetes.
    • Если вы используете kubeadm init для настройки кластера Kubernetes, файл конфигурации можно найти в разделе /etc/Kubernetes/admin.conf.
    • Если вы используете AKS, вы можете следовать инструкциям AKS, чтобы использовать команду az PowerShell module для получения учетных данных этого кластера на локальном компьютере. Контекст можно объединить с файлом конфигурации непосредственно в разделе $HOME/.kube/config .
    • Если вы используете другие средства для настройки кластера Kubernetes, обратитесь к документации по Kubernetes.
    • Так как у вас есть файл конфигурации контекста Kubernetes, объедините его с файлом конфигурации , который является $HOME/.kube/config, на компьютере, на котором вы хотите выполнить команду IRCTL. Можно также задать файл конфигурации контекста Kubernetes в переменной среды с именем KUBECONFIG. Дополнительные сведения о контексте Kubernetes см. в разделе Настройка доступа к нескольким кластерам.

Создание поддерживаемой локальной среды выполнения интеграции Kubernetes

Для управления SHIR Kubernetes пользователи могут скачать программу командной строки С именем IRCTL. Ниже приведены шаги для локальной среды выполнения интеграции, поддерживаемой Kubernetes.

Вам потребуется скачать IRCTL, но прямые ссылки см. в документации по IRCTL.

Настройка локальной среды выполнения интеграции, поддерживаемой Kubernetes

  1. Откройте окно Среды выполнения интеграции в Схема данных Microsoft Purview

  2. Нажмите кнопку + Создать.

    Снимок экрана: окно среды выполнения интеграции в Схема данных Microsoft Purview.

  3. Выберите Локальный, а затем нажмите кнопку Продолжить.

    Снимок экрана: новое окно среды выполнения интеграции с выбранным локальным размещением.

  4. Присвойте среде выполнения имя, а затем выберите переключатель поддержки службы Kubernetes , чтобы включить.

    Снимок экрана: новое окно среды выполнения интеграции с включенным переключателем Kubernetes.

  5. Нажмите кнопку Создать

  6. Выберите Получить регистрационный ключ.

    Снимок экрана: страница просмотра среды выполнения интеграции с выделенной кнопкой Получить ключ регистрации.

  7. Скопируйте значение ключа. Он понадобится для выполнения команд в IRCTL позже.

    Совет

    При необходимости можно повторно создать ключ или отозвать созданный ключ.

  8. Щелкните ссылку Скачать IRCTL и установить среду выполнения интеграции , чтобы скачать средство IRCTL. (Вы также можете выполнить эти действия, чтобы скачать IRCTL напрямую.)

  9. На компьютере, где вы хотите запустить командную строку IRCTL, установите IRCTL из скачивания. IRCTL подключается к кластеру Kubernetes по контексту конфигурации Kube. Если контекст не указан, IRCTL использует текущий контекст. Контекст можно задать одним из двух способов:

    • Запустите командную строку kubectl и выполните следующую команду, чтобы подтвердить текущий контекст:

      kubectl config get-contexts – List all contexts configured on the machine
      
      kubectl config current-context – Get the current context name
      
      kubectl config use-context <name of context>
      
    • Запустите IRCTL и выполните, --context чтобы указать контекст в конфигурации Kube.

  10. Запустите командную строку IRCTL и выполните эту команду с скопированным ключом регистрации.

    ./irctl create --registration-key <registration key copied from the portal>
    

    Примечание.

    Если селектор узлов не указан, будут использоваться все узлы кластера Kubernetes. Для AKS рекомендуется использовать метку пула узлов AKS в качестве селектора узлов или настроить различные метки для узлов SHIR.

  11. Вы увидите эту распечатку:

    [Info] Start to create SHIR with Kubernetes context [your-context]......
    [Info] Environment validation passed!
    [Info] Registering SHIR[example-k8s-shir] for Microsoft Purview Account [yourpurviewaccount]......
    [Info] SHIR Registration done!
    [Info] Provisioning SHIR, it may take about 5-30 minutes......done!
    [Info] SHIR creation succeeded!  
    

    Совет

    Если ход установки нарушается по клавишам CTRL-C или по другим причинам, для отслеживания хода установки можно использовать следующую команду: ./irctl install status

  12. После завершения установки, чтобы проверка текущее состояние SHIR, выполните следующую команду:

    ./irctl describe
    
  13. Вы также можете проверка состояние SHIR на портале Microsoft Purview на странице Среды выполнения интеграции.

Настройка проверки с помощью внешних драйверов

При проверке некоторых источников данных необходимо установить соответствующий драйвер на компьютере, где установлен SHIR для Microsoft Purview, чтобы подключиться к источнику данных. Ниже приведен пример проверки Db2. Конкретные предварительные требования см. в соответствующей статье соединителя.

Примечание.

Источники данных, которым требуются эти внешние драйверы, будут содержать сведения, указанные в предварительных требованиях.

В этом примере мы установим драйвер Db2. Действия для других драйверов будут похожими.

  1. Сначала установите среду выполнения интеграции.

  2. Скачайте драйвер (в каждом источнике будет указан отдельный драйвер).) Например, драйвер DB2 можно найти здесь: Подключение к Db2 и управление ими.

  3. Отправьте драйвер на каждый узел для среды выполнения интеграции. Можно использовать следующую команду:

    ./irctl storage upload --source jdbc_sqlj/db2_driver --destination driver/db2
    

    Подтверждение успешной отправки будет выглядеть следующим образом:

    ========== Context ========== 
    Kubernetes Context             : k8s-shir-test-cluster 
    Purview Account                : test-purview-1 
    Self-hosted Intrgration Runtime: k8s-shir-demo 
    ========== Progress ========== 
    Processing 2/2 nodes... 
    aks-shirpool-27141791-vmss000000: SUCCEEDED 
    aks-shirpool-27141791-vmss000001: SUCCEEDED 
    ========== Results ========== 
    jdbc_sqlj/db2_driver -> /var/irstorage/driver/db2 
    

    Примечание.

    При замене узлов или горизонтальном масштабировании до новых узлов потребуется снова отправить внешний драйвер.

  4. Проверьте отправленные файлы с помощью следующей команды:

    ./irctl storage list driver/db2
    

    Вы должны увидеть следующий ответ:

    ========== Context ========== 
    Kubernetes Context             : k8s-shir-test-cluster 
    Purview Account                : test-purview-1 
    Self-hosted Intrgration Runtime: k8s-shir-demo 
    ========== Progress ========== 
    Processing 2/2 nodes... 
    aks-shirpool-27141791-vmss000000: SUCCEEDED 
    aks-shirpool-27141791-vmss000001: SUCCEEDED 
    ========== Results ========== 
    Node: aks-shirpool-27141791-vmss000000 - Succeeded 
    /var/irstorage/driver/db2 
    total 9364 
    drwxr-xr-x    2 root     root          4096 May 15 14:23 . 
    drwxr-xr-x    3 root     root          4096 May 15 14:23 .. 
    -rwxrwxr-x    1 root     root       6568346 May 15 14:23 db2jcc4.jar 
    Node: aks-shirpool-27141791-vmss000001 - Succeeded 
    /var/irstorage/driver/db2 
    total 9364 
    drwxr-xr-x    2 root     root          4096 May 15 14:23 . 
    drwxr-xr-x    3 root     root          4096 May 15 14:23 .. 
    -rwxrwxr-x    1 root     root       6568346 May 15 14:23 db2jcc4.jar 
    
  5. Создайте сканирование со значением DriverLocation со значением назначения из шага 3.

    Снимок экрана: окно настройки сканирования с расположением драйвера, указанным как driver/db2.

Высокая доступность и масштабируемость

Вы можете назначить нескольким узлам кластера Kubernetes высокий уровень доступности с помощью селектора узлов во время установки локальной среды выполнения интеграции, поддерживаемой Kubernetes. Преимущества наличия нескольких узлов:

  • Выше доступность локальной среды выполнения интеграции, чтобы она больше не была единственной точкой сбоя для проверок.
  • Выполнение дополнительных одновременных проверок. Каждый узел может одновременно выполнять множество проверок. Если требуется больше параллельных проверок, вы можете вручную масштабировать узлы кластера Kubernetes.
  • При проверке некоторых источников, таких как BLOB-объект Azure, Azure Data Lake Storage 2-го поколения и Файлы Azure, каждый запуск сканирования может использовать несколько узлов для повышения производительности сканирования. Для других источников сканирование выполняется только на одном из узлов.

Возможности поддерживаемой локальной среды выполнения интеграции Kubernetes можно обновить, вручную масштабируя узлы кластера Kubernetes.

Примечание.

Необходимо передать все необходимые драйверы для проверки на каждом новом узле.

Требования к сети

Доменное имя Исходящие порты Описание
Общедоступное облако: <tenantID>-api.purview-service.microsoft.com
Azure для государственных организаций:<tenantID>-api.purview-service.microsoft.us
Китай: <tenantID>-api.purview-service.microsoft.cn
443 Требуется для подключения к службе Microsoft Purview. Если вы используете частные конечные точки Microsoft Purview, эта конечная точка покрывается частной конечной точкой учетной записи.
Общедоступное облако: <purview_account>.purview.azure.com
Azure для государственных организаций:<purview_account>.purview.azure.us
Китай: <purview_account>.purview.azure.cn
443 Требуется для подключения к службе Microsoft Purview. Если вы используете частные конечные точки Microsoft Purview, эта конечная точка покрывается частной конечной точкой учетной записи.
Общедоступное облако: <managed_storage_account>.blob.core.windows.net или <ingestion_storage_account>.*.blob.storage.azure.net
Azure для государственных организаций: <managed_storage_account>. blob.core.usgovcloudapi.net или<ingestion_storage_account>. blob.core.usgovcloudapi.net
Китай: <managed_storage_account>.blob.core.chinacloudapi.cnили <ingestion_storage_account>.blob.core.chinacloudapi.cn
443 Требуется для подключения к учетной записи хранения BLOB-объектов Azure, управляемой Microsoft Purview.
Общедоступное облако: <managed_storage_account>.queue.core.windows.net или <ingestion_storage_account>.*.queue.storage.azure.net
Azure для государственных организаций: <managed_storage_account>. queue.core.usgovcloudapi.net или<ingestion_storage_account>. queue.core.usgovcloudapi.net
Китай: <managed_storage_account>.queue.core.chinacloudapi.cnили <ingestion_storage_account>.queue.core.chinacloudapi.cn
443 Требуется для подключения к учетной записи хранения очереди Azure, управляемой Microsoft Purview.
Общедоступное облако: *.compute.governance.azure.com
Azure для государственных организаций:*.compute.governance.azure.us
Китай: *.compute.governance.azure.cn
443 Требуется для подключения к службе Microsoft Purview. В настоящее время требуется подстановочный знак, так как не существует выделенного ресурса.
mcr.microsoft.com 443 Требуется для скачивания изображений.
*.data.mcr.microsoft.com 443 Требуется для скачивания изображений.

Примечание.

В зависимости от источников, которые пользователи хотят сканировать, они также должны разрешить другие домены и исходящие порты для других azure или внешних источников.

Версия

Как правило, каждый месяц мы выпускаем одну новую дополнительную версию локальной среды выполнения интеграции, которая включает функции, улучшения и исправления ошибок.

Срок действия каждой версии локальной среды выполнения интеграции истекает через год.

Как проверка текущую версию

Версию локальной среды выполнения интеграции Kubernetes можно проверка на портале или с помощью IRCTL.

Портал

  1. На портале Microsoft Purview перейдите к схеме данных.
  2. Выбор среды выполнения интеграции
  3. Четвертый столбец в строке описания среды выполнения интеграции будет Версия, и вы можете проверка версию.

IRCTL (1.1.0 и выше)

Команда describe вернет версию среды выполнения интеграции.

./irctl describe

Автоматическое обновление

Начиная с версии 1.1.0 локальная среда выполнения интеграции Kubernetes поддерживает автоматическое обновление, которое включено по умолчанию. Эта функция гарантирует, что среда выполнения интеграции автоматически обновляется до последней версии, управляемой Корпорацией Майкрософт, примерно раз в месяц.

Отказ

Мы рекомендуем оставить автоматическое обновление включенным, чтобы воспользоваться новейшими функциями и улучшениями. Однако вы можете отказаться от автоматического обновления с помощью IRCTL. Конфигурация автоматического обновления сохраняется путем переустановки, поэтому ее не нужно отключать при каждой установке.

./irctl config set autoUpdate.enabled false
./irctl config view

Версия автоматического обновления и последняя версия

Для обеспечения стабильности автоматическое обновление обычно выполняется за последней версией с задержкой на один месяц. Версия автоматического обновления управляется корпорацией Майкрософт.

Если вы хотите обновить среду выполнения интеграции до более новых версий, необходимо выполнить обновление вручную с помощью IRCTL конкретной версии.

Дальнейшие действия