2.6.3.3. 既存の Ingress Controller のサブネットを更新する


OpenShift Container Platform で手動で指定したロードバランサーサブネットを使用して IngressController を更新することで、システム停止を回避し、サービスの安定性を維持し、ネットワーク設定を特定の要件に準拠させることができます。

手順書の例では、新しいサブネットを選択して適用する方法、設定変更を確認する方法、およびロードバランサーのプロビジョニングが正常に完了したことを確認する方法を示しています。

警告

この手順により、新しい DNS レコードの伝播、新しいロードバランサーのプロビジョニング、およびその他の要因により、数分間の停止が発生する可能性があります。この手順を適用すると、Ingress Controller ロードバランサーの IP アドレスや正規名が変更になる場合があります。

手順

  1. 既存の IngressController に新しいサブネットを指定して変更します。

    apiVersion: operator.openshift.io/v1
    kind: IngressController
    metadata:
      name:  <name>
      namespace: openshift-ingress-operator
    spec:
      domain: <domain>
      endpointPublishingStrategy:
        type: LoadBalancerService
        loadBalancer:
          scope: External
          providerParameters:
            type: AWS
            aws:
              type: Classic
              classicLoadBalancer:
                subnets:
                  ids:
                  - <updated_subnet>
                  - <updated_subnet>
                  - <updated_subnet>
    # ...

    ここでは、以下のようになります。

    <name>
    IngressController の名前を指定します。
    <domain>
    IngressController によってサービスされる DNS 名を指定します。
    type
    更新されたサブネット ID (または名前を使用している場合は 名前) を指定します。
    classicLoadBalancer
    NLB を使用する場合は、networkLoadBalancer フィールドを使用することもできます。
    ids
    サブネットを ID で指定する代わりに、名前 フィールドを使用して名前でサブネットを指定します。このパラメーターは任意です。
    <update_subnet>

    更新されたサブネット ID (または名前を使用している場合は 名前) を指定します。

    重要

    アベイラビリティーゾーンごとに最大 1 つのサブネットを指定できます。外部 Ingress Controller にはパブリックサブネットだけを指定し、内部 Ingress Controller にはプライベートサブネットだけを指定してください。

  2. 次のコマンドを実行して、IngressControllerProgressing 状態を調べ、サブネットの更新を適用する方法を確認します。

    $ oc get ingresscontroller -n openshift-ingress-operator subnets -o jsonpath="{.status.conditions[?(@.type==\"Progressing\")]}" | yq -PC

    出力例

    lastTransitionTime: "2024-11-25T20:19:31Z"
    message: 'One or more status conditions indicate progressing: LoadBalancerProgressing=True (OperandsProgressing: One or more managed resources are progressing: The IngressController subnets were changed from [...] to [...].  To effectuate this change, you must delete the service: `oc -n openshift-ingress delete svc/router-<name>`; the service load-balancer will then be deprovisioned and a new one created. This will most likely cause the new load-balancer to have a different host name and IP address and cause disruption. To return to the previous state, you can revert the change to the IngressController: [...]'
    reason: IngressControllerProgressing
    status: "True"
    type: Progressing

  3. 更新を適用するために、次のコマンドを実行して、Ingress Controller に関連付けられているサービスを削除します。

    $ oc -n openshift-ingress delete svc/router-<name>

検証

  • ロードバランサーが正常にプロビジョニングされたことを確認するには、次のコマンドを実行して IngressController の状態を確認します。

    $ oc get ingresscontroller -n openshift-ingress-operator <name> -o jsonpath="{.status.conditions}" | yq -PC
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

Red Hat ドキュメントについて

Legal Notice

Theme

© 2026 Red Hat
トップに戻る