SafeKitを検索

Kubernetes K3s 高可用性:2 ノード同期レプリケーションとフェイルオーバー

K3s HA の簡素化:MetalLB や Longhorn ではなく SafeKit を選ぶ理由とは?

K3s の標準的なオープンソーススタック(MetalLB + Longhorn)は大規模データセンターでは強力ですが、2 ノードのオンプレミスサイトには過剰な複雑さをもたらします。SafeKit は、スタンドアロンのネットワーキングおよびストレージツールを単一の統合 HA エンジンに置き換えることで、K3s 環境を簡素化します。

2 ノードの K3s 高可用性(HA)に SafeKit を使用する理由とは?

  • 真の 2 ノード高可用性: SafeKit、わずか 2 ノードで完全な冗長性を提供し、 etcd のクォーラムに必要な 3 ノードの要件を排除します。
  • ゼロデータロス(RPO = 0): オーバーヘッドの大きいブロックストレージを、ローカル SSD のパフォーマンスを実現する同期バイトレベルレプリケーションに置き換えます。
  • 柔軟なファイルレベルの保護: SafeKit、アプリケーションに対して完全に透過的なホストベースのファイルレベルレプリケーションを実行します。データベースだけでなく、関連するすべてのフォルダとデータも保護します。既存のフォルダは、システムディスク上であっても、インストールされている場所に正確にレプリケートできます。
  • 統合仮想 IP(VIP): カーネルレベルでクラスター IP をネイティブに管理し、MetalLB の個別の設定が不要になります。
  • 自動フェイルオーバーとフェイルバック: 障害発生時にセカンダリノードに即座に切り替えます。プライマリノードが正常になると、SafeKit 手動介入なしに自動データ再同期を実行します。
  • 超低オーバーヘッド: SafeKit、標準的なスタックで必要とされるストレージポッド(CSI/Longhorn)やネットワーキングポッド(CNI/MetalLB)といった重い管理オーバーヘッドなしで動作するため、アプリケーションにとって重要な RAM と CPU を解放します。
  • IT ジェネラリストに優しい: ネットワークとストレージの複雑なインフラストラクチャの YAML を、シンプルな Web GUI と自動化されたデプロイスクリプトに置き換えることで、アプリケーションにのみ集中できます。

統合仮想 IP、リアルタイムレプリケーション、自動フェイルオーバーを特徴とする、2 ノード K3s 高可用性向け SafeKit アーキテクチャ図。

2 ノードの K3s クラスター向け共有なし高可用性(HA)

⚡ Kubernetes HA クラスターのクイックインストールガイド >

目次

SafeKit ソフトウェアは、Kubernetes K3s 高可用性クラスターどのように簡単に実装しますか?

2 ノードの Kubernetes K3s クラスターで高可用性を実装するにはどうすればよいですか?

SafeKit k3s.safe mirror モジュールを使用すると、2 ノードの Kubernetes K3s クラスターで高可用性(HA)を実装できます。このソリューションにより、外部 NFS ストレージ、専用の外部構成データベース、または専門的な Kubernetes 専門知識を必要とせずに、冗長環境をデプロイできます。

エッジコンピューティングや IoT コンピューティングに K3s を使用する理由とは?

K3s は、リソースが制約された環境向けに設計された軽量で認定済みのディストリビューションであるため、IoT およびエッジコンピューティングに最適な Kubernetes エンジンです。標準の Kubernetes の運用オーバーヘッドを簡素化しながら、完全な互換性を維持します。

k3s.safe mirror モジュールの主な機能は何ですか?

k3s.safe モジュールは、以下を実装することで、K3s 向けの包括的な HA スタックを提供します

  • デュアルアクティブノード: 2 つのアクティブな K3s マスター/エージェントを同時に実行してポッドをホストします。
  • データベースレプリケーション: ノード間の MariaDB 構成データベースのリアルタイムレプリケーション。
  • 永続ストレージ: 統合 NFS クライアントのダイナミックプロビジョナー(nfs-client)による永続ボリュームのレプリケーション。
  • ネットワークの継続性: シームレスなクライアントアクセスを実現する仮想 IP アドレスが含まれます。
  • 自動リカバリ: 自動フェイルオーバーとフェイルバックを完全にサポートします。

K3s 以外に、SafeKit どのようなアプリケーションや環境を保護できますか?

