2.11. 特定のサブネットへのロードバランサーの割り当て


ロードバランサーを割り当てることで、アプリケーショントラフィックを効率的に管理できます。ネットワーク管理者は、ロードバランサーを割り当ててデプロイメントをカスタマイズし、最適なトラフィック分散、アプリケーションの高可用性、中断のないサービス、ネットワークのセグメンテーションを確保できます。

2.11.1. AWS 上の特定のサブネットに API および Ingress ロードバランサーを割り当てる

install-config.yaml ファイルの platform.aws.vpc.subnets セクションにおいて、Virtual Private Cloud (VPC) のサブネットを明示的に定義し、それらに特定のロールを直接を割り当てることで、AWS 上の OpenShift ロードバランサー (Ingress Controller 用を含む) のネットワーク配置を制御できます。この方法では、Ingress Controller やその他のクラスターコンポーネントなどのリソースに使用するサブネットを詳細に制御できます。

2.11.1.1. インストール時に OpenShift API と Ingress ロードバランサーの AWS サブネットを指定する

API および Ingress ロードバランサーを特定のサブネットに割り当てるには、次の手順を実行します。

前提条件

始める前に、以下を用意してください。

  • 既存の AWS Virtual Private Cloud (VPC)。
  • OpenShift クラスターで使用するために事前設定された AWS サブネット。次の点に注意してください。

    • サブネット ID のリストがある (例: subnet-0123456789abcdef0)。これらの ID は install-config.yaml ファイルで使用されます。
    • ロードバランサーやコントロールプレーンなどのその他の重要なコンポーネントの高可用性を確保するために、少なくとも 2 つのアベイラビリティーゾーン (AZ) にまたがるサブネットを使用している。
    • これらのサブネット内には、割り当てられたすべてのロールに対して使用可能な IP アドレスが十分にある。
    • ネットワーク ACL やセキュリティーグループを含むこれらのサブネットの AWS 設定では、割り当てられたすべてのロールに必要なトラフィックを許可する必要がある。Ingress Controller をホストするサブネットの場合、これには通常、必要なソースからの TCP ポート 80 と 443 が含まれます。
  • ターゲットの OpenShift バージョン用の OpenShift インストーラーバイナリー。
  • install-config.yaml ファイル。

