Extensión Kubernetes de Bicep (versión preliminar)
La extensión Kubernetes permite crear recursos de Kubernetes directamente con Bicep. Bicep puede implementar cualquier cosa que se pueda implementar con el cliente de línea de comandos de Kubernetes (kubectl) y un archivo de manifiesto de Kubernetes.
Nota:
La extensión Kubernetes no se admite actualmente para clústeres privados:
resource AKS 'Microsoft.ContainerService/managedClusters@2024-02-01' = {
...
properties: {
apiServerAccessProfile: {
enablePrivateCluster: true
}
}
}
Habilitación de la característica en versión preliminar
Esta característica en vista previa se puede habilitar mediante la configuración de bicepconfig.json:
{
"experimentalFeaturesEnabled": {
"extensibility": true
}
}
Importación de la extensión Kubernetes
Para pasar secretos de forma segura para la implementación de Kubernetes, debe invocar el código de Kubernetes con un módulo de Bicep y pasar el parámetro como un secreto. Para importar la extensión Kubernetes, use la instrucción import. Después de importar la extensión, puede refactorizar el archivo de módulo de Bicep como de costumbre, por ejemplo, mediante variables, parámetros y salida. Por contrato, el manifiesto de Kubernetes en YML no incluye compatibilidad con la programación.
En el ejemplo siguiente se importa la extensión Kubernetes:
@secure()
param kubeConfig string
import 'kubernetes@1.0.0' with {
namespace: 'default'
kubeConfig: kubeConfig
} as k8s
- namespace: especifique el espacio de nombres de la extensión.
- KubeConfig: especifique un valor codificado en base64 de las credenciales de administrador del clúster de Kubernetes.
En el ejemplo siguiente se muestra cómo pasar el valor kubeConfig
de un archivo de Bicep primario:
resource aks 'Microsoft.ContainerService/managedClusters@2024-02-01' existing = {
name: 'demoAKSCluster'
}
module kubernetes './kubernetes.bicep' = {
name: 'buildbicep-deploy'
params: {
kubeConfig: aks.listClusterAdminCredential().kubeconfigs[0].value
}
}
El clúster de AKS puede ser un nuevo recurso o un recurso existente. El comando Import Kubernetes manifest
de Visual Studio Code puede agregar automáticamente el fragmento de código de importación. Para obtener los detalles, consulte Importación del comando de manifiesto de Kubernetes.
Importación desde Visual Studio Code
Desde Visual Studio Code, puede importar archivos de manifiesto de Kubernetes para crear archivos de módulo de Bicep. Para más información, consulte Visual Studio Code.