クバネティス(Kubernetes) 環境で Redis Sentinel Sidecarパターン 構築 実践ガイド ②


構築(ポッド(Pod) 作成)

1. YAML ファイルを順次適用

1. Config 作成

💻 Terminal

2. Service 作成

💻 Terminal

3. StatefulSet 作成

💻 Terminal

2. Redis-Sentinel 構成確認

1) Redis 状態確認: ROLE

💻 Terminal

2) redis.conf 確認

📄 redis.conf

3) sentinel.conf 確認

📄 sentinel.conf

4) sentinel monitoring 確認

Sentinel-0,1,2 で次のように 'info sentinel' を実行し、Sentinel が Redis を正しく監視しているか照会して 得た結果を要約したものです。
kubectl exec -it redis-sentinel-0 -c sentinel -- redis-cli -p 28504 -a password info sentinel

💻 Terminal

5) 🖧 Redis-Sentinel nodes 構成ダイアグラム

┌───────────────┐ │ Redis-0(106) │ │ 🟢Master │ │ Sentinel-0 │ └──────┬────────┘ ┌──────────└───────────┐ ▼ ▼ ┌───────────────┐ ┌───────────────┐ │ Redis-1(108) │ │ Redis-2(110) │ │ 🟡Replica-1 │ │ 🟡Replica-2 │ │ Sentinel-1 │ │ Sentinel-2 │ └───────────────┘ └───────────────┘

3. 💽 データ投入

Failover(フェイルオーバー)テストのため Redis-0 ポッド(Pod) をダウン(削除)すると、クバネティス(Kubernetes) が2秒以内に Redis-0 ポッド(Pod) を復活させます。 down-after-milliseconds は3秒なので Redis-0 のダウンを検知できません。 そこで約300万件のデータを入れて、ダウンしていた Redis の再起動に5秒以上かかるようにします。 (データロードに約5秒かかります)

💻 Terminal

redis-benchmark はキーをランダム生成するため、実際に保存されたキー数(dbsize) は300万件に少し足りません。
- 実際に保存されたキー数: 2955238
- AOF ファイルサイズ: aof.1.incr.aof -> 412M
- ポッド(Pod) メモリサイズ: kubectl top pod -> 625Mi


➡ ポッド(Pod) も作成しデータも入れたので、Failover(フェイルオーバー)テストに行きましょう。


<< K8s Sidecarパターン 準備 ① K8s Sidecarパターン テスト ③ >>

Email 返事がかかってなれば、メールでお知らせします。