Для начала следует рассказать что же такое gMSA и зачем оно нам надо в контексте Kubernetes.
Сети на базе Windows обычно используют Active Directory (AD) для облегчения проверки подлинности и авторизации между пользователями, компьютерами и другими сетевыми ресурсами. Разработчики корпоративных приложений часто проектируют свои приложения для интеграции AD и работают на серверах, связанных с доменом, чтобы воспользоваться преимуществами интегрированной аутентификации Windows.
Хотя контейнеры Windows не могут быть соединены доменом, они все еще могут использовать идентификаторы домена Active Directory для поддержки различных сценариев проверки подлинности.
Для достижения этой цели можно настроить контейнер Windows для работы с Group Managed Service Account (gMSA), которая представляет собой специальный тип учетной записи службы, представленной в Windows Server 2012, предназначенную для того, чтобы позволить нескольким компьютерам обмениваться идентификационными данными без необходимости знать ее пароль.
При запуске контейнера с gMSA, контейнерный хост получает пароль gMSA от контроллера домена Active Directory и передает его экземпляру контейнера. Контейнер будет использовать учетные данные gMSA всякий раз, когда его учетная запись компьютера (SYSTEM) нуждается в доступе к сетевым ресурсам.
В этой статье объясняется, как начать использовать управляемые учетные записи службгруппы Active Directory с помощью контейнеров Windows.
Для запуска контейнера Windows с gMSA потребуется следующее:
Create msDS-GroupManagedServiceAccount objects
.Если вы еще не создали gMSA в вашем домене, вам нужно будет создать корневой ключ службы распределения ключей (KDS). KDS отвечает за создание, ротацию и выпуск паролей gMSA для авторизованных узлов. Когда хост контейнера должен использовать gMSA для запуска контейнера, он свяжется с KDS, чтобы получить текущий пароль.
Чтобы проверить, был ли уже создан корневой ключ KDS, запустите следующий смдлет PowerShell в качестве администратора домена на контроллере домена или элементе домена с установленными инструментами AD PowerShell:
Get-KdsRootKey
Если команда возвращает идентификатор ключа, все готово. В противном случае необходимо создавать корневой ключ KDS.
Add-KdsRootKey -EffectiveImmediately
Хотя команда подразумевает, что ключ будет действовать немедленно, вам нужно будет подождать 10 часов, прежде чем корневой ключ KDS будет реплицирован и доступен для использования на всех контроллерах домена.
Оглавление