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'