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 57ac26cf-a9f0-4908-b300-9a4e9a0fb205 -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"

在上面的输出中,部署 AKS 混合时,现在可以使用 应用程序 ID机密 。 你应该记下这些项目并安全地存储它们。 你现在已具有可用的应用程序 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

-credential

用于保存用户服务主体的 PSCredential。

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

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

-region

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 参考