これは何?
GKEのプリエンプティブルノードにデプロイしたWebアプリの外形監視でアラートが上がった期間の記録。プリエンプティブルVMは可用性が保証されていないが、実際にどんな挙動になるのか知りたかった。
プリエンプティブルノードプールについては以下参照。
https://cloud.google.com/kubernetes-engine/docs/how-to/preemptible-vms
24時間以内に停止する頻度については以下の記事もありましたが、実際に停止してから復旧するまでの期間なども確認したかったので実験してみました。
https://qiita.com/EastResident/items/442616d6ad1fe8108ea3
テスト方法
- GKE上のノードは基本的にプリエンプティブルノード1つだけ
- 別件の開発で2、3時間くらいノード数を1つ増やしたりすることはあった
- GKEには固定の文字列を返すだけのごくシンプルなWebアプリケーションをデプロイ
- datadogのSynthetics機能で1分ごとにアプリが生きてるかどうかをチェック
- プリエンプティブルノードの停止以外でもアラートが上がる可能性あり
スペック
- GKEのバージョンは1.16.13-gke.401(2020-10-03時点。途中でアップグレードしたりしてるはず)
- ノードゾーンはasia-northeast1-a
- ノードのマシンタイプはn1-standard-1
- 諸事情でIstio on GKEも有効にしてる
結果
いつから始めたのか覚えていないですが、datadogに残っていたデータが8/20〜だったのでその期間をまとめています。
2ヶ月レンジにしたときの結果の概要。灰色の部分はデータが存在していない期間です。
Alertになった時刻〜OKになった時刻の一覧
※再掲しますが、プリエンプティブルノードの停止以外でもアラートが上がる可能性あり
日付 | Alert開始時刻 | OK再開時刻 | OK再開時刻 - Alert開始時刻 |
---|---|---|---|
8/20 | 20:54 | 21:03 | 0:09 |
8/21 | 02:39 | 13:06 | 10:27 |
20:55 | 21:04 | 0:09 | |
8/22 | 20:57 | 21:07 | 0:10 |
8/23 | 21:00 | 21:09 | 0:09 |
8/24 | 21:01 | 21:10 | 0:09 |
8/25 | 08:22 | 08:32 | 0:10 |
8/26 | 08:24 | 08:31 | 0:07 |
8/27 | 08:25 | 08:34 | 0:09 |
8/28 | 08:27 | 08:36 | 0:09 |
16:45 | 16:54 | 0:09 | |
8/29 | 16:47 | 16:56 | 0:09 |
8/30 | 16:49 | 16:57 | 0:08 |
8/31 | 16:51 | 17:01 | 0:10 |
9/1 | 16:52 | 17:00 | 0:08 |
9/2 | 16:54 | 17:02 | 0:08 |
9/3 | 16:56 | 17:05 | 0:09 |
9/4 | 03:00 | 03:05 | 0:05 |
22:04 | 22:14 | 0:10 | |
9/5 | 22:06 | 22:15 | 0:09 |
9/6 | 22:07 | 22:16 | 0:09 |
9/7 | 12:43 | 12:51 | 0:08 |
22:02 | 22:12 | 0:10 | |
9/8 | 22:04 | 22:13 | 0:09 |
9/9 | 07:55 | 08:03 | 0:08 |
09:08 | 09:16 | 0:08 | |
9/10 | 09:09 | 09:18 | 0:09 |
22:16 | 22:26 | 0:10 | |
9/11 | 22:18 | 22:27 | 0:09 |
9/12 | 22:20 | 22:29 | 0:09 |
9/13 | 22:22 | 22:30 | 0:08 |
9/14 | 22:24 | 22:32 | 0:08 |
9/15 | 09:52 | 10:01 | 0:09 |
9/16 | 09:59 | 10:02 | 0:03 |
18:30 | 18:39 | 0:09 | |
21:15 | 21:23 | 0:08 | |
9/17 | 21:16 | 21:25 | 0:09 |
9/18 | 21:18 | 21:21 | 0:03 |
9/19 | 00:00 | 00:02 | 0:02 |
00:11 | 00:19 | 0:08 | |
04:10 | 04:14 | 0:04 | |
9/20 | 04:12 | 04:21 | 0:09 |
17:21 | 17:30 | 0:09 | |
9/21 | 17:23 | 17:32 | 0:09 |
9/22 | 17:25 | 17:35 | 0:10 |
9/23 | 09:37 | 09:45 | 0:08 |
10:20 | 10:28 | 0:08 | |
9/24 | 10:22 | 10:31 | 0:09 |
9/25 | 00:25 | 00:27 | 0:02 |
04:09 | 04:18 | 0:09 | |
9/26 | 04:10 | 04:20 | 0:10 |
10:06 | 10:16 | 0:10 | |
9/27 | 04:02 | 04:11 | 0:09 |
9/28 | 04:04 | 04:14 | 0:10 |
9/29 | 04:06 | 04:15 | 0:09 |
9/30 | 04:08 | 04:18 | 0:10 |
10/1 | 04:17 | 04:19 | 0:02 |
09:50 | 09:59 | 0:09 | |
13:01 | 13:10 | 0:09 | |
10/2 | 13:03 | 13:10 | 0:07 |
まとめ
今回記録した期間では、1回あたり〜10分くらい停止しており、1日に複数回停止していることもあった。
また、隣接した日にちであればある程度同じ時刻に停止することがあったが、最長持続時間が24時間なのでそれは想定の範囲内。