Kubernetes の高可用性の探求: シングル マスター クラスターとマルチ マスター ノード クラスター ソリューション

Kubernetes の高可用性の探求: シングル マスター クラスターとマルチ マスター ノード クラスター ソリューション

1. シングルマスタークラスター

k8s クラスターは、k8s を実行するノードのグループで構成されます。ノードは物理マシン、仮想マシン、またはクラウド サーバーになります。 k8s クラスター内のノードは、マスターとノードの 2 つの役割に分かれています。

  • マスターノード: マスターノードは、クラスター全体の制御と管理を担当します。 kube-apiserver、kube-scheduler、kube-controller-manager などのいくつかの主要コンポーネントを実行します。マスター ノードは 1 つ以上存在できます。マスターノードが複数ある場合は、分散キー値ストレージである etcd を通じてデータの一貫性を維持する必要があります。
  • ノード: ノードは、ユーザー アプリケーションを実行する動作ノードです。 kubelet、kube-proxy、コンテナ ランタイムなどの必要なコンポーネントを実行します。ノードは 1 つ以上存在できます。複数のノードがある場合は、ネットワーク プラグインを介して通信およびルーティングする必要があります。

通常は、シングルマスターのマルチノード クラスターを構築します。これは、マスター ノードが 1 つだけあり、ノードが複数ある一般的な k8s クラスター アーキテクチャです。このアーキテクチャの利点は、シンプルで構築が簡単で、k8s の機能や特徴を学習およびテストするのに適していることです。このアーキテクチャの欠点は、マスター ノードが単一障害点になることです。マスターノードに問題がある場合、クラスター全体が正常に動作しなくなります。

k8s シングルマスター マルチノード クラスターを構築する方法は多数あります。さまざまなニーズやシナリオに応じて、ノード クラスターを構築および運用するための適切な方法を選択できます。一般的に言えば、いくつかの一般的な方法があります。

  • kubeadm の使用: これは、公式ツール kubeadm を使用してノード クラスターをすばやく作成および管理する方法です。 kubeadm は、kubelet、kube-proxy、コンテナ ランタイムなど、ノードに必要なコンポーネントを自動的にインストールして構成できます。このアプローチは、学習やテストの目的、または単純な本番環境に適しています。
  • kops の使用: これは、オープンソース ツール kops を使用して、クラウド サービス プロバイダー (AWS、GCP など) 上でノード クラスターを作成および管理する方法です。 Kops は、仮想マシン、ネットワーク、ストレージなどのクラウド リソースを自動的に作成および構成し、ノードに必要なコンポーネントをインストールして構成できます。この方法は、クラウドに高可用性とスケーラビリティを備えたノード クラスターを展開するのに適しています。
  • 他のツールまたはプラットフォームの使用: これは、他のサードパーティが提供するツールまたはプラットフォームを使用してノード クラスターを作成および管理する方法です。たとえば、Ansible、Terraform、Rancher などのツールを使用して、ノード クラスターの作成と構成のプロセスを自動化およびカスタマイズできます。あるいは、クラウド サービス プロバイダーが提供するマネージド サービス (EKS、GKE、AKS など) を使用して、ノード クラスターを直接作成および管理することもできます。このアプローチはさまざまなニーズや好みに適していますが、より多くの学習とデバッグのコストが必要になる可能性があります。

2. マルチマスタークラスタ

通常、マスター ノードが 1 つしかない場合、そのマスター ノードに障害が発生したり、使用できなくなったりすると、クラスター全体が制御を失い、操作は実行されなくなります。したがって、クラスターの高可用性を確保するには、マスター クラスターを構築するために複数のマスター ノードが必要です。マルチマスター クラスターは、アプリケーション クラスターとストレージ クラスターに分けることができます。アプリケーション クラスターは、主に apiserver、スケジューラ、およびコントローラ マネージャーのクラスターです。これらは個別のノードとして負荷分散クラスターを実装することができ、etcd はマルチノードの高可用性クラスターを実装できます。その中で、etcd はクラスタ化が可能であり、組み込みクラスタと外部クラスタに分けられます。詳しい紹介は以下の通りです。

1. アプリケーション負荷分散クラスター

