APC 技術ブログ

株式会社エーピーコミュニケーションズの技術ブログです。

株式会社 エーピーコミュニケーションズの技術ブログです。

【Microsoft Build 2024速報】AKS Automatic とはなんぞや?

はじめに

こんばんは、ACS事業部の吉川です。
Microsoftの年次イベント Microsoft Build でのアップデートについて引き続きお届けしていきます。

build.microsoft.com

news.microsoft.com

我々ACS事業部の注力分野であるコンテナ系サービスのアップデートから、AKS Automatic にフォーカスを絞ってお届けします。

概要

Azure Kubernetes Service はマネージドな Kubernetes サービスですが、構築時の設定項目が多岐に渡る複雑なサービスです。
設定項目が多数ある=ユーザーが自身のニーズに合わせて自由に設定できる、という捉え方もできるわけですが、そうは言っても数多ある設定を理解して使用するのはやはり敷居が高いです。
その敷居の高さを解決するための策として、AKS Automatic が誕生したのだと思われます。

techcommunity.microsoft.com

Microsoft自身もこれまで多くのサービスのプラットフォームとしてAKSを運用しており、その知見からのフィードバックとして、多くのワークロードにマッチし、かつ運用の手間を削減可能な設定を行ってくれるのが AKS Automatic ということのようです。

どんな設定がなされるのか

では、具体的にどういった設定でクラスターが構築されるのかという点については、以下のドキュメントに記載されています。

learn.microsoft.com

通常との差異をピックアップしてみましょう。

監視・モニタリング

  • マネージド Prometheus の有効化
  • マネージド Grafana の有効化
  • Container Insights の有効化

ノード・クラスター管理

セキュリティ

ネットワーク

上記の設定を見て思うこと

この AKS Automatic 自体がまだパブリックプレビューの状態であり、その中で有効化される設定のいくつかもまだプレビューのものが含まれています。
また、モニタリング周りのサービスやNAT Gatewayなど、追加コストが必要になるサービスも複数組み合わされています。
それらの点から考えると、現状ではAKS Automaticをそのままプロダクション環境で利用するのは難しいという感想です。

一方、本記事の冒頭でも触れたように、この設定はMicrosoftのベストプラクティスが詰まったものであるはずです。
これらの設定が推奨値であることを理解したうえで、求める要件やコストに合わせ変えていく、設定における一つの指針としては役立つだろうと思われます。
個人的には Cilium を採用しているという点に少し驚きました。比較的近年対応が開始されたCNIで、Microsoft としてどこまで力を入れていくのか読めないと思っていたのですが、AKS Automatic で採用されているということから Microsoft としても継続してサポートしていくのであろうということが推測できます。 また、AKSクラスターのバージョンアップも自動アップグレードが選択されています。先日 とあるイベント で AKS のアップグレードについて語り合ってきたのですが、Kubernetes自体がある程度成熟してきているところもあり、個人的にはそろそろ自動アップグレードを本格的に使っていってもよいだろうと考えています。AKS Automatic でも有効化されていることからも、その考えをますます強く持てそうです。

AKS Automatic の使い方

現状ではポータルからは設定できないようです。
Azure CLIで作成するのがよいでしょう。

# Azure CLI の最新化
az upgrade

# aks-preview拡張機能のインストール
az extension add --name aks-preview

# aks-preview拡張機能を既にインストール済の場合はアップデートしておく
az extension update --name aks-preview

# サブスクリプションに対する Feature flags の登録
az feature register --namespace Microsoft.ContainerService --name EnableAPIServerVnetIntegrationPreview
az feature register --namespace Microsoft.ContainerService --name NRGLockdownPreview
az feature register --namespace Microsoft.ContainerService --name SafeguardsPreview
az feature register --namespace Microsoft.ContainerService --name NodeAutoProvisioningPreview
az feature register --namespace Microsoft.ContainerService --name DisableSSHPreview
az feature register --namespace Microsoft.ContainerService --name AutomaticSKUPreview

# 次のコマンドの出力結果が「Registered」に変わることを確認する
az feature show --namespace Microsoft.ContainerService --name EnableAPIServerVnetIntegrationPreview --query properties.state
az feature show --namespace Microsoft.ContainerService --name NRGLockdownPreview --query properties.state
az feature show --namespace Microsoft.ContainerService --name SafeguardsPreview --query properties.state
az feature show --namespace Microsoft.ContainerService --name NodeAutoProvisioningPreview --query properties.state
az feature show --namespace Microsoft.ContainerService --name DisableSSHPreview --query properties.state
az feature show --namespace Microsoft.ContainerService --name AutomaticSKUPreview --query properties.state

# リソースプロバイダーの再登録
az provider register --namespace Microsoft.ContainerService

# リソースグループ作成
az group create --name rg-build2024 --location japaneast

# --sku automatic オプションを付け AKS クラスターを作成する
az aks create --resource-group rg-build2024 \
  --name myAKSAutomaticCluster --sku automatic

ドキュメントにはポータルからの作成方法も紹介されているので、間もなくロールアウトされるものと思われます。環境によっては既に利用可能化もしれませんね。
learn.microsoft.com

まとめ

AKSクラスターをベストプラクティスな構成で作成してくれる AKS Automatic の紹介でした。
推奨とはいえ、ベストプラクティスはユースケースに応じて変わってきます。設定値は参考にしつつ、うまくカスタマイズしていきましょう。

【PR】
私達ACS事業部はAzure・AKSなどのクラウドネイティブ技術を活用した内製化のご支援をしております。

www.ap-com.co.jp

一緒に働いていただける仲間も募集中です!
まだまだ組織規模拡大中なので、ご興味持っていただけましたらぜひお声がけください。
我々の事業部のCultureDeckはコチラ。

www.ap-com.co.jp

本記事の投稿者: 吉川 俊甫
Buildに合わせ夜型生活です。Microsoft MVP (Microsoft Azure)
Shunsuke Yoshikawa - Credly