Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

4.5.4.3. 専用インフラストラクチャーノードの設定

実稼働環境では、レジストリー Pod とルーター Pod をユーザーアプリケーション用の Pod とは別に実行できる専用インフラストラクチャーノードを保持することを推奨します。

openshift_router_selector および openshift_registry_selector Ansible 設定は、レジストリー Pod とルーター Pod を配置する際に使用されるラベルセレクターを決定します。これらはデフォルトで node-role.kubernetes.io/infra=true に設定されます。

# default selectors for router and registry services
# openshift_router_selector='node-role.kubernetes.io/infra=true'
# openshift_registry_selector='node-role.kubernetes.io/infra=true'

レジストリーとルーターは、node-role.kubernetes.io/infra=true ラベルが付いた、専用インフラストラクチャーノードと見なされるノードホスト上でのみ実行できます。お使いの OpenShift Container Platform 環境に、node-role.kubernetes.io/infra=true ラベルが付いたノードホストが 1 つ以上存在することを確認してください。 デフォルトの node-config-infra を使用してこのラベルを設定できます。

[nodes]
infra-node1.example.com openshift_node_group_name='node-config-infra'
重要

セレクター設定に一致するノードが [nodes] セクションにない場合、デフォルトのルーターとレジストリーはデプロイに失敗し、Pendingステータスになります。

レジストリーとルーターの管理に OpenShift Container Platform を使用しない場合は、以下のように Ansible 設定を行います。

openshift_hosted_manage_registry=false
openshift_hosted_manage_router=false

デフォルトの registry.redhat.io 以外のイメージレジストリーを使用する場合は、/etc/ansible/hosts ファイルで レジストリーを指定する必要があります。

マスターでのスケジュール可能性の設定で説明されているように、マスターホストはデフォルトでスケジュール可能としてマークされます。マスターホストに node-role.kubernetes.io/infra=true ラベルを付けており、他に専用インフラストラクチャーノードがない場合、マスターホストはスケジュール対象としてマークされる必要もあります。そうしないと、レジストリー Pod とルーター Pod をどこにも配置できなくなります。

これを実行するには、デフォルトの node-config-master-infra ノードグループを使用できます。

[nodes]
master.example.com openshift_node_group_name='node-config-master-infra'