Compartir a través de


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

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.

Pasos siguientes