Bicep Kubernetes 拡張機能 (プレビュー)

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

Note

Kubernetes 拡張機能は、プライベート クラスターでは現在サポートされていません。

resource AKS 'Microsoft.ContainerService/managedClusters@2024-02-01' = {
 ...
 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@2024-02-01' 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 に関するページをご覧ください。

次のステップ