New-AzVmss cmdlet'i Azure'da bir Sanal Makine Ölçek Kümesi (VMSS) oluşturur.
Önceden ayarlanmış bir VMSS'yi ve ilişkili kaynakları hızla oluşturmak için basit parametre kümesini (SimpleParameterSet) kullanın.
Oluşturmadan önce VMSS'nin her bileşenini ve ilişkili her kaynağı hassas bir şekilde yapılandırmanız gerektiğinde daha gelişmiş senaryolar için varsayılan parametre kümesini (DefaultParameter) kullanın.
Varsayılan parametre kümesi için, bir sanal makine ölçek kümesi nesnesi oluşturmak için önce New-AzVmssConfig cmdlet'ini kullanın.
Ardından, sanal makine ölçek kümesi nesnesinin farklı özelliklerini ayarlamak için aşağıdaki cmdlet'leri kullanın:
Get-AzComputeResourceSku , aboneliğiniz ve bölgeniz için kullanılabilir sanal makine boyutlarını bulmak için de kullanılabilir.
Sanal makine ölçek kümesi için diğer cmdlet'lere buradan bakın.
VMSS oluşturma varsayılan olarak OrchestrationMode:Flexible olur. Varsayılan parametre kümesi, VirtualMachineScaleSetVMProfile içindeki özellikleri varsayılan olarak ayarlar. Boş bir VirtualMachineScaleSetVMProfile özelliğine sahip bir VMSS oluşturmak için, önce New-AzVmssConfig kullanarak boş bir VirtualMachineScaleSetVMProfile özelliğine sahip bir VirtualMachineScaleSet nesnesi oluşturarak basit parametre kümesini kullanın.
Öğretici için bkz. [Hızlı Başlangıç: Azure PowerShell ile sanal makine ölçek kümesi oluşturma](https://learn.microsoft.com/en-us/azure/virtual-machine-scale-sets/quick-create-powershell) .
Örnekler
Örnek 1: SimpleParameterSet kullanarak VMSS oluşturma
$vmssName = 'VMSSNAME'
# Create credentials, I am using one way to create credentials, there are others as well.
# Pick one that makes the most sense according to your use case.
$vmPassword = ConvertTo-SecureString -String "****" -AsPlainText -Force
$vmCred = New-Object System.Management.Automation.PSCredential('USERNAME', $vmPassword)
$securityTypeStnd = "Standard"
#Create a VMSS using the default settings
New-AzVmss -Credential $vmCred -VMScaleSetName $vmssName -SecurityType $securityTypeStnd
Yukarıdaki komut adıyla $vmssName aşağıdakileri oluşturur:
Kaynak Grubu
Sanal ağ
Yük dengeleyici
Genel IP
2 örnekli VMSS
VMSS'deki VM'ler için seçilen varsayılan görüntü şudur 2016-Datacenter Windows Server : SKU Standard_DS1_v2
Örnek 2: DefaultParameterSet kullanarak VMSS oluşturma
Yukarıdaki karmaşık örnek bir VMSS oluşturur ve neler olduğuna ilişkin bir açıklama aşağıda verilmiştir:
İlk komut, belirtilen ad ve konuma sahip bir kaynak grubu oluşturur.
İkinci komut, depolama hesabı oluşturmak için New-AzStorageAccount cmdlet'ini kullanır.
Üçüncü komut, ikinci komutta oluşturulan depolama hesabını almak için Get-AzStorageAccount cmdlet'ini kullanır ve sonucu $STOAccount değişkeninde depolar.
Beşinci komut , new-AzVirtualNetworkSubnetConfig cmdlet'ini kullanarak bir alt ağ oluşturur ve sonucu $SubNet adlı değişkende depolar.
Altıncı komut, bir sanal ağ oluşturmak için New-AzVirtualNetwork cmdlet'ini kullanır ve sonucu $VNet adlı değişkende depolar.
Yedinci komut, altıncı komutta oluşturulan sanal ağ hakkında bilgi almak için Get-AzVirtualNetwork kullanır ve bilgileri $VNet adlı değişkende depolar.
Sekizinci ve dokuzuncu komut, bu genel IP adresinden bilgi oluşturmak ve almak için New-AzPublicIpAddress ve Get- AzureRmPublicIpAddress kullanır.
Komutlar bilgileri $PubIP adlı değişkende depolar.
Onuncu komut , new- AzureRmLoadBalancerFrontendIpConfig cmdlet'ini kullanarak bir ön uç yük dengeleyici oluşturur ve sonucu $Frontend adlı değişkende depolar.
On birinci komut, bir arka uç adres havuzu yapılandırması oluşturmak için New-AzLoadBalancerBackendAddressPoolConfig kullanır ve sonucu $BackendAddressPool adlı değişkende depolar.
Onikinci komut New-AzLoadBalancerProbeConfig komutunu kullanarak bir yoklama oluşturur ve yoklama bilgilerini $Probe adlı değişkende depolar.
On üçüncü komut, yük dengeleyici gelen ağ adresi çevirisi (NAT) havuz yapılandırması oluşturmak için New-AzLoadBalancerInboundNatPoolConfig cmdlet'ini kullanır.
On dördüncü komut, bir yük dengeleyici kuralı yapılandırması oluşturmak için New-AzLoadBalancerRuleConfig kullanır ve sonucu $LBRule adlı değişkende depolar.
On beşinci komut, bir yük dengeleyici oluşturmak için New-AzLoadBalancer cmdlet'ini kullanır ve sonucu $ActualLb adlı değişkende depolar.
Onaltıncı komut, on beşinci komutta oluşturulan yük dengeleyici hakkında bilgi almak için Get-AzLoadBalancer kullanır ve bilgileri $ExpectedLb adlı değişkende depolar.
On yedinci komut , Bir VMSS IP yapılandırması oluşturmak için New-AzVmssIpConfig cmdlet'ini kullanır ve bilgileri $IPCfg adlı değişkende depolar.
Onsekizinci komut , New-AzVmssConfig cmdlet'ini kullanarak bir VMSS yapılandırma nesnesi oluşturur ve sonucu $VMSS adlı değişkende depolar.
On dokuzuncu komut, VMSS'yi oluşturmak için New-AzVmss cmdlet'ini kullanır.
Örnek 3: UserData değeriyle VMSS oluşturma
$ResourceGroupName = 'RESOURCE GROUP NAME';
$vmssName = 'VMSSNAME';
$domainNameLabel = "dnl" + $ResourceGroupName;
# Create credentials, I am using one way to create credentials, there are others as well.
# Pick one that makes the most sense according to your use case.
$vmPassword = ConvertTo-SecureString -String "****" -AsPlainText -Force;
$vmCred = New-Object System.Management.Automation.PSCredential('USERNAME', $vmPassword);
$text = "UserData value to encode";
$bytes = [System.Text.Encoding]::Unicode.GetBytes($text);
$userData = [Convert]::ToBase64String($bytes);
$securityTypeStnd = "Standard";
#Create a VMSS
New-AzVmss -ResourceGroupName $ResourceGroupName -Name $vmssName -Credential $vmCred -DomainNameLabel $domainNameLabel -Userdata $userData -SecurityType $securityTypeStnd;
$vmss = Get-AzVmss -ResourceGroupName $ResourceGroupName -VMScaleSetName $vmssName -InstanceView:$false -Userdata;
UserData değeriyle VMSS oluşturma
Örnek 4: TrustedLaunch güvenlik türüyle vmss oluşturma
Bu örnek Yeni Güvenlik Türü 'TrustedLaunch' ile yeni bir VMSS oluşturur ve gerekli UEFISettings değerleri, VTpmEnabled ve SecureBootEnabled doğrudur. Daha fazla bilgi için lütfen Güvenilen Başlatma özellik sayfasına bakın.
Örnek 5: Düzenleme Modunda Vms oluşturma: Varsayılan olarak Esnek
Yukarıdaki sanal makine ölçek kümesinde Güvenilen Başlatma varsayılan olarak etkindir. Daha fazla bilgi için lütfen Güvenilen Başlatma özellik sayfasına bakın.
Parametreler
-AddProxyAgentExtension
ProxyAgent Uzantısının örtük olarak yüklenip yüklenmeyeceğini belirtir. Bu seçenek şu anda yalnızca Linux işletim sistemi için geçerlidir.
Bu Ölçek Kümesi için yük dengeleyicide kullanılacak arka uç adres havuzunun adı. Değer sağlanmazsa, Ölçek Kümesi ile aynı ada sahip yeni bir arka uç havuzu oluşturulur.
Ölçek Kümesi yük dengeleyicisi tarafından Ölçek Kümesindeki VM'lerle iletişim kurmak için kullanılan arka uç bağlantı noktası numaraları. Hiçbir değer belirtilmezse, Windows VMS için 3389 ve 5985 numaralı bağlantı noktaları ve Linux VM'leri için 22 numaralı bağlantı noktası kullanılır.
Bu Ölçek Kümesindeki VM'ler için yönetici kimlik bilgileri (kullanıcı adı ve parola).
Kullanıcı adı Kısıtlama:
Windows: Özel karakterler içeremez /""[]:|<>+=;,?*@& veya "." ile bitirin.
Linux: Kullanıcı adı yalnızca harf, sayı, kısa çizgi ve alt çizgi içermelidir ve kısa çizgi veya sayıyla başlanmayabilir.
İzin verilmeyen değerler : "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". En az uzunluk: 1 karakter Maksimum uzunluk: Windows için 20 karakter, Linux için 64 karakter Parola
Aşağıdakilerden 3'ünün olması gerekir: 1 küçük harf karakteri, 1 büyük harf karakteri, 1 sayı ve 1 özel karakter.
Değer 12 ile 123 karakter uzunluğunda olmalıdır.
Bu Ölçek Kümesi için genel Fully-Qualified etki alanı adı (FQDN) için etki alanı adı etiketi. Bu, ölçek kümesine otomatik olarak atanan etki alanı adının ilk bileşenidir. Otomatik olarak atanan Etki alanı adları( formunu<DomainNameLabel>.<Location>.cloudapp.azure.com kullanır. Değer sağlanmazsa, varsayılan etki alanı adı etiketi ve <ScaleSetName>birleştirmesi <ResourceGroupName> olur.
Görüntünün daha yeni bir sürümü kullanılabilir olduğunda, işletim sistemi yükseltmelerinin ölçek kümesi örneklerine sıralı bir şekilde otomatik olarak uygulanıp uygulanmayacağı.
Bu parametre, ana bilgisayarın kendisinde Kaynak/Geçici disk de dahil olmak üzere tüm diskler için şifrelemeyi etkinleştirir.
Varsayılan: Bu özellik kaynak için true olarak ayarlanmadığı sürece konakta şifreleme devre dışı bırakılır.
Bu özellik 'zonePlacementPolicy' özelliğini tamamlar. 'zonePlacementPolicy' 'Any' olarak ayarlanırsa, sistem tarafından seçilen kullanılabilirlik alanı 'excludeZones' ile geçirilen kullanılabilirlik alanları listesinde mevcut olmamalıdır. 'excludeZones' sağlanmazsa, bölgedeki tüm kullanılabilirlik alanları seçim için dikkate alınır.
Ölçek Kümesi yük dengeleyicide kullanılacak ön uç adres havuzunun adı. Değer sağlanmazsa, ölçek kümesiyle aynı ada sahip yeni bir Ön Uç Adres Havuzu oluşturulur.
PUT ve diğer güvenli olmayan yöntemler için koşullu istekte bulunmak için kullanılır. Sunucu yalnızca kaynak listelenen ETag değerlerinden biriyle eşleşiyorsa istenen kaynakları döndürür. Geçerli kaynağın üzerine her zaman yazmak için bu değeri atla. Eşzamanlı değişikliklerin yanlışlıkla üzerine yazılmasını önlemek için son görülen ETag değerini belirtin.
GET ve HEAD yöntemleri için koşullu istek yapmak için kullanılır. Sunucu yalnızca listelenen ETag değerlerinin hiçbiri geçerli varlıkla eşleşmiyorsa istenen kaynakları döndürür. GET ve HEAD yöntemleri için koşullu istek yapmak için kullanılır. Sunucu yalnızca listelenen ETag değerlerinin hiçbiri geçerli varlıkla eşleşmiyorsa istenen kaynakları döndürür. Yeni bir kayıt kümesinin oluşturulmasına izin vermek, ancak var olan bir kayıt kümesinin güncelleştirilmesini önlemek için '*' olarak ayarlayın. Desteklenmeyen diğer değerler sunucudan hatayla sonuçlanır.
Bu Ölçek Kümesindeki VM'ler için görüntünün diğer adı. Değer sağlanmazsa, "Windows Server 2016 DataCenter" görüntüsü kullanılır. Kullanılabilir diğer adlar şunlardır: Win2022AzureEdition, Win2022AzureEditionCore, Win2019Datacenter, Win2016Datacenter, Win2012R2Datacenter, Win2012Datacenter, UbuntuLTS, Ubuntu2204, CentOS85Gen2, Debian11, OpenSuseLeap154Gen2, RHELRaw8LVMGen2, SuseSles15SP3, FlatcarLinuxFreeGen2.
Bu özellik 'zonePlacementPolicy' özelliğini tamamlar. 'zonePlacementPolicy' 'Any' olarak ayarlanırsa, sistem tarafından seçilen kullanılabilirlik alanı 'includeZones' ile geçirilen kullanılabilirlik alanları listesinde bulunmalıdır. 'includeZones' sağlanmazsa, bölgedeki tüm kullanılabilirlik alanları seçim için dikkate alınır.
Bu Ölçek Kümesinin oluşturulacağı Azure konumu. Herhangi bir değer belirtilmezse, konum parametrelerde başvuruda bulunılan diğer kaynakların konumundan çıkarılır.
OrchestrationMode:Flexible içinde varsayılan parametre kümesi kullanılarak bir VMSS oluşturulması, VirtualMachineScaleSetVMProfile dosyasının varsayılan olarak doldurulmasıyla sonuçlanır.
Boş bir VirtualMachineScaleSetVMProfile ile VMSS oluşturmak istiyorsanız, önce New-AzVmssConfig kullanarak boş VMProfile özelliğine sahip bir VirtualMachineScaleSet nesnesi oluşturun, ardından basit parametre kümesini kullanarak VMSS'yi oluşturun.
Ölçek kümesindeki sanal makinenin önceliği. Yalnızca desteklenen değerler 'Normal', 'Spot' ve 'Düşük' değerleridir.
'Normal', normal sanal makine içindir.
'Spot', spot sanal makinesi içindir.
'Düşük' aynı zamanda spot sanal makine içindir ancak yerine 'Spot' kullanılmaktadır. Lütfen 'Düşük' yerine 'Spot' kullanın.
Sanal makine ölçek kümesinde ölçeklendirme yapılırken uyulması gereken kurallar. Olası değerler şunlardır: 'Default', 'OldestVM' ve 'NewestVM'. Bir sanal makine ölçek kümesi ölçeklendirildiğinde 'Varsayılan', ölçek kümesi bir bölgesel ölçek kümesiyse önce bölgeler arasında dengelenir. Ardından, mümkün olduğunca Hata Etki Alanları arasında dengelenir. Her Hata Etki Alanı içinde, kaldırma için seçilen sanal makineler, ölçeği daraltmadan korunmayan en yeni makineler olacaktır. Bir sanal makine ölçek kümesi ölçeklendirilirken 'OldestVM' kaldırılmak üzere ölçeklemeden korunmayan en eski sanal makineler seçilir. Bölgesel sanal makine ölçek kümeleri için ölçek kümesi önce bölgeler arasında dengelenir. Her bölge içinde, kaldırılmayan en eski sanal makineler seçilir. Bir sanal makine ölçek kümesi ölçeklendirilirken 'NewestVM' kaldırılmak üzere ölçeklemeden korunmayan en yeni sanal makineler seçilir. Bölgesel sanal makine ölçek kümeleri için ölçek kümesi önce bölgeler arasında dengelenir. Her bölge içinde, kaldırılmayan en yeni sanal makineler seçilir.
Bu Ölçek Kümesine uygulanacak ağ güvenlik grubunun adı. Değer sağlanmazsa, Ölçek Kümesi ile aynı ada sahip bir varsayılan ağ güvenlik grubu oluşturulur ve Ölçek Kümesine uygulanır.
/CommunityGalleries/{communityGalleryName}/securityPostures/{securityPostureName}/versions/{major.minor.patch}|latest biçiminde güvenlik duruşu başvuru kimliği
Sanal makinenin SecurityType değerini belirtir. UefiSettings'i etkinleştirmek için belirtilen herhangi bir değere ayarlanması gerekir. Bu özellik ayarlanmadığı sürece UefiSettings etkinleştirilmez.
Bu ölçek kümesindeki VM örneklerinin boyutu.
Get-AzComputeResourceSku , aboneliğiniz ve bölgeniz için kullanılabilir boyutları bulmak için kullanılabilir. Boyut belirtilmezse varsayılan boyut (Standard_DS1_v2) kullanılır.
Kaynağın kullanılabilirlik alanına yerleştirilmesine ilişkin ilkeyi belirtir. Olası değerler şunlardır: Herhangi biri (Sanal Makineler için kullanılır), Otomatik (Sanal Makine Ölçek Kümeleri için kullanılır) - Kaynak oluşturma işleminin bir parçası olarak sistem tarafından otomatik olarak bir kullanılabilirlik alanı seçilir.
Bu cmdlet yaygın parametreleri destekler: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction ve -WarningVariable. Daha fazla bilgi için bkz. about_CommonParameters.
Bu içeriğin kaynağı GitHub'da bulunabilir; burada ayrıca sorunları ve çekme isteklerini oluşturup gözden geçirebilirsiniz. Daha fazla bilgi için katkıda bulunan kılavuzumuzu inceleyin.