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.