簡體   English   中英

Azure管理庫虛擬機狀態

[英]azure management libraries virtual machine state

已經使用Azure管理庫已有幾周了,但是在同一雲服務中獲取多個虛擬機的狀態(或狀態)有困難。 我可以獲取虛擬機列表,但是找不到顯示單個vm狀態的屬性。 到目前為止,我只能找到父級雲服務的狀態。

var deployment=GetAzureDeyployment("mvwVM",DeploymentSlot.Production);
            if (deployment.Roles.Count>0)
            {
                foreach (var role in deployment.Roles)
                    if (role.RoleType == VirtualMachineRoleType.PersistentVMRole.ToString())
                    {
                        Console.WriteLine(role.RoleName);
                        Console.WriteLine(role.AvailabilitySetName);
                    }

如何獲得單獨的虛擬機狀態以及虛擬機名稱?

謝謝。

這是一些代碼代替(我正在使用2.0的管理庫):

var deployment=GetAzureDeyployment("mvwVM",DeploymentSlot.Production);

foreach (var instance in deployment.RoleInstances)
{
   Console.WriteLine("Name: {0}, State: {1}", instance.InstanceName, instance.InstanceStatus);
}

此處的區別在於它直接進入RoleInstances,並且狀態在實例上。 這有點令人困惑,因為Cloud Service容器可以具有Cloud Services(如Web角色或輔助角色),也可以包含一個或多個虛擬機。 通常,Cloud Service(Web /工作者角色)具有“角色”,然后在一個角色中具有一個或多個實例。 由於Cloud Service部署可以容納這兩種部署,因此對象模型有些混亂,因為它需要支持兩種類型的部署。

您使用的代碼僅達到角色級別。 在虛擬機的部署中,每個VM在對象模型中都是一個角色,在Web /工作人員角色部署中不一定是這種情況。 這就是RoleName是您要查找的VM的名稱的原因。

我提供的代碼假定我僅在此部署中查看虛擬機(因為您不能在同一部署中混合使用Web /工作者角色和VM),因此直接轉到RoleInstances屬性。 這是部署中每個單獨的VM的列表。

希望能有所幫助。

暫無
暫無

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

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