こんにちは、コンテナソリューショングループの髙井です。
Microsoft Igniteでは気になる新機能・新サービスがたくさん登場していましたが、ニッチなところで気になる機能を見ていきたいと思います。
ずばり今回のタイトルでもある「AKSでのノードプールの開始と停止」です。
ノードプールの停止とクラスターの停止は別のもの
今回あらたにプレビューとなったのはノードプールの停止です。
それに対して、AKSではクラスターの停止も可能です。
これはすでにAzure Portalでポチポチするだけで出来てしまいます。
今回のノードプールの停止はプレビューのため、Azure Portalでは使うことができません。Azure CLIでの作業が必要です。
どんなシチュエーションで使うか
停止というだけあって、常には必要ないノードプールを切っておきコスト削減するのが主目的となるでしょう。
あるいは強力な権限を持ったPodをJITで使うという意図もあるかもしれません(こちらはあまり考えられないかもしれませんが……)。
そして、クラスターごとではなくノードプール単位で停止するというのがポイントです。
このノードプールの停止ですが、システムノードプールは対象外です。
システムノードプールを止めてしまうとクラスターごと止まってしまうので当たり前と言ってしまえばそうかもしれませんが、つまりはユーザーノードプールが停止できます。
ノードプールの停止とスケーリングとの違い
そもそも、これまでもユーザーノードプールはノード数を0までスケーリングさせることが可能でした。
したがって、ノードプールが不要な場合はノード数0にしておけばこれまでも一応はコスト削減の用を足せていたわけです。
じゃあ今回の停止は余計な機能なのか……と言われれば全く違います。
ノード数を0にするためにはノード上のサービスを停止する必要があります。これがとても面倒です。
使わないときは電気のスイッチを切るように一発で落としたいし、ふたたび使うときは一発で元に戻したくなるのが人間というもの……。
楽なことに越したことはありません。
実際に試してみる
基本的な手順は、以下の公式ページの通りです。
まずは、ユーザーノードプールを準備します。
プレビュー機能を使う際に必要なもろもろの作業を公式ページに従い、実施します(プレビュー機能を使ったことのある人ならおなじみの作業です)。
さっそく、停止してみます。
az aks nodepool stop --nodepool-name testnodepool --resource-group myResourceGroup --cluster-name myAKSCluster
止まりました。
再始動させてみます。
az aks nodepool start --nodepool-name testnodepool --resource-group myResourceGroup --cluster-name myAKSCluster
期待通りの動作をしているようです。
おわりに
Igniteでは他にも、仮想マシンスケールセット内で異なるVMファミリを起動できるモードのGAが紹介されたりしていました。
もしかしたら今後は、AKSのノードプールを作成したあとにVMファミリを変更したりすることができるようになるのかもしれません(私の希望的観測ですが……)。
とにもかくにも、どんどんと新機能がリリースされてAzureはますます魅力的になっています!皆様も楽しいAzureライフを送ってまいりましょう。それでは!