|
この文書は自動機械翻訳技術を使用して翻訳されています。 正確な翻訳を提供するように努めておりますが、翻訳された内容の完全性、正確性、信頼性については一切保証いたしません。 相違がある場合は、元の英語版 英語 が優先され、正式なテキストとなります。 |
Kubernetesの概念
このページでは、Rancherの動作を理解するために重要なKubernetesに関連する概念を説明します。以下の説明は、Kubernetesコンポーネントの簡略化された概要を提供します。詳細については、 Kubernetesコンポーネントに関する公式ドキュメントを参照してください。
Dockerについて
Dockerは、コンテナのパッケージングとランタイムの標準です。開発者はDockerfileからコンテナイメージを構築し、Dockerレジストリからコンテナイメージを配布できます。 Docker Hubは人気のある公共レジストリです。多くの組織もプライベートDockerレジストリを設定します。Dockerは主に個々のノード上でコンテナを管理するために使用されます。
Kubernetesについて
Kubernetesは、コンテナクラスター管理の標準です。YAMLファイルは、アプリケーションを構成するコンテナやその他のリソースを指定します。Kubernetesは、スケジューリング、スケーリング、サービス発見、ヘルスチェック、シークレット管理、設定管理などの機能を実行します。
Kubernetesクラスターとは何ですか?
クラスターは、単一のシステムとして協力して動作するコンピュータのグループです。
_Kubernetesクラスター_は、 Kubernetesコンテナオーケストレーションシステムを使用してコンテナをデプロイ、維持、スケールするクラスターであり、組織がアプリケーションの運用を自動化できるようにします。
Kubernetesクラスターにおけるノードの役割
Kubernetesクラスターの各コンピューティングリソースは、_ノード_と呼ばれます。ノードは、ベアメタルサーバ、または仮想マシンのいずれかが可能です。Kubernetesはノードを3種類に分類します:_etcd_ノード、_コントロールプレーン_ノード、および_ワーカー_ノードです。
Kubernetesクラスターは、少なくとも1つのetcd、コントロールプレーン、およびワーカーノードで構成されています。
etcdノード
Rancherは、単一ノードおよび高可用性インストールの両方でetcdをデータストアとして使用します。Kubernetesでは、etcdはクラスタの状態を保存するノードの役割も果たします。
Kubernetesクラスタの状態は etcd.に保持されます。etcdノードはetcdデータベースを実行します。
etcdデータベースコンポーネントは、クラスタの調整や状態管理など、すべてのクラスタデータのKubernetesストレージとして使用される分散型キー-バリューストアです。常にフェールオーバー用のバックアップが利用できるように、複数のノードでetcdを実行することをお勧めします。
etcdを1つのノードで実行することもできますが、etcdはクラスタの状態を更新するために、過半数のノード、すなわちクォーラムが必要です。クラスタは常にクォーラムを形成するのに十分な健全なetcdノードを含むべきです。n個のメンバーを持つクラスタの場合、クォーラムは(n/2)+1です。奇数サイズのクラスタにノードを追加すると、常にクォーラムに必要なノードの数が増加します。
小規模なクラスタには通常3つのetcdノードで十分であり、大規模なクラスタには5つのetcdノードが推奨されます。
Helmについて
Rancherの高可用性インストールには、KubernetesクラスターにRancherをインストールするためにHelmが使用されます。
HelmはKubernetesのためのパッケージ管理ツールです。Helmチャートは、Kubernetes YAMLマニフェストドキュメントのテンプレート構文を提供します。Helmを使用すると、静的ファイルを使用する代わりに、設定可能なデプロイメントを作成できます。独自のデプロイメントカタログを作成する方法についての詳細は、 https://helm.sh.のドキュメントを参照してください。
サービスアカウントとクラスター役割バインディングに関する詳細は、 Kubernetesのドキュメントを参照してください。