
はじめに
皆さんご存知の通り、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の有効化の方法についてなかなか見つけられなかったため、のちのち誰か同じことを調べるだろう(未来の自分も含みます)と考え記録として残そうと思いました。お役にたてば幸いです。