第2章 インフラストラクチャーコンポーネント|
2.1. Kubernetes インフラストラクチャー
2.1.1. 概要
OpenShift Container Platform 内で、Kubernetes はコンテナーのセット全体でコンテナー化されたアプリケーションを管理し、デプロイメント、メンテナンス、およびアプリケーションののメカニズムを提供します。コンテナーのランタイムは、コンテナー化されたアプリケーションのパッケージを作成してインスタンス化し、実行します。Kubernetes クラスターは 1 つ以上のマスターおよびノードセットで構成されます。
オプションとして、高可用性 (HA) のマスターを設定し、クラスターから単一障害点がなくなるようにします。
OpenShift Container Platform は Kubernetes 1.10 および Docker 1.13 を使用します。
2.1.2. マスター
マスターは、API サーバー、コントローラーマネージャーサーバー、および etcd などのコントロールプレーンのコンポーネントが含まれるホストです。マスターはその Kubernetes クラスターで「ノード」を管理し、「Pod」がノードで実行されるようスケジュールします。
コンポーネント | 説明 |
---|---|
API サーバー |
Kubernetes API サーバーは Pod、サービスおよびレプリケーションコントローラーのデータを検証し、設定します。さらに Pod をノードに割り当て、Pod の情報をサービス設定に同期します。 |
etcd |
etcd は、コンポーネントが etcd で必要な状態に戻すための変更の有無を確認する間に永続マスター状態を保存します。etcd は、通常 2n+1 ピアサービスでデプロイされるなど、高可用性のためにオプションで設定できます。 |
コントローラーマネージャーサーバー |
コントローラーマネージャーサーバーは、レプリケーションコントローラーのオブジェクトに変更がないか etcd を監視し、API を使用して希望とする状態を有効化します。このような複数のプロセスは、一度に 1 つのアクティブなリーダーを設定してクラスターを作成します。 |
HAProxy |
オプションで、「高可用性のマスター」を |
2.1.2.1. コントロールプレーンの静的 Pod
OpenShift Container Platform 3.10 以降で、コアとなるコントロールプレーンのコンポーネントをインストール、操作するデプロイメントモデルが変更されました。3.10 以前は、API サーバーとコントローラーマネージャーのコンポーネントは、systemd が操作するスタンドアロンのホストプロセスとして実行されていました。3.10 では、これらのコンポーネントが kubelet が操作する 静的 Pod に移行されています。
etcd が同じホストに共存しているマスターでは、etcd も静的 Pod に移動されます。RPM ベースの etcd は依然として、マスターではない etcd ホスト上でサポートされます。
さらに、ノードコンポーネントの openshift-sdn と openvswitch が systemd サービスではなく、DaemonSet を使用して実行されます。
図2.1 コントロールプレーンホストのアーキテクチャーの変更
「マスターおよびノードの設定」のトピックに記載されているように、静的 Pod として実行中のコントロールプレーンのコンポーネントの場合でさえも、マスターホストは /etc/origin/master/master-config.yaml ファイルからの設定をソースとして使用します。
Pod のミラーリング
マスターノード上の kubelet は自動的に、コントロールプレーンの静的 Pod 毎に、API サーバー上に ミラーの Pod を作成し、kube-system プロジェクトのクラスターで表示できるようにします。これらの静的 Pod のマニフェストは、デフォルトで、マスターホスト上の /etc/origin/node/pods ディレクトリーに配置されている openshift-ansible インストーラーによりインストールされます。
これらの Pod は、以下のhostPath
ボリュームを定義します。
/etc/origin/master |
全照明書、設定ファイル、admin.kubeconfig ファイルが含まれます。 |
/var/lib/origin |
バイナリーの潜在的なコアダンプとボリュームが含まれます。 |
/etc/origin/cloudprovider |
クラウドプロバイダー固有の設定 (AWS、Azure など) が含まれます。 |
/usr/libexec/kubernetes/kubelet-plugins |
追加のサードパーティーのボリュームプラグインが含まれます。 |
/etc/origin/kubelet-plugins |
システムコンテナーに向けた追加のサードパーティーのボリュームプラグインが含まれます。 |
以下など、静的 Pod で実行可能な操作には限りがあります。
$ oc logs master-api-<hostname> -n kube-system
API サーバーからの標準出力を返します。ただし、
$ oc delete pod master-api-<hostname> -n kube-system
上記のコマンドでは実際には Pod は削除されません。
別の例として、クラスター管理者は、API サーバーの loglevel
を増やすなど、一般的な操作を実行して、問題が発生した場合により詳細なデータを参照できるようにする場合があります。OpenShift Container Platform 3.10 では、コンテナー内で実行中のプロセスに渡せるように、/etc/origin/master/master.env ファイルを編集して、OPTIONS
変数の --loglevel
パラメーターを変更する必要があります。変更を適用するには、コンテナー内で実行中のプロセスを再起動する必要があります。
マスターサービスの再起動
コントロールプレーンの静的 Pod で実行中のコントロールプレーンサービスを再起動するには、マスターホストの master-restart
コマンドを使用します。
マスター API を再起動します。
# master-restart api
コントローラーを再起動します。
# master-restart controllers
etcd を再起動します。
# master-restart etcd
マスターサービスログの表示
コントロールプレーンの静的 Pod で実行中のコントロールプレーンサービスのログを表示するには、適切なコンポーネントの master-logs
コマンドを使用します。
# master-logs api api # master-logs controllers controllers # master-logs etcd etcd
2.1.2.2. 高可用性マスター
マスターまたはそのサービスのいずれかが失敗しても、実行中のアプリケーションの可用性はそのまま維持されます。ただし、マスターサービスが失敗すると、システムのアプリケーションの失敗に対応する機能、または新規アプリケーションの作成に対応する機能が低下します。オプションで、クラスターに単一障害点をなくせるように、高可用性 (HA) のマスターを設定できます。
マスターの可用性についての懸念を少なくするために、2 つのアクティビティーを実行することが推奨されます。
- runbook エントリーは、マスターの再作成のために作成される必要があります。runbook エントリーは、いずれの高可用性サービスに対しても必要なバックアップです。追加ソリューションは、runbook が参照される頻度を制御するのみです。たとえば、マスターホストのコールドスタンドバイは新規アプリケーションの作成または失敗したアプリケーションコンポーネントの復元に 1 分未満のダウンタウンのみを要求する SLA を十分に満たせる可能性があります。
-
高可用性ソリューションを使用してマスターを設定し、クラスターに単一障害点がなくなるようにします。「クラスターのインストールに関するドキュメント」では、
native
HA 方法を使用し、HAProxy を設定した具体的なサンプルについて説明します。さらに、これらの概念を採用し、HAProxy ではなくnative
方法を使用して既存の HA ソリューションに対して適用できます。
native
HA 方式を HAProxy で使用する際に、マスターコンポーネントには以下の可用性があります。
ロール | スタイル | 備考 |
---|---|---|
etcd |
Active-active |
ロードバランシング機能のある完全に冗長性のあるデプロイメントです。別個のホストにインストールすることも、マスターホストに共存させることもできます。 |
API サーバー |
Active-active |
HAProxy で管理されます。 |
コントローラーマネージャーサーバー |
Active-passive |
一度に 1 つのインスタンスがクラスターリーダーとして選択されます。 |
HAProxy |
Active-passive |
API マスターエンドポイント間に負荷を分散します。 |
クラスター化された etcd では定足数を維持するためにホストの数は奇数である必要がありますが、マスターサービスには定足数やホストの数が奇数でなければならないという要件はありません。ただし、HA 用に 2 つ以上のマスターサービスが必要になるため、マスターサービスと etcd を共存させる場合には、一律奇数のホストを維持することが一般的です。
2.1.3. ノード
ノードでは、コンテナーのランタイム環境が提供されます。Kubernetes クラスターの各ノードには、マスターで管理される必須のサービスが含まれます。また、ノードには、コンテナーランタイム、kubelet、サービスプロキシーなど、Pod の実行に必要なサービスも含まれます。
OpenShift Container Platform は、ノードをクラウドプロバイダー、物理システムまたは仮想システムから作成します。Kubernetes は、それらのノードの表現であるノードオブジェクトと対話します。マスターはノードオブジェクトからの情報を使用してヘルスチェックでノードを検証します。ノードはこれがヘルスチェックをパスするまで無視され、マスターはノードが有効になるまでチェックを継続します。Kubernetes ドキュメントにはノードのステータスと管理についての詳細が記載されています。
管理者は CLI を使用して OpenShift Container Platform インスタンスの「ノードを管理」できます。ノードサーバー起動時の全設定およびセキュリティーオプションを定義するには、「専用ノードの設定ファイル」を使用します。
推奨される最大ノード数については、「クラスターの制限」のセクションを参照してください。
2.1.3.1. Kubelet
各ノードには、Pod を記述する YAML ファイルであるコンテナーマニフェストで指定されるようにノードを更新する kubelet があります。kubelet は一連のマニフェストを使用して、そのコンテナーが起動しており、継続して実行することを確認します。
コンテナーマニフェストは以下によって kubelet に提供できます。
- 20 秒ごとにチェックされるコマンドのファイルパス。
- 20 秒ごとにチェックされるコマンドラインで渡される HTTP エンドポイント。
- /registry/hosts/$(hostname -f) などの etcd サーバーを監視し、変更に作用する kubelet。
- HTTP をリッスンし、単純な API に対応して新規マニフェストを提出する kubelet。
2.1.3.2. サービスプロキシー
各ノードは、ノード上で API で定義されるサービスを反映した単純なネットワークプロキシーも実行します。これにより、ノードは一連のバックエンドで単純な TCP および UDP ストリームの転送を実行できます。
2.1.3.3. ノードオブジェクト定義
以下は、Kubernetes のノードオブジェクト定義の例になります。
apiVersion: v1 1 kind: Node 2 metadata: creationTimestamp: null labels: 3 kubernetes.io/hostname: node1.example.com name: node1.example.com 4 spec: externalID: node1.example.com 5 status: nodeInfo: bootID: "" containerRuntimeVersion: "" kernelVersion: "" kubeProxyVersion: "" kubeletVersion: "" machineID: "" osImage: "" systemUUID: ""
2.1.3.4. ノードのブートストラップ
OpenShift Container Platform 3.10 以降では、ノードの設定はマスターからブートストラップされます。つまり、ノードが事前定義済みの設定、クライアントとサーバーの証明書をマスターからプルします。これにより、ノード間の相違点を減らして、より多くの設定を集約し、希望の状態でのクラスターを収束することで、ノードの起動時間を短縮することができます。証明書の回転や集約された証明書の管理は、デフォルトで有効になっています。
図2.2 ノードブートストラップのワークフローに関する概要
ノードサービスの起動時に、ノードは /etc/origin/node/node.kubeconfig ファイルと他のノード設定ファイルが存在するかチェックしてから、クラスターに参加します。存在しない場合には、ノードはマスターから設定をプルしてから、クラスターに参加します。
ConfigMaps は、クラスターにノードの設定を保存するのに使用し、ノードホスト上の /etc/origin/node/node-config.yaml い設定ファイルを生成します。デフォルトのノードグループやその ConfigMaps の定義については、『クラスターのインストール』ガイドの「ノードグループとホストマッピングの定義」を参照してください。
ノードブートストラップのワークフロー
自動ノードブートストラップのプロセスでは、以下のワークフローを使用します。
デフォルトでは、クラスターのインストール時に、
clusterrole
、clusterrolebinding
およびserviceaccount
オブジェクトのセットが、ノードブートストラップで使用するために作成されます。system:node-bootstrapper クラスターロールは、ノードのブートストラップ時に、証明書署名要求 (CSR) の作成に使用します。
# oc describe clusterrole.authorization.openshift.io/system:node-bootstrapper Name: system:node-bootstrapper Created: 17 hours ago Labels: kubernetes.io/bootstrapping=rbac-defaults Annotations: authorization.openshift.io/system-only=true openshift.io/reconcile-protect=false Verbs Non-Resource URLs Resource Names API Groups Resources [create get list watch] [] [] [certificates.k8s.io] [certificatesigningrequests]
以下の node-bootstrapper サービスアカウントを、openshift-infra プロジェクトに作成します。
# oc describe sa node-bootstrapper -n openshift-infra Name: node-bootstrapper Namespace: openshift-infra Labels: <none> Annotations: <none> Image pull secrets: node-bootstrapper-dockercfg-f2n8r Mountable secrets: node-bootstrapper-token-79htp node-bootstrapper-dockercfg-f2n8r Tokens: node-bootstrapper-token-79htp node-bootstrapper-token-mqn2q Events: <none>
以下の system:node-bootstrapper のクラスターロールのバインディングは、ノードブートストラップのクラスターロールとサービスアカウント向けです。
# oc describe clusterrolebindings system:node-bootstrapper Name: system:node-bootstrapper Created: 17 hours ago Labels: <none> Annotations: openshift.io/reconcile-protect=false Role: /system:node-bootstrapper Users: <none> Groups: <none> ServiceAccounts: openshift-infra/node-bootstrapper Subjects: <none> Verbs Non-Resource URLs Resource Names API Groups Resources [create get list watch] [] [] [certificates.k8s.io] [certificatesigningrequests]
また、デフォルトでは、クラスターのインストール時に、openshift-ansible のインストーラーにより、OpenShift Container Platform の証明局とその他のさまざまな証明書、鍵、kubeconfig ファイルが /etc/origin/master ディレクトリーに作成されます。注目すべき 2 つのファイルは以下のとおりです。
/etc/origin/master/admin.kubeconfig
system:admin ユーザーを使用します。
/etc/origin/master/bootstrap.kubeconfig
マスター以外のノードブートストラップノードに使用します。
etc/origin/master/bootstrap.kubeconfig は、インストーラーが以下のように node-bootstrapper のサービスアカウントを使用するときに作成されます。
$ oc --config=/etc/origin/master/admin.kubeconfig \ serviceaccounts create-kubeconfig node-bootstrapper \ -n openshift-infra
- マスターノードでは、ブートストラップファイルとして /etc/origin/master/admin.kubeconfig を使用し、/etc/origin/node/boostrap.kubeconfig にコピーされます。他のマスター以外のノードでは、/etc/origin/master/bootstrap.kubeconfig ファイルは、他のノードすべてに対して、各ノードホストごとに /etc/origin/node/boostrap.kubeconfig にコピーされます。
次に、/etc/origin/master/bootstrap.kubeconfig は、以下のように、フラグ
--bootstrap-kubeconfig
を使用して kubelet に渡されます。--bootstrap-kubeconfig=/etc/origin/node/bootstrap.kubeconfig
- kubelet は、指定の /etc/origin/node/bootstrap.kubeconfig ファイルで先に起動します。内部での初期接続後に、kubelet は証明書署名要求 (CSR) を作成して、マスターに送信します。
CSR はコントローラーマネージャーを使用して検証、承認されます (特に、証明署名コントローラー)。承認された場合には、kubelet クライアントとサーバー証明書は /etc/origin/node/ceritificates ディレクトリーに作成されます。以下に例を示します。
# ls -al /etc/origin/node/certificates/ total 12 drwxr-xr-x. 2 root root 212 Jun 18 21:56 . drwx------. 4 root root 213 Jun 19 15:18 .. -rw-------. 1 root root 2826 Jun 18 21:53 kubelet-client-2018-06-18-21-53-15.pem -rw-------. 1 root root 1167 Jun 18 21:53 kubelet-client-2018-06-18-21-53-45.pem lrwxrwxrwx. 1 root root 68 Jun 18 21:53 kubelet-client-current.pem -> /etc/origin/node/certificates/kubelet-client-2018-06-18-21-53-45.pem -rw-------. 1 root root 1447 Jun 18 21:56 kubelet-server-2018-06-18-21-56-52.pem lrwxrwxrwx. 1 root root 68 Jun 18 21:56 kubelet-server-current.pem -> /etc/origin/node/certificates/kubelet-server-2018-06-18-21-56-52.pem
- CSR の承認後に、node.kubeconfig ファイルが /etc/origin/node/node.kubeconfig に作成されます。
- kubelet は、/etc/origin/node/certificates/ ディレクトリーにある /etc/origin/node/node.kubeconfig ファイルと証明書で再起動されます。再起動後に、クラスターへの参加の準備ができます。
ノード設定のワークフロー
ノードの設定を取得するには、以下のワークフローを使用します。
- 最初に、ノードの kubelet は、/etc/origin/node/ ディレクトリーにあるブートストラップの設定ファイル bootstrap-node-config.yaml を使用して起動され、ノードのプロビジョニング時に作成されます。
- 各ノードで、atomic-openshift-node サービスファイルは、/usr/local/bin/ ディレクトリーにあるローカルスクリプト openshift-node を使用して、指定の bootstrap-node-config.yaml で kubelet を起動します。
- マスター毎に、/etc/origin/node/pods ディレクトリーには、マスターに静的 Pod として作成された apiserver、controller および etcd の Pod のマニフェストが含まれます。
クラスターのインストール時に、sync DaemonSet が作成され、ノードごとに同期 Pod を作成します。同期 Pod は、/etc/sysconfig/atomic-openshift-node ファイル内の変更をモニタリングします。特に、設定される
BOOTSTRAP_CONFIG_NAME
を監視します。BOOTSTRAP_CONFIG_NAME
は、openshift-ansible インストーラーにより設定され、対象のノードが所属するノード設定グループをもとにした ConfigMap の名前です。デフォルトでは、インストーラーは以下のノード設定グループを作成します。
- node-config-master
- node-config-infra
- node-config-compute
- node-config-all-in-one
- node-config-master-infra
各グループの ConfigMap は openshift-node プロジェクトに作成されます。
-
同期 Pod は、
BOOTSTRAP_CONFIG_NAME
の値セットをもとに適切な ConfigMap を抽出します。 - 同期 Pod は kubelet 設定に ConfigMap データを変換し、対象のノードホスト用に /etc/origin/node/node-config.yaml を作成します。このファイルに変更が加えられると (またはファイルが初めて作成される場合には)、kubelet が再起動されます。
ノード設定の変更
ノードの設定は、openshift-node プロジェクトの適切な ConfigMap を編集して変更します。/etc/origin/node/node-config.yaml は直接変更しないでください。
たとえば、node-config-compute グループに含まれるノードの場合は、以下のコマンドを使用して ConfigMap を編集します。
$ oc edit cm node-config-compute -n openshift-node
2.2. Container レジストリー
2.2.1. 概要
OpenShift Container Platform は、Docker Hub、サードパーティーによって実行されるプライベートレジストリー、および統合 OpenShift Container Platform レジストリーを含む、イメージのソースとして Docker レジストリー API を実装するすべてのサーバーを利用できます。
2.2.2. 統合 OpenShift Container レジストリー
OpenShift Container Platform には OpenShift Container レジストリー (OCR) という統合コンテナーレジストリーがあり、新規イメージリポジトリーのプロビジョニングをオンデマンドで自動化できるようになります。この OCR を使用することで、組み込みのアプリケーション「ビルド」の保管場所が用意され、作成されたイメージをプッシュできます。
新規イメージが OCR にプッシュされるたびに、レジストリーは OpenShift Container Platform に新規イメージ、および namespace、名前、およびイメージメタデータなどの関連する情報について通知します。OpenShift Container Platform の異なる部分が新規イメージに対応し、新規ビルドおよびデプロイメントを作成します。
また、OCR はビルドおよびデプロイメントの統合なしに単独でコンテナーレジストリーとして機能するスタンドアロンコンポーネントとしてデプロイできます。詳細については、「OpenShift Container レジストリーのスタンドアロンデプロイメントのインストール」を参照してください。
2.2.3. サードパーティーレジストリー
OpenShift Container Platform はサードパーティーのイメージを使用してコンテナーを作成できますが、これらのレジストリーは統合 OpenShift Container Platform レジストリーと同じイメージ通知のサポートがあるわけではありません。取得したタグの更新は、oc import-image <stream>
の実行と同程度に簡単です。新規イメージが検出されると、前述のビルドおよびデプロイメントの応答が生じます。
2.2.3.1. 認証
OpenShift Container Platform はユーザーが指定する認証情報を使ってプライベートリポジトリーにアクセスするためにレジストリーと通信します。これにより、OpenShift はベートレジストリーから/へのイメージのプッシュ/プルを行うことができます。「認証」のトピックには詳細が記載されています。
2.3. Web コンソール
2.3.1. 概要
OpenShift Container Platform Web コンソールは、Web ブラウザーからアクセスできるユーザーインターフェースです。開発者は Web コンソールを使用してプロジェクトのコンテンツの可視化、ブラウズ、および管理を実行できます。
Web コンソールを使用するには JavaScript が有効にされている必要があります。WebSocket をサポートする Web ブラウザーを使用することが最も推奨されます。
Web コンソールはマスターで Pod として実行されます。Web コンソールを実行するために必要な静的なアセットは Pod によって提供されます。また、管理者は拡張を使用して 「Web コンソールのカスタマイズ」を実行できます。これにより、Web コンソールの読み込み時にスクリプトを実行し、カスタムスタイルシートを読み込むことができます。
ブラウザーから Web コンソールにアクセスする際に、まず必要な静的アセットをすべて読み込みます。次に、openshift start
オプションの --public-master
で定義される値、openshift-web-console
namespace で定義される webconsole-config
設定マップの関連パラメーター masterPublicURL
から定義される値を使用して、OpenShift Container Platform API に要求を行います。Web コンソールは WebSocket を使用して API サーバーとの永続的な接続を維持し、更新情報を利用可能になる時点で受信します。
図2.3 sWeb コンソール要求アーキテクチャー
Web コンソール用に設定されたホスト名と IP アドレスは、ブラウザーが要求を クロスオリジン とみなした場合でさえも、安全に API サーバーにアクセスできるように、ホワイトリスト化されます。別のホスト名を使用して、Web アプリケーションから API サーバーにアクセスするには、openshift start
の --cors-allowed-origins
オプションを指定するか、関連の master 設定ファイルパラメーター corsAllowedOrigins
から、対象のホスト名をホワイトリスト化する必要があります。
corsAllowedOrigins
パラメーターは設定フィールドで制御されます。値に対してピニングやエスケープは実行されません。以下は、ホスト名をピニングし、ドットをエスケープする方法の例を示しています。
corsAllowedOrigins: - (?i)//my\.subdomain\.domain\.com(:|\z)
-
(?i)
は大文字/小文字を区別します。 -
//
はドメインの開始にピニングします (またはhttp:
またはhttps:
の後のダブルスラッシュに一致します)。 -
\.
はドメイン名のドットをエスケープします。 -
(:|\z)
はドメイン名の終了に一致します(\z)
またはポートセパレーター(:)
。
2.3.2. CLI ダウンロード
Web コンソールのヘルプアイコンから CLI ダウンロードにアクセスできます。
クラスター管理者は、これらのリンクの追加のカスタマイズを実行できます。
2.3.3. ブラウザーの要件
OpenShift Container Platform のテスト済みの統合を確認します。
2.3.4. プロジェクトの概要
「ログイン」後に、Web コンソールは開発者に現在選択されている「プロジェクト」の概要を提供します。
図2.4 Web コンソールのプロジェクト概要
- プロジェクトセレクターを使うと、アクセスできる「プロジェクト間の切り替え」を実行できます。
- プロジェクトビューからサービスをすぐに見つけるには、検索条件に入力します。
- 「ソースリポジトリー」またはサービスカタログのサービスを使用して新規アプリケーションを作成します。
- プロジェクトに関連する通知。
- Overview タブ (現在選択されている) は各コンポーネントのハイレベルビューと共にプロジェクトのコンテンツを可視化します。
- Applications タブ: デプロイメント、Pod、サービスおよびルートでアクションを参照し、実行します。
- Builds タブ: ビルドおよびイメージストリームでアクションを参照し、実行します。
- Resources タブ: 現在のクォータの消費およびその他のリソースを表示します。
- Storage タブ: Persistent Volume Claim (PVC、永続ボリューム要求) を表示し、アプリケーションのストレージを要求します。
- Monitoring タブ: ビルド、Pod、デプロイメントのログ、およびプロジェクトのすべてのオブジェクト通知を表示します。
- Catalog タブ: プロジェクト内からカタログにすぐに移動します。
Cockpit は OpenShift Container Platform 3.1 以降に自動的にインストールされて有効化されるので、後で開発環境をモニターするのに役立ちます。『Red Hat Enterprise Linux Atomic Host: Getting Started with Cockpit』は Cockpit についての詳細を記載しています。
2.3.5. JVM コンソール
Java イメージをベースとする Pod の場合、Web コンソールは関連する統合コンポーネントを表示し、管理するための hawt.io ベースの JVM コンソールへのアクセスも公開します。Connect リンクは、コンテナーに jolokia という名前のポートがある場合は、Browse
図2.5 JVM コンソールへのリンクを持つ Pod
JVM コンソールへの接続当とに、接続されている Pod に関連するコンポーネントに応じて異なるページが表示されます。
図2.6 JVM コンソール
以下のページが利用可能になります。
ページ | 説明 |
---|---|
JMX |
JMX ドメインおよび mbeans を表示し、管理します。 |
スレッド |
スレッドの状態を表示し、モニターします。 |
ActiveMQ |
Apache ActiveMQ ブローカーを表示し、管理します。 |
Camel |
Apache Camel ルートおよび依存関係を表示し、管理します。 |
OSGi |
JBoss Fuse OSGi 環境を表示し、管理します。 |
2.3.6. StatefulSets
StatefulSet
コントローラーは Pod の一意のアイデンティティーを提供し、デプロイメントおよびスケーリングの順序を定めます。StatefulSet
は一意のネットワークアイデンティティー、永続ストレージ、正常なデプロイメントおよびスケーリング、および正常な削除および停止に役立ちます。
図2.7 OpenShift Container Platform の StatefulSet