Özel makine yapılandırma paketi yapıtlarını yayımlama
Başlamadan önce makine yapılandırmasına yönelik genel bakış sayfasını okumak iyi bir fikirdir.
Makine yapılandırması özel .zip
paketleri, yönetilen makineler tarafından HTTPS aracılığıyla erişilebilen bir konumda depolanmalıdır. Örnek olarak GitHub depoları, Azure Deposu, Azure depolama alanı veya özel veri merkezinizdeki bir web sunucusu verilebilir.
Destekleyen Audit
ve AuditandSet
aynı şekilde yayımlanan yapılandırma paketleri. Yayımlama sırasında paket moduna göre özel bir şey yapmanıza gerek yoktur.
Yapılandırma paketi yayımlama
Yapılandırma paketini depolamak için tercih edilen konum Azure Blob Depolama. Depolama hesabı için özel bir gereksinim yoktur, ancak dosyayı makinelerinize yakın bir bölgede barındırmak iyi bir fikirdir. Paketi genel hale getirmemek isterseniz, URL'ye sas belirteci ekleyebilir veya özel ağdaki makineler için bir hizmet uç noktası uygulayabilirsiniz.
Yapılandırma paketinizi Azure blob depolamada yayımlamak için Az.Depolama modülünü kullanan bu adımları izleyebilirsiniz.
Depolama hesabınız yoksa aşağıdaki örneği kullanarak bir tane oluşturun.
# Creates a new resource group, storage account, and container
$ResourceGroup = '<resource-group-name>'
$Location = '<location-id>'
New-AzResourceGroup -Name $ResourceGroup -Location $Location
$newAccountParams = @{
ResourceGroupname = $ResourceGroup
Location = $Location
Name = '<storage-account-name>'
SkuName = 'Standard_LRS'
}
$container = New-AzStorageAccount @newAccountParams |
New-AzStorageContainer -Name machine-configuration -Permission Blob
Ardından, paketi depolamak istediğiniz depolama hesabının bağlamını alın. Önceki örnekte depolama hesabını oluşturduysanız, değişkenine kaydedilen depolama kapsayıcısı nesnesinden bağlamı $container
alabilirsiniz:
$context = $container.Context
Mevcut bir depolama kapsayıcısı kullanıyorsanız, cmdlet'iyle New-AzStorageContext
kapsayıcının bağlantı dizesi kullanabilirsiniz:
$connectionString = @(
'DefaultEndPointsProtocol=https'
'AccountName=<storage-account-name>'
'AccountKey=<storage-key-for-the-account>' # ends with '=='
) -join ';'
$context = New-AzStorageContext -ConnectionString $connectionString
Ardından yapılandırma paketini depolama hesabına ekleyin. Bu örnek zip dosyasını ./MyConfig.zip
blob kapsayıcısına machine-configuration
yükler.
$setParams = @{
Container = 'machine-configuration'
File = './MyConfig.zip'
Context = $context
}
$blob = Set-AzStorageBlobContent @setParams
$contentUri = $blob.ICloudBlob.Uri.AbsoluteUri
Not
Bu örnekleri CloudShell'de çalıştırıyor ancak zip dosyanızı yerel olarak oluşturduysanız, dosyayı CloudShell'e yükleyebilirsiniz.
Bu sonraki adım isteğe bağlı olsa da, pakete güvenli erişim sağlamak için URL'ye bir paylaşılan erişim imzası (SAS) belirteci eklemeniz gerekir. Aşağıdaki örnek okuma erişimine sahip bir blob SAS belirteci oluşturur ve paylaşılan erişim imzası belirteci ile tam blob URI'sini döndürür. Bu örnekte belirtecin üç yıllık bir zaman sınırı vardır.
$startTime = Get-Date
$endTime = $startTime.AddYears(3)
$tokenParams = @{
StartTime = $startTime
ExpiryTime = $endTime
Container = 'machine-configuration'
Blob = 'MyConfig.zip'
Permission = 'r'
Context = $context
FullUri = $true
}
$contentUri = New-AzStorageBlobSASToken @tokenParams
Önemli
SAS belirtecini oluşturduktan sonra döndürülen URI'yi not edin. Belirteci oluşturduktan sonra alamazsınız. Yalnızca yeni belirteçler oluşturabilirsiniz. SAS belirteçleri hakkında daha fazla bilgi için bkz. Paylaşılan erişim imzalarını (SAS) kullanarak Azure Depolama kaynaklarına sınırlı erişim verme.
Sonraki adım
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin