Bicep Kubernetes 扩展(预览)
Kubernetes 扩展允许你直接使用 Bicep 创建 Kubernetes 资源。 Bicep 可以部署能够使用 Kubernetes 命令行客户端 (kubectl) 和 Kubernetes 清单文件部署的任何内容。
备注
专用群集当前不支持 Kubernetes 扩展:
resource AKS 'Microsoft.ContainerService/managedClusters@2024-02-01' = {
...
properties: {
apiServerAccessProfile: {
enablePrivateCluster: true
}
}
}
可以通过配置 bicepconfig.json 来启用此预览功能:
{
"experimentalFeaturesEnabled": {
"extensibility": true
}
}
若要安全地传递 Kubernetes 部署的机密,必须使用 Bicep 模块调用 Kubernetes 代码,并将参数作为机密传递。 若要导入 Kubernetes 扩展,请使用扩展语句。 导入扩展后,可以像往常一样重构 Bicep 模块文件,例如使用变量、参数和输出。 根据协定,YML 中的 Kubernetes 清单不包含任何可编程性支持。
以下示例导入了 Kubernetes 扩展:
@secure()
param kubeConfig string
extension kubernetes with {
namespace: 'default'
kubeConfig: kubeConfig
} as k8s
- 命名空间:指定扩展的命名空间。
- KubeConfig:指定 Kubernetes 群集管理员凭据的 base64 编码值。
以下示例演示了如何从父 Bicep 文件传递 kubeConfig
值:
resource aks 'Microsoft.ContainerService/managedClusters@2024-08-01' existing = {
name: 'demoAKSCluster'
}
module kubernetes './kubernetes.bicep' = {
name: 'buildbicep-deploy'
params: {
kubeConfig: aks.listClusterAdminCredential().kubeconfigs[0].value
}
}
AKS 群集可以是新资源,也可以是现有资源。 Visual Studio Code 中的 Import Kubernetes manifest
命令可以自动添加导入代码片段。 有关详细信息,请参阅 导入 Kubernetes 清单命令。
你可以从 Visual Studio Code 导入 Kubernetes 清单文件来创建 Bicep 模块文件。 有关详细信息,请参阅 Visual Studio Code。