Поделиться через


Поставщик Kubernetes для расширения Bicep (предварительная версия)

Поставщик Kubernetes позволяет создавать ресурсы Kubernetes непосредственно с помощью Bicep. Bicep может развернуть все, что можно развернуть с помощью клиента командной строки Kubernetes (kubectl) и файла манифеста Kubernetes.

Примечание.

Поставщик Kubernetes в настоящее время не поддерживается для частных кластеров:

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

Включение функции предварительной версии

Эту предварительную версию можно включить, настроив bicepconfig.json:

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

Импорт поставщика Kubernetes

Чтобы безопасно передать секреты для развертывания Kubernetes, необходимо вызвать код Kubernetes с модулем Bicep и передать параметр в качестве секрета. Чтобы импортировать поставщик Kubernetes, используйте инструкцию импорта. После импорта поставщика можно рефакторинг файла модуля Bicep как обычно, например с помощью переменных, параметров и выходных данных. По контракту манифест Kubernetes в YML не включает поддержку программирования.

В следующем примере импортируется поставщик Kubernetes:

@secure()
param kubeConfig string

import 'kubernetes@1.0.0' with {
  namespace: 'default'
  kubeConfig: kubeConfig
} as k8s
  • пространство имен: укажите пространство имен поставщика.
  • KubeConfig: укажите значение в кодировке Base64 учетных данных администратора кластера Kubernetes.

В следующем примере показано, как передать kubeConfig значение из родительского файла Bicep:

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

Кластер AKS может быть новым ресурсом или существующим ресурсом. Команда Import Kubernetes manifest из Visual Studio Code может автоматически добавить фрагмент импорта. Дополнительные сведения см. в разделе "Импорт манифеста Kubernetes".

Импорт Visual Studio Code

Из Visual Studio Code можно импортировать файлы манифеста Kubernetes для создания файлов модуля Bicep. Дополнительные сведения см. в Visual Studio Code.

Следующие шаги