Bicep 拡張機能 Kubernetes プロバイダー (プレビュー)

Kubernetes プロバイダーを使用すると、Bicep を使用して Kubernetes リソースを直接作成できます。 Bicep では、Kubernetes コマンド ライン クライアント (kubectl)Kubernetes マニフェスト ファイルを使用してデプロイできるすべてのものをデプロイできます。

Note

Kubernetes プロバイダーは現在、プライベート クラスターではサポートされていません。

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

プレビュー機能を有効にする

このプレビュー機能は、bicepconfig.json を構成して有効にできます。

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

Kubernetes プロバイダーをインポートする

Kubernetes デプロイのためのシークレットを安全に渡すには、Bicep モジュールを使用して Kubernetes コードを呼び出し、 パラメーターをシークレットとして渡す必要があります。 Kubernetes プロバイダーをインポートするには、import ステートメントを使用します。 プロバイダーをインポートした後、変数、パラメーター、出力を使用するなどして、通常どおりに Bicep モジュール ファイルをリファクタリングできます。 契約上、YML の Kubernetes マニフェストにはプログラミングサポートは含まれていません。

次の例では、Kubernetes プロバイダーをインポートします。

@secure()
param kubeConfig string

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

次の例は、親の Bicep ファイルから kubeConfig 値を渡す方法を示しています。

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 クラスターは、新しいリソースでも既存のリソースでもかまいません。 Visual Studio Code の Import Kubernetes manifest コマンドでは、インポート スニペットを自動的に追加できます。 詳細については、Kubernetes マニフェストのインポート コマンドに関する記事を参照してください。

Visual Studio Code のインポート

Visual Studio Code から Kubernetes マニフェスト ファイルをインポートして、Bicep モジュール ファイルを作成できます。 詳しくは、Visual Studio Code に関するページをご覧ください。

次のステップ