Delen via


Bicep Kubernetes-extensie (preview)

Met de Kubernetes-extensie kunt u rechtstreeks Kubernetes-resources maken met Bicep. Bicep kan alles implementeren dat kan worden geïmplementeerd met de Kubernetes-opdrachtregelclient (kubectl) en een Kubernetes-manifestbestand.

Notitie

De Kubernetes-extensie wordt momenteel niet ondersteund voor privéclusters:

resource AKS 'Microsoft.ContainerService/managedClusters@2024-02-01' = {
 ...
 properties: {
  apiServerAccessProfile: {
    enablePrivateCluster: true
  }
 }
}

De preview-functie inschakelen

Deze preview-functie kan worden ingeschakeld door de bicepconfig.json te configureren:

{
  "experimentalFeaturesEnabled": {
    "extensibility": true
  }
}

Kubernetes-extensie importeren

Als u geheimen veilig wilt doorgeven voor de Kubernetes-implementatie, moet u de Kubernetes-code aanroepen met een Bicep-module en de parameter doorgeven als een geheim. Gebruik de importinstructie om de Kubernetes-extensie te importeren. Nadat u de extensie hebt geïmporteerd, kunt u het Bicep-modulebestand zoals gebruikelijk herstructureren, zoals met behulp van variabelen, parameters en uitvoer. Per contract bevat het Kubernetes-manifest in YML geen ondersteuning voor programmeerbaarheid.

In het volgende voorbeeld wordt de Kubernetes-extensie geïmporteerd:

@secure()
param kubeConfig string

import 'kubernetes@1.0.0' with {
  namespace: 'default'
  kubeConfig: kubeConfig
} as k8s
  • naamruimte: geef de naamruimte van de extensie op.
  • KubeConfig: Geef een base64-gecodeerde waarde op van de referenties van de Kubernetes-clusterbeheerder.

In het volgende voorbeeld ziet u hoe u een waarde doorgeeft kubeConfig uit een bovenliggend Bicep-bestand:

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
  }
}

Het AKS-cluster kan een nieuwe resource of een bestaande resource zijn. Met de Import Kubernetes manifest opdracht van Visual Studio Code kan automatisch het importfragment worden toegevoegd. Zie de opdracht Kubernetes-manifest importeren voor meer informatie.

Visual Studio Code importeren

Vanuit Visual Studio Code kunt u Kubernetes-manifestbestanden importeren om Bicep-modulebestanden te maken. Zie Visual Studio Code voor meer informatie.

Volgende stappen