🎯 レッスンの目的__HTMLTAG_68___
このレッスンを完了すると、次のことができるようになります:
- ✅ Raft コンセンサス アルゴリズムと etcd の内部構造を理解する__HTMLTAG_73___
- ✅ 日常業務のための etcdctl に精通している__HTMLTAG_75___
- ✅ CronJob を使用した自動バックアップのセットアップ
- ✅ スナップショットからの復元の練習 (災害復旧)
- ✅ デフラグ、圧縮、パフォーマンス チューニング
パート 1: ETCD 内部
1.1. Raft コンセンサス アルゴリズム
コードブロック_0
コードブロック_1
⚠️ etcd は (N-1)/2 の失敗を許容します:
- 3 ノード → 1 つの障害を許容 (クォーラム = 2)
- 5 ノード → 2 つの障害を許容 (クォーラム = 3)
1.2.データモデル
___コードブロック_2___パート 2: ETCDCTL オペレーション
2.1.クラスターの健全性の監視
___コードブロック_3___2.2.パフォーマンスチェック
___コードブロック_4___2.3. etcd で Kubernetes データを表示
___コードブロック_5___パート 3: ETCD バックアップ
3.1.手動スナップショット
___コードブロック_6___3.2.自動バックアップ スクリプト
___コードブロック_7___3.3. Cron バックアップ (6 時間ごと)
___コードブロック_8___コードブロック_9
パート 4: 災害復旧 — 復元
4.1.復元シナリオ
コードブロック_10
4.2.段階的な復元
___コードブロック_11___パート 5: 圧縮と最適化
5.1.圧縮
___コードブロック_12___5.2.デフラグ
___コードブロック_13___5.3.アラーム管理
___コードブロック_14___パート 6: ETCD モニタリング
6.1. Prometheus メトリクス
___コードブロック_15___6.2. PrometheusRule (レッスン 32 で使用します)
___コードブロック_16___💡 重要なポイント
- Raft コンセンサス: 書き込みには過半数のクォーラム (2/3) が必要
- 6 時間ごとのバックアップ は運用環境では最小です — スナップショットと証明書の両方を保存
- 復元 = スナップショットから新しいクラスターを作成、スナップショット後のすべてのデータが失われます__HTMLTAG_156___
- 順次デフラグ同時にではなく各メンバー
- NOSPACE アラーム: コンパクト→デフラグ→解除
- NVMe SSD は etcd に必須です (p99 書き込み遅延 < 10ms) )
🎯 演習__HTMLTAG_172___
演習 1: バックアップと復元のラボ
- Nginx デプロイメントの作成 (3 つのレプリカ)
- etcd スナップショットのバックアップ
- デプロイ nginx を削除
- スナップショットから復元し、デプロイ nginx が返すことを確認
演習 2: モニタリング
- etcd-check.sh を実行し、DB サイズ、リーダー、状態を記録
- 圧縮とデフラグ、前後の DB サイズの比較
演習 3: CronJob バックアップのセットアップ
- etcd-backup CronJob のデプロイ
- _ジョブが正常に実行されたことを確認__HTMLTAG_199___
- /backup/etcd/ のスナップショット ファイルを確認してください
📚 次の投稿
__HTMLTAG_207___レッスン 11: Rook-Ceph を使用した分散ストレージ アーキテクチャ では、パート 3 — 永続ストレージ用の Rook-Ceph のインストールを開始します。