第3章 クラスターネットワーク範囲の設定
OpenShift Container Platform でクラスターネットワークの範囲を拡張して、より多くのノードと IP アドレスをサポートするには、クラスターのインストール後にクラスターネットワークの CIDR マスクを変更できます。この手順には OVN-Kubernetes ネットワークプラグインが必要であり、追加ノード用に IP アドレス空間をより多く確保できます。
たとえば、クラスターをデプロイし、クラスターネットワーク範囲として 10.128.0.0/19 を指定し、ホスト接頭辞 23 を指定した場合、16 ノードに制限されます。クラスターの CIDR マスクを /14 に変更することで、これを 510 ノードに拡張できます。
クラスターネットワークの IP アドレス範囲を変更する場合、次の制限が適用されます。
- 指定する CIDR マスクサイズは、現在設定されている CIDR マスクサイズより常に小さくする必要があります。これは、インストールされたクラスターにノードを追加することによってのみ IP スペースを増やすことができるためです。
- ホスト接頭辞は変更できません
- オーバーライドされたデフォルトゲートウェイで設定された Pod は、クラスターネットワークの拡張後に再作成する必要があります。
クラスターのインストール後、サービスネットワークの CIDR 範囲を拡張できません。直接拡張することも、ServiceCIDR API を介して拡張することもできません。インストール時に、install-config.yaml ファイルを使用してサービスネットワークの CIDR を設定する必要があります。サービス IP アドレスの枯渇を避けるため、初期のサービスネットワーク範囲は今後の拡大に対応できる十分な大きさであることを確認します。
3.1. クラスターネットワークの IP アドレス範囲の拡張 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform でクラスターネットワークの IP アドレス範囲を拡張してより多くのノードをサポートするには、oc patch コマンドを使用してクラスターネットワークの CIDR マスクを変更できます。
この変更には新しい Operator 設定をクラスター全体にロールアウトする必要があり、反映されるまでに最大 30 分かかる場合があります。
クラスタープロキシーで設定されたクラスターの場合、クラスターネットワーク範囲を拡張すると、MachineConfigPool の更新もトリガーされ、すべてのノードが再起動されます。サービスの中断を避けるため、この作業はメンテナンス時間帯に計画してください。
前提条件
-
OpenShift CLI (
oc) がインストールされている。 -
cluster-admin特権を持つユーザーでクラスターにログインしている。 - クラスターが OVN-Kubernetes ネットワークプラグインを使用している。
手順
クラスターのクラスターネットワーク範囲とホスト接頭辞を取得するには、次のコマンドを入力します。
$ oc get network.operator.openshift.io \ -o jsonpath="{.items[0].spec.clusterNetwork}"出力例
[{"cidr":"10.217.0.0/22","hostPrefix":23}]クラスターネットワークの IP アドレス範囲を拡張するには、次のコマンドを入力します。前のコマンドの出力から返された CIDR IP アドレス範囲とホスト接頭辞を使用します。
$ oc patch Network.config.openshift.io cluster --type='merge' --patch \ '{ "spec":{ "clusterNetwork": [ {"cidr":"<network>/<cidr>","hostPrefix":<prefix>} ], "networkType": "OVNKubernetes" } }'ここでは、以下のようになります。
<network>-
前の手順で取得した
cidrフィールドのネットワーク部分を指定します。この値は変更できません。 <cidr>-
ネットワーク接頭辞長を指定します。たとえば、
14です。この値を前の手順の出力の値よりも小さい数値に変更して、クラスターネットワークの範囲を拡大します。 <prefix>-
クラスターの現在のホスト接頭辞を指定します。この値は、前の手順で取得した
hostPrefixフィールドの値と同じである必要があります。
コマンドの例
$ oc patch Network.config.openshift.io cluster --type='merge' --patch \ '{ "spec":{ "clusterNetwork": [ {"cidr":"10.217.0.0/14","hostPrefix": 23} ], "networkType": "OVNKubernetes" } }'出力例
network.config.openshift.io/cluster patched設定がアクティブであることを確認するには、以下のコマンドを入力します。この変更が有効になるまで、最大 30 分かかる場合があります。
$ oc get network.operator.openshift.io \ -o jsonpath="{.items[0].spec.clusterNetwork}"出力例
[{"cidr":"10.217.0.0/14","hostPrefix":23}]