Добавление собственной группы безопасности сети (NSG) в кластер Azure Red Hat OpenShift (ARO)
Как правило, при настройке кластера ARO необходимо назначить группу ресурсов для развертывания объекта кластера ARO (называемой базовой группой ресурсов на следующей схеме). В таких сценариях можно использовать одну и ту же группу ресурсов как для виртуальной сети, так и для кластера, или выбрать отдельную группу ресурсов исключительно для виртуальной сети. Ни одна из этих групп ресурсов напрямую не соответствует одному кластеру ARO, предоставляя вам полный контроль над ними. Это означает, что вы можете свободно создавать, изменять или удалять ресурсы в этих группах ресурсов.
Во время процесса создания кластера поставщик ресурсов ARO (RP) устанавливает выделенную группу ресурсов, зависят от потребностей кластера. Эта группа содержит различные ресурсы, относящиеся к кластеру, такие как виртуальные машины узлов, подсистемы балансировки нагрузки и группы безопасности сети (NSG), как показано в управляемой группе ресурсов на следующей схеме. Управляемая группа ресурсов тесно защищена, запрещая любые изменения его содержимого, включая группу безопасности сети, связанную с подсетями виртуальной сети, указанными во время создания кластера. В некоторых ситуациях группа безопасности сети, созданная RP ARO, может не соответствовать политикам безопасности определенных организаций.
В этой статье показано, как использовать функцию "принести собственную" группу безопасности сети (NSG) для подключения собственной предварительно настроенной группы безопасности сети, размещенной в группе ресурсов Base/VNET (RG) (показанной на следующей схеме как BYO-NSG) к подсетям кластера ARO. Так как вы владеете этой предварительно настроенной NSG, вы можете добавлять и удалять правила во время существования кластера ARO.
Общие возможности и ограничения
Перед созданием кластера необходимо подключить предварительно настроенные группы безопасности сети к главной и рабочей подсетям. Сбой подключения предварительно настроенных групп безопасности сети к обеим подсетям приводит к ошибке.
Вы можете использовать одинаковые или разные предварительно настроенные группы безопасности сети для главных и рабочих подсетей.
При использовании собственной группы безопасности сети служба ARO по-прежнему создает группу безопасности сети в управляемой группе ресурсов (NSG по умолчанию), но она не подключена к рабочей или главной подсети.
Вы не можете включить предварительно настроенную функцию NSG в существующем кластере ARO. В настоящее время эта функция может быть включена только во время создания кластера.
Предварительно настроенный параметр NSG не настраивается из портал Azure.
Если вы использовали эту функцию во время предварительной версии, существующие предварительно настроенные кластеры теперь полностью поддерживаются.
Примечание.
Если вы используете функцию NSG и хотите использовать журналы потоков NSG, обратитесь к журналу потоков для групп безопасности сети в azure Наблюдатель за сетями документации, а не документации по конкретному журналу потоков ARO (которая не будет работать с собственной функцией NSG).
Использование правил
Предупреждение
Предварительно настроенные группы безопасности сети не обновляются автоматически с помощью правил при создании служб типов Kubernetes LoadBalancer или маршрутов OpenShift в кластере ARO. Таким образом, необходимо вручную обновить эти правила. Это поведение отличается от исходного поведения ARO, в котором NSG по умолчанию программно обновляется в таких ситуациях.
NSG кластера ARO по умолчанию (не подключен к какой-либо подсети при использовании этой функции) по-прежнему обновляется с помощью правил при создании служб типов Kubernetes LoadBalancer или маршрутов OpenShift в кластере ARO.
Вы можете отключить предварительно настроенные группы безопасности сети из подсетей кластера, созданного с помощью этой функции. Это приводит к кластеру с подсетями, у которых нет групп безопасности сети. Затем вы можете подключить другой набор предварительно настроенных групп безопасности сети к кластеру. Кроме того, вы можете подключить группу безопасности сети сети по умолчанию ARO к подсетям кластера (в какой момент кластер становится как любой другой кластер, который не использует эту функцию).
Предварительно настроенные группы безопасности сети не должны иметь правила INBOUND/OU ТБ OUND DENY следующих типов, так как они могут препятствовать работе кластера и /или препятствовать поддержке ARO или командам SRE предоставлять поддержку или управление. (Здесь подсеть указывает любой или все IP-адреса в подсети и все порты, соответствующие этой подсети):
Главная подсеть ←→ главной подсети
Рабочая подсеть ←→ рабочей подсети
Главная подсеть ←→ рабочей подсети
Неправильно настроенные правила приводят к сигналу , используемому Azure Monitor для устранения неполадок с предварительно настроенными группами безопасности сети.
Чтобы разрешить входящий трафик в общедоступный кластер ARO, задайте в NSG следующие правила INBOUND ALLOW (или эквивалентные). Ознакомьтесь с NSG по умолчанию кластера для конкретных сведений и примером группы безопасности сети, показанной в развертывании. Кластер можно создать даже без таких правил в группе безопасности сети.
- Для доступа к серверу API → из Интернета (или предпочтительный исходный IP-адрес) на порт 6443 в главной подсети.
- Для доступа к маршрутизатору OpenShift (и, следовательно, к консоли OpenShift и маршрутам OpenShift) → из Интернета (или предпочитаемых ip-адресов источника) к портам 80 и 443 на общедоступном IP-адресе по умолчанию версии 4 в общедоступном балансировщике нагрузки кластера.
- Для доступа к любой службе Kubernetes типа Load-Balancees → из Интернета (или предпочитаемых IP-адресов источника) для обслуживания портов на общедоступный IP-адрес, соответствующий службе в общедоступной подсистеме балансировки нагрузки кластера.
Развертывание
Создание виртуальной сети и настройка предварительно настроенной группы безопасности сети
Создайте виртуальную сеть, а затем создайте в ней главные и рабочие подсети.
Создайте предварительно настроенные группы безопасности сети с правилами по умолчанию (или без правил вообще) и подключите их к главной и рабочей подсетям.
Создание кластера ARO и обновление предварительно настроенных групп безопасности сети
Создание кластера.
az aro create \ --resource-group BASE_RESOURCE_GROUP_NAME \ --name CLUSTER_NAME \ --vnet VNET_NAME \ --master-subnet MASTER_SUBNET_NAME \ --worker-subnet WORKER_SUBNET_NAME \ --client-id CLUSTER_SERVICE_PRINCIPAL_ID \ --client-secret CLUSTER_SERVICE_PRINCIPAL_SECRET \ --enable-preconfigured-nsg
Обновите предварительно настроенные группы безопасности сети с правилами в соответствии с вашими требованиями, а также учитывая точки, упоминание в возможностях и ограничениях.
В следующем примере имеется общедоступная подсистема балансировки нагрузки кластера, как показано на снимке экрана или выходных данных CLI:
$ oc get svc | grep tools tools LoadBalancer 172.30.182.7 20.141.176.3 80:30520/TCP 143m $ $ oc get svc -n openshift-ingress | grep Load router-default LoadBalancer 172.30.105.218 20.159.139.208 80:31157/TCP,443:31177/TCP 5d20