APC 技術ブログ

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

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

AKSでのノードプールの開始と停止がプレビューになりました

f:id:thanaism:20211130220512p:plain

こんにちは、コンテナソリューショングループの髙井です。

Microsoft Igniteでは気になる新機能・新サービスがたくさん登場していましたが、ニッチなところで気になる機能を見ていきたいと思います。

ずばり今回のタイトルでもある「AKSでのノードプールの開始と停止」です。

azure.microsoft.com

ノードプールの停止とクラスターの停止は別のもの

今回あらたにプレビューとなったのはノードプールの停止です。

それに対して、AKSではクラスターの停止も可能です。

docs.microsoft.com

これはすでにAzure Portalでポチポチするだけで出来てしまいます。

f:id:thanaism:20211130213111p:plain
クラスターはAzure Portal上から停止できる

今回のノードプールの停止はプレビューのため、Azure Portalでは使うことができません。Azure CLIでの作業が必要です。

どんなシチュエーションで使うか

停止というだけあって、常には必要ないノードプールを切っておきコスト削減するのが主目的となるでしょう。

あるいは強力な権限を持ったPodをJITで使うという意図もあるかもしれません(こちらはあまり考えられないかもしれませんが……)。

そして、クラスターごとではなくノードプール単位で停止するというのがポイントです。

このノードプールの停止ですが、システムノードプールは対象外です。

システムノードプールを止めてしまうとクラスターごと止まってしまうので当たり前と言ってしまえばそうかもしれませんが、つまりはユーザーノードプールが停止できます。

ノードプールの停止とスケーリングとの違い

そもそも、これまでもユーザーノードプールはノード数を0までスケーリングさせることが可能でした。

したがって、ノードプールが不要な場合はノード数0にしておけばこれまでも一応はコスト削減の用を足せていたわけです。

じゃあ今回の停止は余計な機能なのか……と言われれば全く違います

ノード数を0にするためにはノード上のサービスを停止する必要があります。これがとても面倒です。

使わないときは電気のスイッチを切るように一発で落としたいし、ふたたび使うときは一発で元に戻したくなるのが人間というもの……。

楽なことに越したことはありません。

実際に試してみる

基本的な手順は、以下の公式ページの通りです。

docs.microsoft.com

まずは、ユーザーノードプールを準備します。

f:id:thanaism:20211130215114p:plain
testという名称のユーザーノードプールで3ノードが起動中

プレビュー機能を使う際に必要なもろもろの作業を公式ページに従い、実施します(プレビュー機能を使ったことのある人ならおなじみの作業です)。

さっそく、停止してみます。

az aks nodepool stop --nodepool-name testnodepool --resource-group myResourceGroup --cluster-name myAKSCluster

止まりました。

f:id:thanaism:20211130215554p:plain
ノード数3から直接停止状態に

再始動させてみます。

az aks nodepool start --nodepool-name testnodepool --resource-group myResourceGroup --cluster-name myAKSCluster

f:id:thanaism:20211130215938p:plain
立ち上げ中の状態、直接3ノードを立ち上げている

期待通りの動作をしているようです。

おわりに

Igniteでは他にも、仮想マシンスケールセット内で異なるVMファミリを起動できるモードのGAが紹介されたりしていました。

azure.microsoft.com

もしかしたら今後は、AKSのノードプールを作成したあとにVMファミリを変更したりすることができるようになるのかもしれません(私の希望的観測ですが……)。

とにもかくにも、どんどんと新機能がリリースされてAzureはますます魅力的になっています!皆様も楽しいAzureライフを送ってまいりましょう。それでは!