はじめに
皆さんご存知の通り、AKSではFlux、Dapr、KEDAがサポートされています。 あるのは知っているんだけど、AKSをプロビジョニングする際これらの機能をどうやって有効にするか、意外と覚えていないものです。今回はそれをご紹介したいと思います。
(何割かは自分向けの備忘録でもあります)
有効化方法
実は有効の方法はKEDAと、Flux/Daprとでは少し違います。
KEDA
KEDAを有効にするには AKSプロビジョニング時のオプションとして指定します。
resource aks 'Microsoft.ContainerService/managedClusters@2023-10-01' = { name: clusterName location: location identity: { type: 'SystemAssigned' } sku: { name: 'Base' // Fixed value tier: clusterSku } properties: { // 省略 workloadAutoScalerProfile: { keda: { enabled: enableKeda } } // 省略
properties.workloadAutoScalerProfile.keda.enabled
を指定することでKEDAが有効になります。
プロビジョニング後、以下のコマンドで結果が確認できます。
az aks show -g myResourceGroup --name myAKSCluster --query "workloadAutoScalerProfile.keda.enabled"
Flux と Dapr
FluxとDaprは Microsoft.KubernetesConfiguration/extensions
を使って有効にします。
Fluxはこんな感じです。
param clusterName string param fluxName string param fluxNamespace string = 'flux-system' param autoUpgradeMinorVersion bool = true resource aks 'Microsoft.ContainerService/managedClusters@2022-04-01' existing = { name: clusterName } resource flux 'Microsoft.KubernetesConfiguration/extensions@2022-11-01' = { name: fluxName scope: aks properties: { extensionType: 'microsoft.flux' scope: { cluster: { releaseNamespace: fluxNamespace } } autoUpgradeMinorVersion: autoUpgradeMinorVersion } }
Daprはこんな感じになります。
param clusterName string param daprName string param daprNamespace string = 'dapr-system' param autoUpgradeMinorVersion bool = true resource aks 'Microsoft.ContainerService/managedClusters@2022-04-01' existing = { name: clusterName } resource dapr 'Microsoft.KubernetesConfiguration/extensions@2022-11-01' = { name: daprName scope: aks properties: { extensionType: 'Microsoft.Dapr' scope: { cluster: { releaseNamespace: daprNamespace } } autoUpgradeMinorVersion: autoUpgradeMinorVersion } }
これらを実行すると有効になります。
まとめ
わかってしまえば簡単ですが、実は今回Daprの有効化の方法についてなかなか見つけられなかったため、のちのち誰か同じことを調べるだろう(未来の自分も含みます)と考え記録として残そうと思いました。お役にたてば幸いです。