Extensão do Kubernetes do Bicep (Versão prévia)

A extensão do Kubernetes permite que você crie recursos do Kubernetes diretamente com o Bicep. O Bicep pode implantar qualquer coisa que possa ser implantada com o cliente de linha de comando (kubectl) do Kubernetes e um arquivo de manifesto do Kubernetes.

Observação

No momento, não há suporte para a extensão do Kubernetes nos clusters privados:

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

Habilitar a versão prévia do recurso

Essa versão prévia do recurso pode ser habilitada configurando o bicepconfig.json:

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

Importar a extensão do Kubernetes

Para passar segredos com segurança para a implantação do Kubernetes, você deve invocar o código Kubernetes com um módulo Bicep e passar o parâmetro como um segredo. Para importar a extensão do Kubernetes, use a instrução de importação. Depois de importar a extensão, você pode refatorar o arquivo de módulo do Bicep como de costume, por exemplo, usando variáveis, parâmetros e saída. Por contrato, o manifesto do Kubernetes no YML não inclui nenhum suporte de programação.

O exemplo a seguir importa a extensão do Kubernetes:

@secure()
param kubeConfig string

import 'kubernetes@1.0.0' with {
  namespace: 'default'
  kubeConfig: kubeConfig
} as k8s

O exemplo a seguir mostra como passar o valor kubeConfig de um arquivo Bicep pai:

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

O cluster do AKS pode ser um novo recurso ou um recurso existente. O comando Import Kubernetes manifest do Visual Studio Code pode adicionar automaticamente o trecho de código de importação. Para obter detalhes, consulte Importar comando de manifesto do Kubernetes.

importação Visual Studio Code

Do Visual Studio Code, você pode importar arquivos de manifesto do Kubernetes para criar arquivos de módulo do Bicep. Para obter mais informações, confira Visual Studio Code.

Próximas etapas