世界のやまさ

SEKAI NO YAMASA

Kubernetes v1.12 を Azure で動かしてみた

Kubernetes v1.12 が 2018/9/27 にリリースされました

kubernetes.io

今回のリリースでは Azure の VMSS(Virtual Machine Scale Sets) の対応がされました。これにより今までより早くノードが展開できることと、OSイメージによるノードの管理ができることが期待できます。

リリースの詳細はこちらの記事を参照してください。

kubernetes.io

記事に書いてあるとおり、ACS(Azure Container Service) Engine ではすでに使えるようになっています。

AKSの対応はまだですが、AKS の Service Level Objective (SLO) によるとマイナーバージョンアップは30日以内に対応するとあるので、今月末には使えるようになると思われます。

SLO の詳細はこちらの記事を参照してください。

docs.microsoft.com

ACS Engine で Kubernetes v1.12 を早速試してみた

ACS Engine の作成方法などは後回しにして、結果から書きます。

エージェントノードの展開は2分後半から4分前半で完了

検証環境はSouthEastAsiaで行いました。次の結果です。

変更前ノード数 変更後ノード数 デプロイ時間(mm:ss)
2 5 02:17
5 30 03:54
5 30 04:08
1 30 04:16
30 5 01:47
30 1 02:52
30 1 02:18

ノード数を増やす操作が少数の場合が2分台、30台ほどで4分台という感じです。 ノード数を減らす操作は1分〜2分というところです。

十分高速かなと思います。

検証方法

下記サイトを参照して行いました。詳細を書こうと思ったんですが力尽きました。。。 また別の機会に書きたいと思います。

github.com

まとめ

VMSS 対応でデプロイとノードのアップデートがやりやすくなりそうです。

とはいえ、ノードを増やすのに4分程度はかかるので、瞬間的なスパイクはまだオートスケールでは対応しきれないと思います。 その点は Virtual-Kubelet で、ACI(Azure Container Instances) を使用すると瞬時にインスタンスが立ち上がるのでカバーできるかもしれません。

docs.microsoft.com

オートスケールについて、後日また検証したいと思います。

2018/10/11 追記

www.youtube.com

ラジオ聞いてて真壁さんのお話で思い出したんですが、Ephemeral OS Disk in limited preview にてこう書いてありました。

Ephemeral OS Disk, a new type of OS disk created directly on the host node, providing local disk performance and faster boot/reset time.

明確にブートが早くなると書いてありましたね。ノード増やしたときのブート時間は今後もっと縮まる可能性が高いかもです。

Kubernetes に適用できるかはわかりませんが、早速プライベートプレビュー申し込んでみました。

Azure のディスク性能は Ultra SSD にて 160K IOPS と劇的上がっています。

また、シングル VM において Windows Hyper-V 環境では 10-Million IOPS という研究もされているようです。

クラウドはディスクが遅いと思われるかもですが、そろそろ逆転するかもしれませんね。