Openshift-architecture
OpenShift-アーキテクチャ
OpenShiftは、KubernetesとDockerクラスターを使用して、各レイヤーが他のレイヤーと緊密にバインドされているレイヤードシステムです。 OpenShiftのアーキテクチャは、Kubernetesを使用してすべてのレイヤーの上にホストされるDockerコンテナーをサポートおよび管理できるように設計されています。 OpenShift V2の以前のバージョンとは異なり、OpenShift V3の新しいバージョンはコンテナー化されたインフラストラクチャをサポートします。 このモデルでは、Dockerは軽量のLinuxベースのコンテナーの作成を支援し、Kubernetesは複数のホスト上のコンテナーを調整および管理するタスクをサポートします。
OpenShift Container Platform Architecture
OpenShiftのコンポーネント
OpenShiftアーキテクチャの重要なコンポーネントの1つは、Kubernetesでコンテナー化されたインフラストラクチャを管理することです。 Kubernetesは、インフラストラクチャの展開と管理を担当しています。 Kubernetesクラスターには、複数のマスターと複数のノードを含めることができます。これにより、セットアップで障害が発生しないことが保証されます。
Kubernetes Master Machineコンポーネント
*Etcd* -クラスター内の各ノードで使用できる構成情報を保存します。 これは、複数のノードに分散できる高可用性キーバリューストアです。 機密情報が含まれている可能性があるため、Kubernetes APIサーバーからのみアクセスできるようにする必要があります。 これは、すべてにアクセス可能な分散キー値ストアです。
APIサーバー*-Kubernetesは、APIを使用してクラスターでのすべての操作を提供するAPIサーバーです。 APIサーバーは、さまざまなツールやライブラリが簡単に通信できるインターフェースを実装しています。 kubeconfigは、通信に使用できるサーバー側ツールと一緒のパッケージです。 Kubernetes APIを公開しています。」
*Controller Manager* -このコンポーネントは、クラスターの状態を調整し、タスクを実行するほとんどのコレクターを担当します。 これは、非終了ループで実行され、APIサーバーへの情報の収集と送信を担当するデーモンと見なすことができます。 クラスターの共有状態を取得し、サーバーの現在のステータスを目的の状態にするために変更を行います。 キーコントローラーは、レプリケーションコントローラー、エンドポイントコントローラー、名前空間コントローラー、およびサービスアカウントコントローラーです。 コントローラーマネージャーは、さまざまな種類のコントローラーを実行して、ノード、エンドポイントなどを処理します。
スケジューラ-Kubernetesマスターの重要なコンポーネントです。 これは、ワークロードの分散を担当するマスターのサービスです。 クラスタノードの作業負荷の使用率を追跡し、リソースが利用可能なワークロードを配置し、ワークロードを受け入れる役割を果たします。 言い換えれば、これはポッドを利用可能なノードに割り当てる責任があるメカニズムです。 スケジューラーは、ワークロードの使用率と、新しいノードへのポッドの割り当てを担当します。
Kubernetesノードのコンポーネント
以下は、Kubernetesマスターと通信するために必要なNodeサーバーの主要コンポーネントです。
*Docker* -各ノードの最初の要件は、比較的孤立しているが軽量の動作環境でカプセル化されたアプリケーションコンテナを実行するのに役立つDockerです。
Kubeletサービス*-これは各ノードの小さなサービスであり、コントロールプレーンサービスとの間で情報を中継します。 etcdストアと対話して、構成の詳細とWrightの値を読み取ります。 これは、コマンドを受信して作業するためにマスターコンポーネントと通信します。 その後、kubeletプロセスは、作業の状態とノードサーバーを維持する責任を負います。 ネットワークルール、ポート転送などを管理します。
*Kubernetes Proxy Service* -これは各ノードで実行されるプロキシサービスであり、外部ホストでサービスを利用できるようにするのに役立ちます。 リクエストを正しいコンテナに転送するのに役立ちます。 Kubernetes Proxy Serviceは、プリミティブロードバランシングを実行できます。 これにより、ネットワーク環境が予測可能でアクセスしやすくなりますが、同時に隔離されます。 ノード上のポッド、ボリューム、シークレットを管理し、新しいコンテナの健康診断などを作成します。
統合OpenShift Container Registry
OpenShiftコンテナレジストリは、Dockerイメージの格納に使用されるRed Hatの組み込みストレージユニットです。 OpenShiftの最新の統合バージョンでは、OpenShift内部ストレージに画像を表示するためのユーザーインターフェイスが用意されています。 これらのレジストリは、指定されたタグを持つイメージを保持することができます。タグは、後でコンテナを構築するために使用されます。
よく使用される用語
画像-Kubernetes(Docker)画像は、コンテナ化されたインフラストラクチャの重要な構成要素です。 現在、KubernetesはDockerイメージのみをサポートしています。 ポッドの各コンテナーには、その内部で実行されるDockerイメージがあります。 ポッドを設定する場合、設定ファイルの画像プロパティの構文はDockerコマンドと同じです。
プロジェクト-OpenShift V2の以前のバージョンに存在していたドメインの名前を変更したバージョンとして定義できます。
コンテナ-イメージがKubernetesクラスタノードにデプロイされた後に作成されるものです。
ノード-ノードは、マスターのミニオンとしても知られるKubernetesクラスター内の稼働中のマシンです。 これらは、物理インスタンス、VMインスタンス、またはクラウドインスタンスにすることができる作業単位です。
- ポッド-ポッドは、Kubernetesクラスターのノード内のコンテナーとそのストレージのコレクションです。 内部に複数のコンテナを持つポッドを作成することが可能です。 たとえば、データベースコンテナーとWebサーバーコンテナーをポッド内に保持します。