Kubernetes マルチマスター クラスターとは、複数のマスター ノードを使用してクラスターの可用性とフォールト トレランスを向上させるソリューションを指します。マスターノードは、クラスター内のリソースとサービスを制御および管理する役割を担います。次のコンポーネントを実行します。

  • kube-apiserver: HTTP REST インターフェースの主要なサービス プロセスを提供します。これは、クラスター内のすべてのリソースを追加、削除、変更、および照会するための唯一のエントリ ポイントであり、クラスター制御のエントリ プロセスでもあります。
  • kube-scheduler: リソースのスケジューリング (Pod のスケジューリング) を担当するプロセス。バス会社の「配車室」に相当します。
  • kube-controller-manager: クラスター内のすべてのリソース オブジェクトの自動制御センター。リソース オブジェクトの「ゼネラル マネージャー」として理解できます。

Kubernetes マスター クラスターを実装する方法は多数あります。さまざまなニーズやシナリオに応じて、マスター クラスターを構築および運用するための適切な方法を選択できます。一般的に、負荷分散クラスターは実装方法に応じて次のソリューションに分類できます。

  • ハードウェア ロード バランシング: ハードウェア ロード バランシングは、F5、Cisco などの特殊なハードウェア デバイスを使用してロード バランシングを実装するソリューションです。ハードウェア ロード バランシングの利点は、パフォーマンスが高く、安定性が強いことですが、欠点はコストが高く、スケーラビリティが低いことです。
  • ソフトウェア負荷分散: ソフトウェア負荷分散は、Nginx、HAProxy などの一般的なサーバーとソフトウェアを使用して負荷分散を実装するソリューションです。ソフトウェア負荷分散の利点は、コストが低く、スケーラビリティに優れていることですが、欠点はパフォーマンスが低く、安定性が低いことです。
  • ハイブリッド ロード バランシング: ハイブリッド ロード バランシングは、ハードウェア デバイスをグローバル エントリとして使用し、ソフトウェアをローカル配布に使用するなど、ハードウェアとソフトウェアを組み合わせてロード バランシングを実現するソリューションです。ハイブリッド負荷分散の利点は、パフォーマンスとコストの両方を考慮していることですが、欠点は非常に複雑で保守が難しいことです。

2. ストレージ高可用性クラスター

etcd: クラスター内のすべてのリソース オブジェクトのステータスとメタデータを保存するために使用される分散キー値ストレージ システム。

k8s は高可用性 (HA) Kubernetes etcdクラスターを構成します。

次の 2 種類の HA クラスターを設定できます。

  • etcdノードがコントロールプレーンノードと共存するスタックされたコントロールプレーンノードを使用する
  • 外部etcdノードを使用する(etcdはコントロールプレーンとは別のノードで実行される)

(1)スタックされたetcdトポロジー - 組み込みetcdクラスター

スタックされた HA クラスターは、etcd 分散データ ストレージ クラスターが kubeadm によって管理されるコントロール プレーン ノード上にスタックされ、コントロール プレーンのコンポーネントとして実行されるトポロジです。

各コントロール プレーン ノードは、kube-apiserver、kube-scheduler、および kube-controller-manager のインスタンスを実行します。 kube-apiserver は、ロード バランサーを使用してワーカー ノードに公開されます。

各コントロール プレーン ノードは、そのノードの kube-apiserver とのみ通信するローカル etcd メンバーを作成します。同じことがローカルの kube-controller-manager および kube-scheduler インスタンスにも当てはまります。

このトポロジは、コントロール プレーンと etcd メンバーを同じノードに結合します。外部の etcd クラスターを使用する場合と比較して、セットアップが簡単で、レプリカの管理も容易になります。

ただし、クラスターを積み重ねると、結合が失敗するリスクが伴います。ノードに障害が発生すると、etcd メンバーとコントロール プレーン インスタンスの両方が失われ、冗長性が影響を受けます。コントロール プレーン ノードを追加することで、このリスクを軽減できます。

したがって、HA クラスターでは少なくとも 3 つのスタックされたコントロール プレーン ノードを実行する必要があります。

これは kubeadm のデフォルトのトポロジです。 kubeadm initとkubeadm joinを使用する場合  --コントロールプレーン コントロール プレーン ノードにローカル etcd メンバーを作成すると、コントロール プレーン ノードにローカル etcd メンバーが自動的に作成されます。

(2)外部etcdトポロジー - 外部etcdクラスタ

外部 etcd を使用した HA クラスターは、etcd 分散データ ストレージ クラスターがコントロール プレーン ノードとは独立した他のノード上で実行されるトポロジです。

スタックされた etcd トポロジと同様に、外部 etcd トポロジ内の各コントロール プレーン ノードは、kube-apiserver、kube-scheduler、および kube-controller-manager のインスタンスを実行します。同様に、kube-apiserver はロードバランサーを使用してワーカーノードに公開されます。ただし、etcd メンバーは異なるホスト上で実行され、各 etcd ホストは各コントロール プレーン ノードの kube-apiserver と通信します。

このトポロジは、コントロール プレーンと etcd メンバーを分離します。したがって、コントロール プレーン インスタンスまたは etcd メンバーの損失による影響が少なく、スタックされた HA トポロジのようなクラスターの冗長性に影響を与えない HA セットアップが提供されます。

ただし、このトポロジでは、スタックされた HA トポロジの 2 倍のホスト数が必要になります。このトポロジの HA クラスターには、コントロール プレーン ノード用に少なくとも 3 つのホストと、etcd ノード用に 3 つのホストが必要です。

<<:  とんでもない!なぜ面接ではいつもカフカについて質問されるのでしょうか?急いで埋め合わせをしましょう

>>:  クラウドベースのアプリケーションを設計および展開する方法

推薦する

ウェブサイトに価値ある外部リンクを作成する方法についての簡単な説明

外部リンクの投稿は、すべてのウェブサイト最適化の専門家が行うべきことの 1 つです。外部リンクを投稿...

UCloud は Titanium Media の 2017 BTAwards で「今年の革新的企業」に選ばれました

先日、北京で「2017 Titanium Media T-EDGE Annual Internati...

ウェブサイト最適化の主なテーマはウェブサイトの重さです

私がSEOの仕事に携わり始めてから6年が経ちました。もはやSEOの仕事だけをしているわけではありませ...

著者の権威もGoogleのランキングに影響を与える

brandongaille からのメッセージ: 記事に著者タグを追加すると、検索エンジンが著者をより...

#11.11# 三友クラウド、VPS年間支払いは98元から、米国CN2回線は35%割引、日本CN2と香港CMI回線は20%割引

Sanyouyunの11.11プロモーションも開催中:(1)米国西海岸サンノゼの双方向CN2が生涯3...

ウェブページ最適化の5つの要素

ウェブサイトのホームページ、ディレクトリページ、記事ページを総称してウェブページと呼びます。ウェブペ...

racknerd: 米国の格安 VPS を再入荷、年間 12.79 ドル - 1G メモリ/1 コア/20g SSD/3T トラフィック、PayPal+Alipay

Chia が引き起こした世界的なハードディスク不足により (ハードディスク不足はメーカーの意図的なも...

ゴダディ 47% オフ

Godaddy が中国人向けの特別な割引コードを提供したのは久しぶりです。今回は強力な割引コードが登...

Bilibiliは次の「公式アカウント」になるのか?

Bilibiliは突破しようとしている。メディア関係者として、原稿を書くために夜更かしするのはよくあ...

ニュース: 最適化されたVPSが暴走した可能性

「お茶を飲むのが大好きな大鵬兄弟」から、optimizedvpsが逃げて返金を受けたというメッセージ...

VersioはEUドメイン名の登録を0.99ユーロで提供

Versio が逃げることはなさそうなので、あまり心配しないでください。この割引には登録数に制限はあ...

アリババクラウドの李金氏:技術配当金を継続的に放出し、1,000万の企業に技術プラットフォームを提供する

10月12日、2017年杭州雲奇大会において、アリババクラウドは将来1000万社にインテリジェント時...

米国(ロサンゼルス)の無制限 VPS:desivps、最低 $18.99/年、1Gbps 帯域幅、KVM+SSD RAID10

desivps は現在、米国ロサンゼルスのデータセンターで、無制限のトラフィック、1Gbps の帯域...

Tmallのダブル11プロモーション手法の簡単な分析

以下のデータを通じて、編集者はダブル11の熱狂に加わり、電子商取引業界の同僚とともにTmallのダブ...