我正在使用Azure Bicep來創建一個具有單一子網的虛擬網路,然后將其作為創建AKS集群的輸入。vnetSubnetID: virtualNetwork.properties.subnets[0].id
我第一次運行該命令時,它能很好地創建虛擬網路和集群,但第二次運行該命令時,它給出了這樣的錯誤:
{"錯誤":{"代碼": "InvalidTemplateDeployment", "訊息": "根據模板 部署'cluster'根據驗證程式是無效的。 程式無效。跟蹤ID是'[REDACTED_JUST_IN_CASE]'。參見內部錯誤以了解 細節", "細節":[{"代碼": "PropertyChangeNotAllowed", "訊息": "Provisioning 資源組中的容器服務playground-cluster0的資源。 組中的容器服務playground-cluster0的資源供應失敗。訊息。{ "代碼": "PropertyChangeNotAllowed"。 "訊息": "改變屬性 agentPoolProfile.vnetSubnetID'是不允許的"。 "目標": "agentPoolProfile.vnetSubnetID" }. 詳細資訊。"}]}}
我仔細檢查了一下,在部署所創建的虛擬網路中只有一個子網(沒有其他神奇的出現或任何東西)。
我在第二個資源組上重復了這個實驗,同樣的事情發生了,所以它是可重復的。
以下是完整的 bicep 檔案(只需在您選擇的資源組中呼叫 az deployment group create --resource-group showcase-kevinplayground2 -f cluster.bicep)
targetScope = 'resourceGroup'.
資源 virtualNetwork 'Microsoft.Network/virtualNetworks@2021-02-01' = {
name: 'aksVirtualNetwork'(虛擬網路)
位置: resourceGroup().location
屬性:{
地址空間:{
addressPrefixes:[
'10.10.0.0/16'
]
}
subnets:[
{
名稱:'AKS'
屬性:{
addressPrefix:'10.10.5.0/24'。
}
}
]
}
}
資源 aksManagedIdentity 'Microsoft.ManagedIdentity/userAssignedIdentities@2018-11-30' = {
name: 'playgroundIdentity'
location: resourceGroup().location
}
資源Aks 'Microsoft.ContainerService/managedClusters@2021-02-01' = {
名稱:'playground-cluster0'
位置: resourceGroup().location
身份。{
type:'UserAssigned'
userAssignedIdentities: {
'${aksManagedIdentity.id}': {}
}
}
sku: {
名稱:'基本'
級別: '免費
}
屬性。{
kubernetesVersion: '1.21.2
dnsPrefix: 'playground'.
enableRBAC: true
networkProfile: {
networkPlugin: 'azure'.
networkPolicy: 'calico' (網路政策)。
}
aadProfile: {
管理的: true
enableAzureRBAC: true
}
autoUpgradeProfile: {}
apiServerAccessProfile。{
啟用私有集群: false
}
agentPoolProfiles: [
{
name: 'aksnodes
count: 1
vmSize: 'Standard_B2s'.
osDiskSizeGB: 30
osDiskType: '管理的'。
vnetSubnetID: virtualNetwork.properties.subnets[0].id
osType: 'Linux'.
maxCount: 1
minCount: 1
enableAutoScaling: true
型別: 'VirtualMachineScaleSets
模式:'系統'。
協調器版本: null
}
]
}
}
uj5u.com熱心網友回復:
看這個報告github問題,你需要使用resourceId函式。
在你的案例中,類似這樣的東西應該是有效的:
vnetSubnetID: resourceId('Microsoft.Network/virtualNetworks/subnets', 'aksVirtualNetwork', 'aks')
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/326097.html
標籤:
