第2章 ノードポートサービス範囲の設定
クラスターのインストール中に、クラスターの要件を満たすようにノードのポート範囲を設定できます。クラスターのインストール後は、クラスター管理者のみがインストール後のタスクとして範囲を拡張できます。クラスターが多数のノードポートを使用する場合は、クラスターの要件に応じて使用可能なポート範囲を増やすことを検討してください。
クラスターのインストール中にノードのポート範囲を設定しない場合は、デフォルトの範囲 30000-32768
がクラスターに適用されます。この場合、どちらの側でも範囲を拡張できますが、新しいポート範囲内で 30000-32768
を維持する必要があります。
Red Hat は、デフォルトのポート範囲 30000 - 32768
以外でテストを実行していません。デフォルトのポート範囲外の範囲は、拡張されたノードポート範囲がクラスターに影響を与えないことを確認するためにテストを行ってください。特に、以下の点を確認してください。
- ホストプロセスですでに使用されているポートと重複しない
- ホストネットワーキングで設定済みの Pod ですでに使用されているポートと重複しない
範囲を拡張したところポート割り当ての問題が発生した場合は、新しいクラスターを作成し、必要な範囲を設定します。
ノードのポート範囲を拡張し、OpenShift Container Platform API サーバーとのポート競合のために OpenShift CLI (oc
) が動作しなくなった場合は、新しいクラスターを作成する必要があります。
2.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