クバネティス(Kubernetes) 環境で Redis-Sentinel 構築実戦ガイド ②


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

1. YAML ファイルを順次適用(生成)

1) Config 生成

💻 Terminal

2) Service 生成

💻 Terminal

3) StatefulSet 生成

💻 Terminal

Redis ポッド(Pod) 3個、Sentinel ポッド(Pod) 3個がすべて実行され、Redis-Sentinel が構成されました。

2. Redis-Sentinel 照会

1) 役割(マスター/レプリカ) 照会: redis-role.sh

役割(マスター/レプリカ) 確認用 Redis ROLE コマンドスクリプト

📄 redis-role.sh

実行(照会) 結果: 見やすいように編集しました。

💻 Terminal

2) Sentinel が監視する Redis 照会: sentinel-info.sh

Sentinel 確認用 Sentinel 'INFO SENTINEL' コマンドスクリプト

📄 sentinel-info.sh

実行(照会) 結果: 見やすいように編集しました。
Sentinel が監視するマスターは 'redis-0' で、レプリカは 2個(slaves=2)、Sentinel 総数は 3個(sentinels=3) です。

💻 Terminal

3. 🖧 Redis-Sentinel ポッド(Pod) ダイアグラム

┌───────────────┐ ┌───────────────┐ ┌───────────────┐ │Sentinel-0(98) │ │Sentinel-1(100)│ │Sentinel-2(102)│ └───────┬───────┘ └───────┬───────┘ └───────┬───────┘ └───────────────────┼───────────────────┘ ▼ ┌───────────────┐ │ Redis-0(92) │ │ 🟢Master │ └──────┬────────┘ ┌──────────┴───────────┐ ▼ ▼ ┌───────────────┐ ┌───────────────┐ │ Redis-1(94) │ │ Redis-2(96) │ │ 🟡Replica-1 │ │ 🟡Replica-2 │ └───────────────┘ └───────────────┘

4. 💽 データ入力

1) データ入力

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

💻 Terminal

2) データ入力の確認

① キー確認: 2,955,803 ➡ redis-benchmark はキーをランダム生成するため重複があり、300万件に少し届きません。

💻 Terminal

② AOF ファイルサイズ確認: aof.1.incr.aof 412M
③ ポッド(Pod) メモリ確認: Redis 617MB。Sentinel はデータを持たないためサイズは増えません。

💻 Terminal

➡ ポッド(Pod) も生成し、データも入れたので、Failover(障害対応) テストに行きましょう。


<< K8s Redis-Sentinel 準備 ① K8s Redis-Sentinel テスト ③ >>

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