第12章 ノードポートサービス範囲の設定
クラスターのインストール中に、クラスターの要件を満たすようにノードのポート範囲を設定できます。クラスターのインストール後は、クラスター管理者のみがインストール後のタスクとして範囲を拡張できます。クラスターが多数のノードポートを使用する場合は、クラスターの要件に応じて使用可能なポート範囲を増やすことを検討してください。
クラスターのインストール中にノードのポート範囲を設定しない場合は、デフォルトの範囲 30000-32768
がクラスターに適用されます。この場合、どちらの側でも範囲を拡張できますが、新しいポート範囲内で 30000-32768
を維持する必要があります。
Red Hat はデフォルトのポート範囲の 30000-32768
の外部でテストを実行していません。デフォルトのポート範囲外の範囲は、拡張されたノードポート範囲がクラスターに影響を与えないことを確認するためにテストを行ってください。特に、以下があることを確認します。
- ホストプロセスですでに使用されているポートと重複はありません
- ホストネットワークで設定されている Pod によってすでに使用されているポートとの重複はありません
範囲を拡張したところポート割り当ての問題が発生した場合は、新しいクラスターを作成し、必要な範囲を設定します。
ノードのポート範囲を拡張し、ポートが OpenShift Container Platform API サーバーと競合するため、OpenShift CLI (oc
)が機能しなくなった場合は、新しいクラスターを作成する必要があります。
12.1. ノードのポート範囲の拡張 リンクのコピーリンクがクリップボードにコピーされました!
クラスターのノードポート範囲を拡張できます。OpenShift Container Platform クラスターをインストールした後、現在設定されている範囲のどちらの側でノードポート範囲を縮小することはできません。
Red Hat はデフォルトのポート範囲の 30000-32768
の外部でテストを実行していません。デフォルトのポート範囲外の範囲については、ノードのポート範囲の拡張がクラスターに影響しないことを確認してください。範囲を拡張したところポート割り当ての問題が発生した場合は、新しいクラスターを作成し、必要な範囲を設定します。
前提条件
-
OpenShift CLI (
oc
) がインストールされている。 -
cluster-admin
権限を持つユーザーとしてクラスターにログインしている。 -
クラスターインフラストラクチャーが拡張範囲内にあるポートへのアクセスを許可していることを確認している。たとえば、ノードのポート範囲を
30000-32900
に拡張する場合、ファイアウォールまたはパケットフィルタリングの設定で、30000-32900
のポート範囲 (両端の値を含む) を許可する必要があります。
手順
クラスターが Pod のトラフィックを管理するために使用する
network.config.openshift.io
オブジェクトのserviceNodePortRange
パラメーターの範囲を拡張するには、以下のコマンドを入力します。oc patch network.config.openshift.io cluster --type=merge -p \ '{
$ oc patch network.config.openshift.io cluster --type=merge -p \ '{ "spec": { "serviceNodePortRange": "<port_range>" } }'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ここでは、以下のようになります。
<port_range>
-
30000-32900
などの拡張範囲を指定します。
ヒント次の YAML を適用してノードのポート範囲を更新することもできます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
network.config.openshift.io/cluster patched
network.config.openshift.io/cluster patched
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
更新された設定がアクティブであることを確認するには、以下のコマンドを入力します。更新の適用には数分かかる場合があります。
oc get configmaps -n openshift-kube-apiserver config \ -o jsonpath="{.data['config\.yaml']}" | \ grep -Eo '"service-node-port-range":["[[:digit:]]+-[[:digit:]]+"]'
$ oc get configmaps -n openshift-kube-apiserver config \ -o jsonpath="{.data['config\.yaml']}" | \ grep -Eo '"service-node-port-range":["[[:digit:]]+-[[:digit:]]+"]'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
"service-node-port-range":["30000-32900"]
"service-node-port-range":["30000-32900"]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow