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 拡張機能をインポートするには、extension ステートメントを使います。 拡張機能をインポートした後、変数、パラメーター、出力を使用するなどして、通常どおり Bicep モジュール ファイルをリファクターできます。 契約上、YML の Kubernetes マニフェストにはプログラミングサポートは含まれていません。
次の例では、Kubernetes 拡張機能をインポートします。
@secure()
param kubeConfig string
extension kubernetes with {
namespace: 'default'
kubeConfig: kubeConfig
} as k8s
- namespace: 拡張機能の名前空間を指定します。
- KubeConfig: Kubernetes クラスター管理者資格情報の base64 でエンコードされた値を指定します。
次の例は、親の Bicep ファイルから kubeConfig
値を渡す方法を示しています。
resource aks 'Microsoft.ContainerService/managedClusters@2024-08-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 に関するページをご覧ください。
次のステップ
- クイックスタートに目を通すには、Bicep Kubernetes 拡張機能を使った Azure Kubernetes Service への Azure アプリケーションのデプロイのクイック スタートに関する記事をご覧ください。
- Microsoft Graph 拡張機能の使い方を学ぶには、Microsoft Graph 用 Bicep テンプレートに関するページをご覧ください。