SafeKit は、Windows と Linux 両方に対応した汎用性の高い高可用性ソリューションであり、K3s mirror クラスターはるかに超える機能を提供します。以下を含む、幅広い重要なワークロードに対して、同期リアルタイムレプリケーションと自動フェイルオーバーを可能にします

  • 仮想環境と物理環境: 完全な Hyper-V または KVM 仮想マシン。
  • コンテナオーケストレーション: Docker、Podman 環境。
  • データとサービス: 個別のファイルディレクトリ、サービス、および各種データベース。
  • クラウドインフラストラクチャ: クラウドアプリケーションの可用性を高めます。

SafeKit は、Web サーバーのようなステートレスアプリケーション向けに、ネイティブネットワーク負荷分散とフェイル farm クラスターも提供します。

💡 サポートされている HA ソリューションの全リストはこちらでご確認ください。

SafeKit どのように K3s の高可用性を実現するのか?

SafeKit を使用した 2 ノード K3s クラスターのアーキテクチャと冗長性ロジック

2 ノード K3s クラスターSafeKit PRIM (プライマリノード)SafeKit SECOND ノード
ワークロード実行K3s のマスターおよびエージェントサービスはアクティブで、クラスターのオーケストレーションを管理し、ポッドを実行しています。K3s のマスターおよびエージェントサービスはアクティブな状態を維持し、並列処理と高可用性を提供します。
NFS ストレージと PV• 仮想 IP および NFS ポートをホスト
• アクティブにエクスポートされている NFS 共有を管理します
• K3s 永続ボリューム(PV)を保存します
同期ミラーリング:SafeKit すべての永続ボリュームをリアルタイムで複製し、データ損失ゼロを保証します。
構成データベース• 仮想 IP と MariaDB ポートをホスト
• アクティブな K3s 構成データベースを管理します
データベースレプリケーション:MariaDB データベースは同期的にミラーリングされ、フェイルオーバー時のクラスター状態が保持されます。

自動フェイルオーバーメカニズム: プライマリノードに障害が発生した場合、SafeKit 仮想 IP とストレージサービスをセカンダリノードに自動的に移行し、K3s クラスターのサービスを中断なく継続します。

SafeKit mirror クラスター Kubernetes K3S とどのように連携しますか?

ステップ 1:mirror クラスターでのバイトレベルのファイルレプリケーション

このステージでは、サーバー 1 (PRIM) とサーバー 2 (SECOND) の間の高可用性アーキテクチャを説明します。両方のサーバーはアーキテクチャテーブルで定義されているように、K3s マスターおよびエージェントコンポーネントを実行します。

Kubernetes K3s mirror クラスターにおけるバイトレベルでのファイルレプリケーション

現在、仮想 IP(VIP)、NFS 永続ストレージ、および MariaDB、サーバー 1(PRIM)でのみアクティブです。両ノードの K3s マスターコンポーネントは、仮想 IP と MariaDB ポートを介してクラスター状態にアクセスすることで、互いに同期します。SafeKit MariaDB と NFS の永続ファイルの同期レプリケーションを実装し、障害発生時にデータ損失ゼロ(RPO = 0) を保証します。

K3s マスターは、K3s エージェントと直接通信することで、ワークロードを両方のノード(またはそれ以上)に分散します。外部クライアントは
PRIM ノード上のクラスターの仮想 IP アドレス。標準的な Kubernetes メカニズムを使用して、K3s マスターはノード全体に分散されたポッドにトラフィックを中継します。同様に、ポッドは仮想 IP と NFS ポートを介して PRIM サーバー上の永続ボリューム(PV) にアクセスします。

ステップ 2:自動フェイルオーバーとサービス継続性

サーバー 1(PRIM) に障害が発生した場合、サーバー 2(SECOND)が自動的にクラスターの運用を引き継ぎ、継続性を確保します。

Kubernetes K3S mirror クラスターでのフェイルオーバー

SafeKit 障害を検出し、クラスターの仮想 IP アドレスを直ちにサーバー 2 に移行します。その後、ローカルの MariaDB と NFS サービスをアクティブ状態に昇格させます。ステップ 1 で実行された同期レプリケーションにより、すべての MariaDB データベースと NFS 永続ボリューム(PV)ファイルはサーバー 2 で既に最新の状態になっているため、データ損失はゼロに抑えられます。

