簡體   English   中英

無法 RDP 到 Azure 中 Service Fabric 群集的虛擬機規模集實例

[英]Cannot RDP to an instance of virtual machine scale set of a Service Fabric cluster in Azure

我使用眾所周知的azure-quickstart-templates/service-fabric-secure-cluster-5-node-1-nodetype模板創建了一個 Service Fabric 群集。

在部署期間,我已將adminUsernameadminPassword字符串指定為ARM 模板參數 我剛剛使用了 2 長串隨機字符並將它們寫下來以備后用。

部署已成功,例如,我可以打開帶有著名綠色圓圈的 SF 集群資源管理器網頁。

但是,當我嘗試連接到 VMSS 的其中一個節點時,為了檢查我的 SF 應用程序日志,RDP 連接被拒絕:

rdp 截圖

我使用 Loader public IP 地址進行 RDP 連接,並已驗證有一個 LB 規則:

磅截圖

當我輸入在 ARM 模板部署期間指定的adminUsernameadminPassword字符串時,RDP 連接會在我的公司筆記本的域之前添加。

因此,我嘗試在 LB public ip 地址前面加上反斜杠,然后在adminUsername前面加上一個反斜杠,但這也不起作用。

我也試過.\adminUsername (使用我的公司筆記本的域是錯誤的)和\adminUsernament1vm_1\adminUsername (仍然沒有連接):

截圖 rdp

如何通過 RDP 連接到我的 SF 集群的 VMSS 實例?

我還為我的問題創建了Github 問題 #7684

更新:

無法與 Mac OS 的 Microsoft 遠程桌面連接:

mac截圖

更新 2:

為過度簡化我的問題描述而道歉-

我實際上並沒有將 RDP 憑據寫到紙上,而是生成並將它們保存在 Key Vault 中,然后將它們作為管道變量輸出(我知道,不太安全......)並將它們傳遞給 SF 模板:

千伏截圖

所以這不是我寫下錯誤憑據的問題。 並且這個 YAML 文件被 5 個管道使用,以填充 5 個不同的 RG(使用 CosmosDb、Key Vault、SF) - 都存在上述 RDP 連接問題。

更新 3:

因為我在 SF 集群中有 3 個節點,所以我嘗試在 RDP 對話框中使用nt1vm_0\usernament1vm_1\usernament1vm_2\username甚至nt1vm\username作為用戶名,但可惜這不起作用:

在此處輸入圖像描述

在此處輸入圖像描述

在此處輸入圖像描述

嘗試在 scaleset 上重置密碼,以查看憑據是否可能已以某種方式更改。

Login-AzAccount
Get-AzSubscription
Set-AzContext -SubscriptionId 'yourSubscriptionID'

$nodeTypeName = 'nt1vm'
$resourceGroup = 'sfclustertutorialgroup'
$publicConfig = @{'UserName' = 'newuser'}
$privateConfig = @{'Password' = 'PasSwo0rd$#!'}
$extName = 'VMAccessAgent'
$publisher = 'Microsoft.Compute'
$node = Get-AzVmss -ResourceGroupName $resourceGroup -VMScaleSetName $nodeTypeName
$node = Add-AzVmssExtension -VirtualMachineScaleSet $node -Name $extName -Publisher $publisher -Setting $publicConfig -ProtectedSetting $privateConfig -Type $extName -TypeHandlerVersion '2.0' -AutoUpgradeMinorVersion $true

Update-AzVmss -ResourceGroupName $resourceGroup -Name $nodeTypeName -VirtualMachineScaleSet $node

這是我自己的答案,也許它也會對某人有所幫助-

這似乎是 SF Cluster 中的一個錯誤(我們使用 Service Fabric 版本 7.1.417.9590)ARM 模板部署。

我們注意到,如果您“重新映像”VMSS 中的所有實例,RDP 就會起作用:

vmss 實例

如果沒有重新映像,則 RDP 連接被拒絕,就好像憑據錯誤一樣。

在我們的 Azure 管道中,RDP 憑據由 Key Vault ARM 模板中的以下代碼生成(大寫字母和數字,以滿足密碼復雜性要求 + 基於部署名稱的唯一字符串):

"variables": {
    "RdpUsername": "[concat('ABC123', uniqueString(deployment().name, 'RdpUsername'))]",
    "RdpPassword": "[concat('ABC123', uniqueString(deployment().name, 'RdpPassword'))]"
},
"outputs": {
    "RdpUsername": {
        "type": "string",
        "value": "[variables('RdpUsername')]"
    },
    "RdpPassword": {
        "type": "string",
        "value": "[variables('RdpPassword')]"
    },
    "keyvaultId": {
        "type": "string",
        "value": "[resourceId('Microsoft.KeyVault/vaults', variables('keyvaultName'))]"
    }
},

uniqueString基於部署名稱,因此隨着每個管道部署而更改(這就是為什么下面的屏幕截圖中有不同的秘密版本):

密鑰庫

然后將上述秘密傳遞給部署 SF 集群的管道任務:

- task: AzureResourceManagerTemplateDeployment@3
  displayName: 'Deploy SF cluster'
  inputs:
    deploymentScope: 'Resource Group'
    subscriptionId: '${{ parameters.SubscriptionId }}'
    azureResourceManagerConnection: '${{ parameters.ArmConnection }}'
    action: 'Create Or Update Resource Group'
    resourceGroupName: '${{ parameters.ResourceGroupName }}'
    location: '${{ parameters.ResourceLocation }}'
    templateLocation: 'Linked artifact'
    csmFile: '$(Build.SourcesDirectory)/pipelines/templates/sfcluster.json'
    csmParametersFile: '$(Build.SourcesDirectory)/pipelines/templates/sfcluster-params.json'
    overrideParameters: '-rdpUsername $(RdpUsername) -rdpPassword $(RdpPassword) -certificateThumbprint $(Thumbprint) -sourceVaultResourceId $(KeyvaultId) -certificateUrlValue $(SecretId)' 
    deploymentMode: 'Incremental'

因為似乎存在錯誤,所以 RDP 連接仍然需要舊的 RDP 憑據對。

因此,我們的解決方法是根據 RG 名稱將 RDP 憑據更改為更穩定的字符串:

"variables": {
    "RdpUsername": "[concat('Ccg1', uniqueString(resourceGroup().name, 'RdpUsername'))]",
    "RdpPassword": "[concat('Ccg2', uniqueString(resourceGroup().name, 'RdpPassword'))]"
},

現在 RDP 連接工作(使用用戶名nt1vm_0\RdpUsername等):

rdp 截圖

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM