1.2. Kubernetes リソース

カスタムリソースは、KubernetesAPI のエクステンションです。カスタムリソースを使用して、Kubernetes クラスターをカスタマイズできます。Operator は、カスタムリソースを使用してアプリケーションとそのコンポーネントを管理するソフトウェアエクステンションです。Kubernetes は、クラスターリソースの処理中に一定の望ましい結果を得る必要がある場合に、宣言型モデルを使用します。Operator を使用することで、Kubernetes は宣言的な方法で状態を定義します。命令型コマンドを使用して、Kubernetes クラスターリソースを変更できます。Operator は、リーソスの目的とされる状態と、実際の状態を継続的に比較して、実際の状態を目的の状態と合わせられるようにアクションを実行します。

図1.2 Kubernetes クラスターの概要

247 OpenShift Kubernetes の概要 1

表1.2 Kubernetes リソース

リソース目的

Service

Kubernetes はサービスを使用して、実行中のアプリケーションを一連の Pod に公開します。

ReplicaSet

Kubernetes は ReplicaSets を使用して、一定の Pod 数を維持します。

Deployment

アプリケーションのライフサイクルを維持するリソースオブジェクト。

Kubernetes は、OpenShift Container Platform のコアコンポーネントです。OpenShift Container Platform は、コンテナー化されたアプリケーションの開発および実行に使用できます。Kubernetes を基盤とする OpenShift Container Platform には、大規模な通信、ビデオストリーミング、ゲーム、銀行取引、およびその他のアプリケーションのエンジンと同様のサービスを提供する技術が組み込まれています。OpenShift Container Platform を使用することで、コンテナー化されたアプリケーションを単一のクラウドを超えてオンプレミスおよびマルチクラウド環境へと拡張することができます。

図1.3 Kubernetes のアーキテクチャー

247 OpenShift Kubernetes の概要 2

クラスターは、クラウド環境内の複数のノードで設定される単一の計算ユニットです。Kubernetes クラスターには、コントロールプレーンとワーカーノードが含まれます。さまざまなマシンや環境で Kubernetes コンテナーを実行できます。コントロールプレーンノードは、クラスターの状態を制御および維持します。ワーカーノードを使用して Kubernetes アプリケーションを実行できます。Kubernetes の namespace を使用して、クラスター内のクラスターリソースを区別できます。namespace のスコープは、デプロイメント、サービス、Pod などのリソースオブジェクトに適用できます。ストレージクラス、ノード、永続ボリュームなどのクラスター全体のリソースオブジェクトに、namespace を使用することはできません。