クラスターの状態が保持された状態で、サーバー 2 の K3s マスターは実行を継続します。サーバー 1 のエージェントの損失を検出し、影響を受けるポッドを自動的に残りのアクティブな K3s エージェントに再スケジュールします。合計フェイルオーバー時間(RTO)は、障害検出間隔(デフォルト:30 秒)と、セカンダリノードで K3s コンポーネントを初期化するために必要な時間の合計です。

サーバー 1 がオフラインの間も、MariaDB と NFS サービスはサーバー 2 で引き続き稼働し、変更はローカルにのみ書き込まれます。

ステップ 3:フェイルバックと自動再統合

フェイルバックはは、最初の問題が解決された後にサーバー 1 が再起動されると発生します。SafeKit MariaDB と NFS ファイルを自動的に再同期し、ダウンタイム中にサーバー 2 で変更されたデータのみを更新します。この再統合プロセスは非破壊的であり、K3s のマスターおよびエージェントコンポーネントは中断することなくサーバー 2 で実行され続けます。

K3s mirror クラスターにおける自動再同期とフェイルバック

SafeKit は、サーバーの停止方法に基づいて復旧時間を最適化します

  • クリーンシャットダウン: SafeKit サーバー 1 で意図的に停止された場合、ファイル内の特定の変更されたゾーンのみが変更追跡ビットマップを使用して再同期されます。これにより、超高速な再統合が保証されます。
  • システムクラッシュ(例:停電): サーバー 1 がクリーンシャットダウンされなかった場合、安全のため変更ビットマップはバイパスされます。代わりに SafeKit、最後に確立された同期ポイントよりも新しい変更タイムスタンプを持つすべてのファイルを再同期し、完全なデータ整合性を保証します。

ステップ 4:高可用性と負荷分散を復元する

再統合後、クラスターは完全な mirror モードに戻り、ステップ 1 で説明した状態をミラーリングします。MariaDB は再び高可用性状態になります。と NFS サービスはサーバー 2 でアクティブなままで、SafeKit すべてのファイル更新をサーバー 1 にリアルタイムでレプリケートします。

Kubernetes K3s mirror クラスターを通常運用に戻す

K3s マスターと K3s エージェントは、サーバー 1 で自動的に再起動されます。Kubernetes スケジューラ、サーバー 1 を正常なノードとして認識し、ポッドの再スケジュールを開始して、両方のサーバーにワークロードを分散できるようになります。

管理者が MariaDB および NFS サービスをサーバー 1 で実行することを希望する場合(元の PRIM ロールを復元する場合)、Web コンソールから都合の良い時間に手動で切り替えを行うか、構成設定を通じて自動化することができます。

SafeKit mirror クラスターを構成する方法

SafeKit Web Console: ハートビートネットワーク、仮想 IP 設定、mirror クラスターのリアルタイムディレクトリレプリケーションを表示する高可用性構成ダッシュボード。

SafeKit ウェブコンソールはは、重要なアプリケーションの可用性を高めるための直感的なインターフェースを提供します。数ステップで SafeKit mirror クラスターを設定し、事業継続性を確保できます

  • アプリケーションフェイルオーバー(マクロタブ): 障害発生時に自動的に再起動する特定のアプリケーションサービスを定義します。
  • ハートビートネットワーク: クラスターノードが互いの正常性と可用性を継続的に監視し、フェイルオーバーの決定を同期するために使用する専用の通信パス。
  • 仮想 IP 管理: フェイルオーバー後にクライアントが透過的に再接続できるように、仮想 IP(VIP)を設定します。
  • リアルタイムレプリケーション: ホストベースの同期バイトレベルレプリケーションの対象となる重要なディレクトリを選択します。
  • チェッカー: アプリケーションの正常性を監視し、プロセスの障害が検出された場合は自動復旧をトリガーします。

SafeKit クラスターには、専用のスプリットブレインチェッカーが搭載されており、サードパーティのウィットネスマシンや追加のハートビートネットワークを必要とせずに、ネットワーク分離の問題を解決します。クラスターにおけるハートビート、フェイルオーバー、クォーラムの詳細については、こちらをご覧ください。

SafeKit mirror クラスターを監視するには?

SafeKit Web Console: 2 ノード mirror クラスターのリアルタイム監視。PRIM および SECOND 状態とアクティブデータレプリケーションが表示されます。

SafeKit 管理コンソールはは、高可用性インフラストラクチャの統合ビューを提供します。これにより、管理者はクラスターの動作状態を監視し、データ同期をリアルタイムで追跡できます。

2 ノード mirror クラスターの場合、コンソールには各サーバーの役割が明確に表示されます

  • PRIM (プライマリ): アプリケーションを実行し、仮想 IP を管理しているアクティブなノード。ローカルストレージへの書き込みと、セカンダリノードへのリアルタイムレプリケーションを実行します。
  • SECOND: 同期バイトレベルの更新を受信するスタンバイノード。プライマリに障害が発生した場合、即座に引き継ぐ準備ができています。
  • ALONE 状態: クラスターが単一ノードで実行されている場合(メンテナンス中や障害発生後など)、冗長性が一時的に失われていることを視覚的に警告します。
  • 再同期の進捗状況: 障害が発生したノードが復旧すると、バックグラウンドでのデータ再統合中にそのステータスがオレンジ色に変わり、「通常状態に戻る」フェーズ中にダウンタイムが発生しないようにします。

シンプルなステータスアイコンに加え、このインターフェースはワンクリックのフェイルオーバーオーケストレーションを提供し、計画メンテナンス中にプライマリの役割を手動で再割り当てしながら、ユーザーアクティビティの継続的な可用性を確保します。

SafeKit High Availability の制限事項

制限/要件理由と影響推奨される代替案
レプリケーションサイズ:数 TB障害発生後の再同期時間(ステップ 3):
• 1 Gb/s ネットワーク ≈ 3 時間/TB
• 10 Gb/s ネットワーク ≈ 1 時間/TB(ディスクの書き込み性能による)
• 外部共有ストレージを使用する(より高価で、より複雑)。
ファイル数:100 万ファイル未満•障害発生後の再同期時間性能(ステップ 3)。
• 両方のノード間で各ファイルを比較するのに必要な時間。
• 複製する多数のファイルを仮想ハードディスク/仮想マシンに配置します。
• この場合、仮想ハードディスク/仮想マシンを表すファイルのみがレプリケートおよび再同期されます。
フェイルオーバー容量:32 台以下の VM• 各 VM は、独立した mirror モジュール内で実行されます。
• 同じクラスター上で最大 32 個の mirror モジュールを実行できます。
• 外部共有ストレージと別の VM クラスタリングソリューションを使用する(より高価で、より複雑)。
ネットワークアーキテクチャ:リモートサイト間の LAN/VLAN ネットワーク• 同じサブネット内の 2 つのノードで仮想 IP アドレスを自動フェイルオーバーします。
• 再同期のための十分な帯域幅(ステップ 3)。
• 同期レプリケーションの低レイテンシ:通常<5 ミリ秒の RTT。より高い値は、アプリケーションの書き込みレートに対して検証する必要があります。
• 2 つのノードが異なるサブネットにある場合(クラウドで一般的)、ロードバランサー、クラウドプロバイダーの CLI、BGP、または DNS リダイレクションなどの他のルーティングオプションを使用します。
• 高遅延ネットワークには、非同期レプリケーションに対応したバックアップソリューションを使用してください。

比較:SafeKit と標準的な K3s スタック(MetalLB と Longhorn)

比較:SafeKit vs. 標準的なオープンソース(MetalLB + Longhorn)

能力SafeKit (K3s.safe)MetalLB + Longhorn (標準的な K8s)
アーキテクチャオールインワン:ネットワーク、レプリケーション、フェイルオーバーを 1 つのパッケージに統合。DIY (Do It Yourself) スタック:複数の独立したパッケージが必要 (CNI、CSI、ロードバランサー)。
ハードウェア効率ピュア 2 ノード HA:3 番目の「ウィットネス」またはアービターノードなしで完全な冗長性を実現。最小 3 ノード:Etcd のクォーラムとストレージの安全性を確保するため、通常は奇数個のノードが必要です。
ネットワーキング(VIP)ネイティブ:OS レベルで管理される仮想 IP。K3s からは透過的に扱われます。複雑:各ノードで CPU/RAM を消費する専用のスピーカーポッドを使用した L2 または BGP 構成で MetalLB をインストールする必要があります。
ストレージ要件バイトレベル同期:既存のディレクトリのリアルタイムファイルレプリケーション。標準システムディスクで動作し、CPU/ネットワークのオーバーヘッドを最小限に抑えたバイトレベルのファイルレプリケーションを実現します。ブロックレベル:専用ストレージポッドを使用する分散ブロックストレージ(Longhorn)。リソース消費量が高い。
フェイルオーバーインテリジェンス独立した安定性:SafeKit コンテナランタイムの外側で動作します。OS とハードウェアを直接監視し、Kubernetes コントロールプレーンまたはコンテナエンジンがハングした場合でもフェイルオーバーを保証します。循環依存:フェイルオーバーロジックは、保護対象のポッド内でホストされます。ホスト OS または K3s エンジンがハングすると、管理ポッド (MetalLB/Longhorn) もフリーズし、多くの場合、「ロック」を解除するために手動によるトリアージが必要になります
管理簡素化:単一のウェブコンソールで管理可能。Kubernetes 専門知識は不要です。専門知識:YAML、Helm、K8s の内部コントローラーに関する深い知識が必要。

要約するとは、標準的な DIY スタック(MetalLB + Longhorn)は Kubernetes の専門家にとってはモジュール性を提供しますが、ストレージとネットワーキングツールが、それらが管理するように設計されているのと同じノード障害に対して脆弱になるという循環依存関係を生み出します。SafeKit は、独立したインフラストラクチャレイヤーとして動作することでこのループを断ち切ります。エンジンやホスト OS がハングした場合でも動作し続ける、より堅牢でハードウェアに依存しない 2 ノード HA ソリューションを提供します。これにより、従来の分散ブロックストレージやネットワーキングオーバーレイで必要とされる、重い Kubernetes オーバーヘッド、必須の 3 ノードクォーラム、または設定の複雑さなしに、自動リカバリとデータ整合性が保証されます。

ビデオガイド:SafeKit HA mirror クラスターの構成

SafeKit ビデオ:アプリケーションレベルのクラスタリング (8:47)

このビデオでは、Microsoft SQL Server における SafeKit の高可用性について説明していますが、このソリューションが K3s 環境をどのように保護するかについても優れた概要を示しています。SafeKit は、他のデータベースやビジネスクリティカルなアプリケーションでも同様に機能します。

動画ハイライト

  1. 🎬 SQL Server を使用する 2 つのノード (0:32)
  2. 🎬 クラスターと mirror.safe モジュールを構成する (3:58)
  3. 🎬 SQL レプリケーション、移行、クラッシュ時のフェイルオーバーを開始してテストする (4:17)

&amp;amp;amp;amp;amp;lt;br /&amp;amp;amp;amp;amp;gt;

🔍 SafeKit を探索する

SafeKit の機能、アーキテクチャ、ビデオ、ドキュメント、無料トライアルに関する情報をご覧ください。

リソース説明リンク
主な機能SafeKit がシンプルで費用対効果の高い高可用性ソリューションである理由をご覧ください。主な機能
ユースケースSafeKit が重要なアプリケーションとインフラストラクチャの可用性を維持する方法をご覧ください。ユースケースを探索する
デプロイメントモデルSafeKit は、SAN や共有ストレージなしで高可用性を提供します。デプロイモデルを探索する
高可用性戦略仮想マシンの高可用性とアプリケーションの高可用性を比較します。2 つの戦略を比較する
技術仕様SafeKit クラスターの技術要件と制限事項を確認してください。技術仕様書を読む
動画SafeKit の構成と自動フェイルオーバーのデモンストレーションをご覧ください。テクニカルビデオを見る
アーキテクチャSafeKit mirror クラスターファイルをリアルタイムでレプリケートし、フェイルオーバーを処理する方法について説明します。Mirror アーキテクチャを探索する
アーキテクチャSafeKit farm クラスターネットワークトラフィックを分散し、フェイルオーバーを処理する方法について説明します。Farm アーキテクチャを探索する
製品比較SafeKit と従来の高可用性クラスターを比較します。ソリューションを比較する
技術リソース技術ドキュメントの検索、SafeKit のダウンロード、無料トライアルへのアクセスはこちらから。ドキュメントと無料トライアルにアクセス
アプリケーションモジュール事前に設定された SafeKit モジュールを使用して、アプリケーションの高可用性を設定します。アプリケーションモジュールを探索する
SafeKit AI Chat SafeKit AI