Delen via


gMSA configureren in Azure Kubernetes Service met de PowerShell-module

In deze sectie wordt beschreven hoe u gMSA instelt in Azure Kubernetes Service met behulp van de gMSA in AKS PowerShell-module. In de onderstaande stappen wordt ervan uitgegaan dat u de gMSA hebt geïnstalleerd in de AKS PowerShell-module, die is verbonden met uw AKS-clusters en dat u de vereiste parameters hebt opgegeven. Als u dat nog niet hebt gedaan, moet u de stappen in de eerste sectie van deze zelfstudie volgen.

Controleer of het AKS-cluster gMSA-functie juist heeft geconfigureerd

Uw AKS-cluster is mogelijk of niet al geconfigureerd voor gMSA. Voer de volgende opdracht uit om te controleren of het cluster gereed is voor gebruik van gMSA:

 Confirm-AksGMSAConfiguration `
 -AksResourceGroupName $params["aks-cluster-rg-name"] `
 -AksClusterName $params["aks-cluster-name"] `
 -AksGMSADomainDnsServer $params["domain-dns-server"] `
 -AksGMSARootDomainName $params["domain-fqdn"]

Nadat u uw cluster hebt geconfigureerd, kunt u de resterende infrastructuur configureren die nodig is om gMSA te laten werken.

Uw Active Directory-omgeving configureren

De eerste stap bij het voorbereiden van uw Active Directory is om ervoor te zorgen dat het sleuteldistributiesysteem is geconfigureerd. Voor deze stap moeten de opdrachten worden uitgevoerd met de juiste gedelegeerde referenties tegenover een domeincontroller. Deze taak kan worden gedelegeerd aan geautoriseerde personen.

Voer vanaf een domeincontroller het volgende uit om de hoofdsleutel in te schakelen:

Voor productieomgevingen:

# You will need to wait 10 hours before the KDS root key is
# replicated and available for use on all domain controllers.
Add-KdsRootKey -EffectiveImmediately

Voor testomgevingen:

# For single-DC test environments ONLY.
Add-KdsRootKey -EffectiveTime (Get-Date).AddHours(-10)

Voor de volgende opdrachten kunt u deze uitvoeren op uw domeincontroller of op een externe PowerShell-sessie. Als deze wordt uitgevoerd vanaf uw domeincontroller, verwijdert u de parameters DomainControllerAddress, DomainUser en DomainPassword uit de opdracht.

Als u extern werkt, moet u ervoor zorgen dat uw domeincontroller is geconfigureerd voor extern beheer.

De standaarddomeingebruiker maken

 # Creates the standard domain user.
 New-GMSADomainUser `
 -Name $params["gmsa-domain-user-name"] `
 -Password $params["gmsa-domain-user-password"] `
 -DomainControllerAddress $params["domain-controller-address"] `
 -DomainAdmin "$($params["domain-fqdn"])\$($params["domain-admin-user-name"])" `
 -DomainAdminPassword $params["domain-admin-user-password"]

Maak de gMSA aan

 # Creates the gMSA account, and it authorizes only the standard domain user.
 New-GMSA `
 -Name $params["gmsa-name"] `
 -AuthorizedUser $params["gmsa-domain-user-name"] `
 -DomainControllerAddress $params["domain-controller-address"] `
 -DomainAdmin "$($params["domain-fqdn"])\$($params["domain-admin-user-name"])" `
 -DomainAdminPassword $params["domain-admin-user-password"]

Azure Key Vault en door de gebruiker toegewezen beheerde identiteit van Azure instellen

Azure Key Vault (AKV) wordt gebruikt om de referenties op te slaan die door de Windows-knooppunten in AKS worden gebruikt om te communiceren met de Active Directory-domeincontrollers. Een beheerde identiteit (MI) wordt gebruikt om de juiste toegang te bieden tot AKV voor uw Windows-knooppunten.

De Azure-sleutelkluis aanmaken

 # The Azure key vault will have a secret with the credentials of the standard
 # domain user authorized to fetch the gMSA.
 New-GMSAAzureKeyVault `
 -ResourceGroupName $params["aks-cluster-rg-name"] `
 -Location $params["azure-location"] `
 -Name $params["akv-name"] `
 -SecretName $params["akv-secret-name"] `
 -GMSADomainUser "$($params["domain-fqdn"])\$($params["gmsa-domain-user-name"])" `
 -GMSADomainUserPassword $params["gmsa-domain-user-password"]

De door de gebruiker toegewezen beheerde identiteit van Azure maken

 New-GMSAManagedIdentity `
 -ResourceGroupName $params["aks-cluster-rg-name"] `
 -Location $params["azure-location"] `
 -Name $params["ami-name"]

AKV toegang verlenen tot de AKS Windows-hosts

 # Appends the user-assigned managed identity to the AKS Windows agent pools given as input parameter.
 # Configures the AKV read access policy for the user-assigned managed identity.
 Grant-AkvAccessToAksWindowsHosts `
 -AksResourceGroupName $params["aks-cluster-rg-name"] `
 -AksClusterName $params["aks-cluster-name"] `
 -AksWindowsNodePoolsNames $params["aks-win-node-pools-names"] `
 -VaultResourceGroupName $params["aks-cluster-rg-name"] `
 -VaultName $params["akv-name"] `
 -ManagedIdentityResourceGroupName $params["aks-cluster-rg-name"] `
 -ManagedIdentityName $params["ami-name"]

gMSA-referentiespecificatie instellen met de RBAC-resources

 # Creates the gMSA credential spec.
 # Configures the appropriate RBAC resources (ClusterRole and RoleBinding) for the spec.
 # Executes AD commands to get the appropriate domain information for the credential spec.
 New-GMSACredentialSpec `
 -Name $params["gmsa-spec-name"] `
 -GMSAName $params["gmsa-name"] `
 -ManagedIdentityResourceGroupName $params["aks-cluster-rg-name"] `
 -ManagedIdentityName $params["ami-name"] `
 -VaultName $params["akv-name"] `
 -VaultGMSASecretName $params["akv-secret-name"] `
 -DomainControllerAddress $params["domain-controller-address"] `
 -DomainUser "$($params["domain-fqdn"])\$($params["gmsa-domain-user-name"])" `
 -DomainUserPassword $params["gmsa-domain-user-password"]

In deze fase wordt de configuratie van gMSA op AKS voltooid. U kunt nu uw workload implementeren op uw Windows-knooppunten.

Volgende stap