Set-AksHciRegistration

概要

向 Azure 注册 AKS 混合。

语法

Set-AksHciRegistration -subscriptionId<String>
                       -resourceGroupName <String>
                      [-tenantId <String>]
                      [-armAccessToken <String>]
                      [-graphAccessToken <String>]
                      [-accountId <String>]
                      [-environmentName <String>]
                      [-credential <PSCredential>]
                      [-region <String>]
                      [-useDeviceAuthentication]
                      [-skipLogin]

描述

向 Azure 注册 AKS 混合。

例子

使用订阅 ID 和资源组名称注册 AKS 混合

Set-AksHciRegistration -subscriptionId aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e -resourceGroupName myresourcegroup

注册设备登录名或在无外设 shell 中运行时

Set-AksHciRegistration -subscriptionId myazuresubscription -resourceGroupName myresourcegroup -UseDeviceAuthentication

使用服务主体注册 AKS 混合

如果你无权访问作为“所有者”的订阅,则可以将 AKS 主机注册到 Azure,以便使用服务主体进行计费。

使用 Connect-AzAccount PowerShell 命令登录到 Azure:

Connect-AzAccount

通过运行 Set-AzContext 命令,将要使用的订阅注册为默认订阅,以便将 AKS 主机注册为默认订阅。

Set-AzContext -Subscription myAzureSubscription

通过运行 Get-AzContext PowerShell 命令来验证登录上下文是否正确。 验证订阅、租户和帐户是否是用于注册 AKS 主机进行计费的内容。

Get-AzContext
Name                                     Account                      SubscriptionName             Environment                  TenantId
----                                     -------                      ----------------             -----------                  --------
myAzureSubscription (92391anf-...        user@contoso.com             myAzureSubscription          AzureCloud                   xxxxxx-xxxx-xxxx-xxxxxx

检索租户 ID。

$tenant = (Get-AzContext).Tenant.Id

通过运行 New-AzADServicePrincipal PowerShell 命令来创建服务主体。 此命令使用“参与者”角色创建服务主体,并在订阅级别设置范围。 有关创建服务主体的详细信息,请访问 使用 Azure PowerShell创建 Azure 服务主体。

$sp = New-AzADServicePrincipal -Role "Contributor" -Scope "/subscriptions/myazuresubscription"

运行以下命令检索服务主体的密码:

$secret = [System.Runtime.InteropServices.Marshal]::PtrToStringAuto([System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($sp.Secret))
Write-Host "Application ID: $($sp.ApplicationId)"
Write-Host "App Secret: $secret"

在上面的输出中,你现在具有 应用程序 ID,以及部署 AKS 混合时可用的 机密。 应记下这些项目并安全地存储它们。 现在,应用程序 ID 和机密可用,在 Azure 门户,在 订阅下,访问控制,然后 角色分配,应会看到新的服务主体。

使用 Get-Credential存储服务主体凭据(应用程序 ID 和机密),然后设置注册。

$credential = Get-Credential
Set-AksHciRegistration -SubscriptionId myazuresubscription -ResourceGroupName myresourcegroup -TenantId $tenant -Credential $credential

参数

-subscriptionId

要使用的 Azure 订阅的 ID。

Type: System.String
Parameter Sets: (All)
Aliases:

Required: True
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-resourceGroupName

要放置 Arc 资源的资源组的名称。

Type: System.String
Parameter Sets: (All)
Aliases:

Required: True
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-tenantId

Azure 服务主体的租户 ID。

Type: System.String
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-armAccessToken

用于访问 Azure 资源管理器的令牌。

Type: System.String
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-graphAccessToken

用于访问图形的令牌。

Type: System.String
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-accountId

Azure 帐户的 ID。

Type: System.String
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: 1
Accept pipeline input: False
Accept wildcard characters: False

-environmentName

预期公有云的名称。

Type: System.String
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-凭据

保存用户服务主体的 PSCredential。

Type: System.String
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-地区

Azure 位置。

Type: System.String
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-useDeviceAuthentication

输出在浏览器中要使用的代码。

Type: System.String
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-skipLogin

跳过 Connect-AzAccount 调用。 此标志在自动化或从连接的 shell 运行时非常有用。

Type: System.String
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

后续步骤

AksHci PowerShell 参考