Comparteix a través de


Proveedor de Kubernetes de extensibilidad de Bicep (versión preliminar)

El proveedor de 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:

El proveedor de Kubernetes no se admite actualmente para clústeres privados:

resource AKS 'Microsoft.ContainerService/managedClusters@2023-01-02-preview' = {
 ...
 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 del proveedor de 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 el proveedor de Kubernetes, use la instrucción de importación. Después de importar el proveedor, 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 el proveedor de 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@2022-05-02-preview' 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