Azure Private Link Service
(PLS) – это компонент инфраструктуры, который утверждает пользователей для частного подключения с помощью частной конечной точки (PE) в VNET в Azure и IP-конфигурации фронтенда, связанной с Azure Load Balancer (ALB). С помощью Private Link клиенты как компании-провайдеры могут безопасно предоставлять свои предложения потребителям, которые могут подключаться из Azure или локально, избегая рисков утечки данных.
До интеграции службы Private Link пользователи, желающие получить частное подключение из локальных или других сетей VNET к своим службам в кластере Azure Kubernetes, должны были создать службу Private Link Service (PLS) для ссылки на Azure Internal LoadBalancer
.
Затем потребитель должен был создать частную конечную точку (Private Endpoint, PE) для подключения к PLS, чтобы обеспечить непубличное подключение. С помощью этой функции управляемый PLS к LB будет создан автоматически, и потребителю потребуется только создать PE-соединения с ним для частного подключения.
В настоящее время служба управляемых частных соединений работает только с внутренним стандартным балансировщиком нагрузки Azure. Пользователи, желающие использовать службу частных соединений для своих служб Kubernetes, должны установить аннотацию service.beta.kubernetes.io/azure-load-balancer-internal
в значение true
(Doc).
Аннотации PrivateLinkService
Ниже приведен список аннотаций, поддерживаемых для служб Kubernetes с созданным Azure PLS:
Аннотация | Значение | Описание | Требуемый | По умолчанию |
---|---|---|---|---|
service.beta.kubernetes.io/azure-pls-create |
"true" |
Булево значение, указывающее, нужно ли создать PLS. | Требуется | |
service.beta.kubernetes.io/azure-pls-name |
<PLS name> |
Строка, указывающая имя создаваемого ресурса PLS. | Необязательно | "pls-<LB frontend config name>" |
service.beta.kubernetes.io/azure-pls-ip-configuration-subnet |
<Subnet name> |
Строка, указывающая подсеть, в которой будет развернут PLS. Эта подсеть должна существовать в той же VNET, что и пул бэкенда. NAT IP-адреса PLS выделяются в этой подсети. | Необязательно | Если service.beta.kubernetes.io/azure-load-balancer-internal-subnet , используется эта подсеть LB. В противном случае используется подсеть по умолчанию из файла конфигурации. |
service.beta.kubernetes.io/azure-pls-ip-configuration-ip-address-count |
[1-8] |
Общее количество частных IP-адресов NAT для выделения. | Необязательно | 1 |
service.beta.kubernetes.io/azure-pls-ip-configuration-ip-address |
"10.0.0.7 ... 10.0.0.10" |
Разделенный пробелами список статических IPv4 IP-адресов, которые необходимо выделить. (IPv6 сейчас не поддерживается.) Общее количество IP должно быть не больше, чем количество ip, указанное в service.beta.kubernetes.io/azure-pls-ip-configuration-ip-address-count . Если указано меньшее количество IP-адресов, остальные выделяются динамически. Первый IP в списке устанавливается как Primary . |
Необязательно | Все IP-адреса выделяются динамически. |
service.beta.kubernetes.io/azure-pls-fqdns |
"fqdn1 fqdn2" |
Список fqdns, ассоциированных с PLS, разделенный пробелами. | Необязательно | [] |
service.beta.kubernetes.io/azure-pls-proxy-protocol |
Булево значение, указывающее, должен ли быть включен протокол TCP PROXY на PLS для передачи информации о соединении, включая идентификатор соединения и IP-адрес источника. Обратите внимание, что внутренний сервис ДОЛЖЕН поддерживать протокол PROXY, иначе соединения будут неудачными. | Необязательный | false |
|
service.beta.kubernetes.io/azure-pls-visibility |
Разделенный пробелами список идентификаторов подписки Azure, для которых видна служба частных ссылок. Используйте "*" , чтобы открыть PLS для всех подписчиков (наименее ограничительный вариант). |
Необязательный | Пустой список [] , указывающий только ролевой контроль доступа: Эта служба частных ссылок будет доступна только лицам с ролевыми правами управления доступом в вашем каталоге. (Наиболее ограничительный) |
|
service.beta.kubernetes.io/azure-pls-auto-approval |
"sub1 sub2 sub3 … subN" |
Список идентификаторов подписок Azure, разделенных пробелами. Это позволяет автоматически утверждать запросы PE-соединений от подписок, перечисленных в списке PLS. Это работает только в том случае, если видимость установлена на “*”. | Дополнительно | [] |
Для получения более важных сведений о каждой конфигурации, пожалуйста, обратитесь к документации Azure Private Link Service Documentation.
Создание управляемого сервиса PrivateLinkService
Пример создания объекта службы Kubernetes с помощью Azure ILB и PLS kcdplscreation.yaml
Спасибо, что дочитали мою статью до конца. Надеюсь, сегодня вы поняли что-то уникальное. Если вам понравилась эта статья, пожалуйста, поделитесь с друзьями, а если у вас есть предложения или мысли, которыми вы хотите поделиться со мной, пожалуйста, напишите в поле для комментариев.