手順

  1. install-config.yaml ファイルを作成します。

    まだ準備していない場合は、OpenShift インストーラーを使用してインストール設定ファイルを生成します。

    $ openshift-install create install-config --dir=<your_installation_directory>
    Copy to Clipboard Toggle word wrap

    このコマンドは、指定されたディレクトリーに install-config.yaml ファイルを作成します。

  2. サブネットを定義し、ロールを割り当てます。

    テキストエディターを使用して、<your_installation_directory> にある install-config.yaml ファイルを開きます。VPC サブネットと指定されたロールは、platform.aws.vpc.subnets フィールドで定義します。

    クラスターが使用する予定の AWS サブネットごとに、その idroles のリストを指定するエントリーを作成します。各ロールは、type キーを持つオブジェクトです。デフォルトの Ingress Controller のサブネットを指定するには、type: IngressControllerLB のロールを割り当てます。

    apiVersion: v1
    baseDomain: example.com 
    1
    
    metadata:
      name: my-cluster # Example cluster name
    platform:
      aws:
        region: us-east-1 
    2
    
        vpc: 
    3
    
          subnets: 
    4
    
          - id: subnet-0fcf8e0392f0910d5 # Public Subnet in AZ us-east-1a 
    5
    
            roles:
            - type: IngressControllerLB 
    6
    
            - type: BootstrapNode
          - id: subnet-0xxxxxxxxxxxxxxza # Public Subnet in another AZ for HA
            roles:
            - type: IngressControllerLB
          - id: subnet-0fcf8e0392f0910d4 # Private Subnet in AZ us-east-1a
            roles:
            - type: ClusterNode 
    7
    
          - id: subnet-0yyyyyyyyyyyyyyzb # Private Subnet in another AZ for HA
            roles:
            - type: ClusterNode
          # Add other subnet IDs and their roles as needed for your cluster architecture
    pullSecret: '...' 
    8
    
    sshKey: '...' 
    9
    Copy to Clipboard Toggle word wrap
    1
    使用中のベースドメイン。
    2
    使用中の AWS リージョン。
    3
    platform.aws の下の vpc オブジェクトには、サブネットリストが含まれます。
    4
    OpenShift が使用するすべてのサブネットオブジェクトのリスト。各オブジェクトは、サブネット ID とそのロールを定義します。
    5
    AWS サブネット ID に置き換えます。
    6
    type: IngressControllerLB ロールは、このサブネットをデフォルトの Ingress Controller の LoadBalancer 用に明示的に指定します。プライベート/内部クラスターでは、IngressControllerLB ロールを持つサブネットはプライベートである必要があります。
    7
    type: ClusterNode ロールは、コントロールプレーンとコンピュートノード用にこのサブネットを指定します。これらは通常、プライベートサブネットです。
    8
    使用中のプルシークレット。
    9
    使用中の SSH キー。

    subnets リスト内のコントロールプレーンロードバランサーのエントリーも同様のパターンに従います。

    # ... (within platform.aws.vpc.subnets list)
          - id: subnet-0fcf8e0392f0910d6 # Public Subnet for External API LB
            roles:
            - type: ControlPlaneExternalLB
          - id: subnet-0fcf8e0392f0910d7 # Private Subnet for Internal API LB
            roles:
            - type: ControlPlaneInternalLB
    # ...
    Copy to Clipboard Toggle word wrap

    デフォルトのパブリック Ingress Controller の場合、install-config.yaml ファイルで IngressControllerLB ロールが割り当てられているサブネットは、すべてパブリックサブネットである必要があります。たとえば、送信トラフィックをインターネットゲートウェイ (IGW) に誘導するルートテーブルエントリーが AWS 内に存在している必要があります。

    AZ 全体の必要なすべてのサブネット (パブリックとプライベート) をリストし、クラスターアーキテクチャーに応じて適切なロールを割り当てます。

    サブネット ID は既存の VPC 内のサブネットを定義し、オプションでその目的のロールを指定できます。どのサブネットにもロールが指定されていない場合は、サブネットのロールが自動的に決定されます。この場合、VPC には kubernetes.io/cluster/<cluster-id> タグのない他の非クラスターサブネットを含めることはできません。

    サブネットにロールを指定する場合、各サブネットに少なくとも 1 つのロールが割り当てられている必要があり、ClusterNodeBootstrapNodeIngressControllerLBControlPlaneExternalLB、および ControlPlaneInternalLB のロールが少なくとも 1 つのサブネットに割り当てられている必要があります。ただし、クラスタースコープが内部の場合、ControlPlaneExternalLB は必要ありません。

  3. クラスターのインストールを続行します。

    install-config.yaml ファイルへの変更を保存したら、クラスターを作成します。

    $ openshift-install create cluster --dir=<your_installation_directory>
    Copy to Clipboard Toggle word wrap

    インストールプログラムは、install-config.yaml ファイルの platform.aws.vpc.subnets セクションのサブネット定義と明示的なロール割り当てを使用して、IngressControllerLB ロールで指定したサブネットに Ingress Controller の LoadBalancer を配置するなど、クラスターリソースをプロビジョニングするようになりました。

注記

IngressControllerLBClusterNodeControlPlaneExternalLBControlPlaneInternalLBBootstrapNode などのタイプを指定するなど、platform.aws.vpc.subnets 内のロール割り当てメカニズムは、OpenShift インストーラーがさまざまなクラスターサービスとコンポーネントに適したサブネットを識別する包括的な方法です。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

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

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

会社概要

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

Theme

© 2025 Red Hat