如何在Bicep中获得AKS节点池vnet



现有AKS节点池信息

Nodepool虚拟网络:managed

Nodepool子网:managed


在Bicep脚本中,我想创建一个私有端点将AKS连接到Azure Redis服务,所以我试图获得vnet名称subnetId

// Get existing k8s cluster
resource cluster 'Microsoft.ContainerService/managedClusters@2022-01-02-preview' existing = {
name: clusterName
}
// Get existing k8s agent pool
resource agentPool 'Microsoft.ContainerService/managedClusters/agentPools@2022-01-02-preview' existing = {
parent: cluster
name: agentPoolName
}
// create private endpoint
resource redisPrivateEndpoint 'Microsoft.Network/privateEndpoints@2020-07-01' = {
name: 'redis-pe'
location: location
properties: {
subnet: {
id: agentPool.properties.vnetSubnetID
}
privateLinkServiceConnections: [
{
name: 'redis-connection'
properties: {
privateLinkServiceId: redis.id
groupIds: [
'redisCache'
]
}
}
]
}
}

有两个问题

  1. 有一个错误消息告诉我agentPool.properties.vnetSubnetID的值不存在
  2. 没有办法得到Vnet名称使用类似的东西,agentPool.properties.vnet

如有任何意见,我将不胜感激。

您无法检索由AKS创建的vnet。但是,您可以在AKS之前创建VNET,并将节点池分配给部署VNET时创建的特定子网。

另外,不应该在节点池中创建私有端点。创建一个单独的子网来保存您的专用端点。如果您计划使用nsg来限制哪些子网可以访问特定的PE,建议为每个服务的PE创建一个子网。

相关内容

  • 没有找到相关文章