4.2. コンピュートノードの管理


このドキュメントでは、Red Hat OpenShift Service on AWS でコンピュート (ワーカーとも呼ばれる) ノードを管理する方法を説明します。

コンピュートノードの変更の大半は、マシンプールで設定されます。マシンプールは、管理を容易にするために、同じ設定を持つクラスター内のコンピュートノードのグループです。

スケーリング、ノードラベルの追加、テイントの追加などのマシンプール設定オプションを編集できます。

4.2.1. マシンセットの作成

Red Hat OpenShift Service on AWS クラスターをインストールすると、マシンプールが作成されます。インストール後に、OpenShift Cluster Manager または ROSA コマンドラインインターフェイス (CLI) (rosa) を使用して、クラスターに追加のマシンプールを作成できます。

注記

rosa バージョン 1.2.25 以前を使用している場合、クラスターとともに作成されたマシンプールは Default として識別されます。rosa バージョン 1.2.26 以降を使用している場合、クラスターとともに作成されたマシンプールは worker として識別されます。

4.2.1.1. OpenShift Cluster Manager を使用したマシンプールの作成

OpenShift Cluster Manager を使用して、Red Hat OpenShift Service on AWS クラスターに追加のマシンプールを作成できます。

前提条件

  • Red Hat OpenShift Service on AWS クラスターを作成した。

手順

  1. OpenShift Cluster Manager に移動し、クラスターを選択します。
  2. Machine pools タブで、Add machine pool をクリックします。
  3. Machine pool name を追加します。
  4. リストから Compute node instance type を選択します。インスタンスタイプは、マシンプール内の各コンピュートノードの仮想 CPU およびメモリー割り当てを定義します。

    注記

    プールを作成した後に、マシンプールのインスタンスタイプを変更することはできません。

  5. オプション: マシンプールの自動スケーリングを設定します。

    1. Enable autoscaling を選択し、デプロイメントのニーズを満たすためにマシンプール内のマシン数を自動的にスケーリングします。
    2. 自動スケーリングの最小および最大のノード数制限を設定します。クラスターオートスケーラーが、指定の制限を超えてマシンプールのノード数を増減することはありません。

      注記

      または、マシンプールの作成後にマシンプールの自動スケーリングを設定できます。

  6. 自動スケーリングを有効にしていない場合は、ドロップダウンメニューから Compute node count を選択します。これは、アベイラビリティーゾーンのマシンプールにプロビジョニングするコンピュートノードの数を定義します。
  7. オプション: Root disk size を設定します。
  8. オプション: マシンプールのノードラベルおよびテイントを追加します。

    1. Edit node labels and taints メニューをデプロイメントします。
    2. Node labels で、ノードラベルの Key および Value のエントリーを追加します。
    3. Taints で、テイントの Key および Value エントリーを追加します。

      注記

      テイントを含むマシンプールの作成は、クラスターにテイントのないマシンプールが少なくとも 1 つすでに存在する場合にのみ可能です。

    4. テイントごとに、ドロップダウンメニューから Effect を選択します。使用できるオプションには、NoSchedulePreferNoSchedule、および NoExecute が含まれます。

      注記

      または、マシンプールの作成後にノードラベルおよびテイントを追加できます。

  9. オプション: このマシンプール内のノードに使用する追加のカスタムセキュリティーグループを選択します。すでにセキュリティーグループを作成し、このクラスター用に選択した VPC にそのグループを関連付けている必要があります。マシンプールの作成後は、セキュリティーグループを追加または編集することはできません。

    重要

    Red Hat OpenShift Service on AWS クラスターのマシンプールには、最大 10 個の追加セキュリティーグループを使用できます。

  10. Add machine pool をクリックしてマシンプールを作成します。

検証

  • マシンプールが Machine pools ページに表示され、設定が想定どおりに表示されていることを確認します。

4.2.1.2. ROSA CLI を使用したマシンプールの作成

ROSA コマンドラインインターフェイス (CLI) (rosa) を使用して、Red Hat OpenShift Service on AWS クラスターに追加のマシンプールを作成できます。

前提条件

  • ワークステーションに最新の ROSA CLI をインストールして設定した。
  • ROSA CLI を使用して Red Hat アカウントにログインした。
  • Red Hat OpenShift Service on AWS クラスターを作成した。

手順

  • 自動スケーリングを使用しないマシンプールを追加するには、マシンプールを作成し、インスタンスタイプ、コンピュート (ワーカーとも呼ばれる) ノード数、およびノードラベルを定義します。

    $ rosa create machinepool --cluster=<cluster-name> \
                              --name=<machine_pool_id> \
                              --replicas=<replica_count> \
                              --instance-type=<instance_type> \
                              --labels=<key>=<value>,<key>=<value> \
                              --taints=<key>=<value>:<effect>,<key>=<value>:<effect> \
                              --disk-size=<disk_size> \
                              --availability-zone=<availability_zone_name> \
                              --additional-security-group-ids <sec_group_id> \
                              --subnet <subnet_id>
    Copy to Clipboard Toggle word wrap

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

    --name=<machine_pool_id>
    マシンプールの名前を指定します。
    --replicas=<replica_count>
    プロビジョニングするコンピュートノードの数を指定します。単一のアベイラビリティーゾーンを使用して Red Hat OpenShift Service on AWS をデプロイした場合、この引数は、そのゾーンのマシンプールにプロビジョニングするコンピュートノードの数を定義します。複数のアベイラビリティーゾーンを使用してクラスターをデプロイした場合、この引数は、すべてのゾーンにわたってプロビジョニングするコンピュートノードの合計数を定義します。また、その数は 3 の倍数である必要があります。--replicas 引数は、自動スケーリングが設定されていない場合に必要です。
    --instance-type=<instance_type>
    オプション: マシンプールのコンピュートノードのインスタンスタイプを設定します。インスタンスタイプは、プール内の各コンピュートノードの仮想 CPU およびメモリー割り当てを定義します。<instance_type> をインスタンスタイプに置き換えます。デフォルトは m5.xlarge です。プールを作成した後に、マシンプールのインスタンスタイプを変更することはできません。
    --labels=<key>=<value>,<key>=<value>
    オプション: マシンプールのラベルを定義します。<key>=<value>,<key>=<value> は、キーと値のペアのコンマ区切りリストに置き換えます (例: --labels=key1=value1,key2=value2)。
    --taints=<key>=<value>:<effect>,<key>=<value>:<effect>
    オプション: マシンプールのテイントを定義します。<key>=<value>:<effect>,<key>=<value>:<effect> は、各テイントのキー、値、および影響に置き換えます (例: --taints=key1=value1:NoSchedule,key2=value2:NoExecute)。利用可能な影響には、NoSchedulePreferNoSchedule、および NoExecute が含まれます。
    --disk-size=<disk_size>
    オプション: ワーカーノードのディスクサイズを指定します。値は GB、GiB、TB、または TiB 単位で指定できます。<disk_size> は、数値と単位に置き換えます (例: --disk-size=200GiB)。
    --availability-zone=<availability_zone_name>
    オプション: 任意のアベイラビリティーゾーンにマシンプールを作成できます。<availability_zone_name> は、アベイラビリティーゾーン名に置き換えます。
    --additional-security-group-ids <sec_group_id>

    オプション: Red Hat 管理の VPC がないクラスター内のマシンプールの場合、マシンプールで使用する追加のカスタムセキュリティーグループを選択できます。すでにセキュリティーグループを作成し、このクラスター用に選択した VPC にそのグループを関連付けている必要があります。マシンプールの作成後は、セキュリティーグループを追加または編集することはできません。

    重要

    Red Hat OpenShift Service on AWS クラスターのマシンプールには、最大 10 個の追加セキュリティーグループを使用できます。

    --subnet <subnet_id>

    オプション: BYO VPC クラスターの場合、サブネットを選択してシングル AZ マシンプールを作成できます。サブネットがクラスター作成サブネットの外にある場合は、キーが kubernetes.io/cluster/<infra-id> で値が shared のタグが必要です。お客様は、次のコマンドを使用して Infra ID を取得できます。

    $ rosa describe cluster -c <cluster name>|grep "Infra ID:"
    Copy to Clipboard Toggle word wrap

    出力例

    Infra ID:                   mycluster-xqvj7
    Copy to Clipboard Toggle word wrap

    注記

    --subnet--availability-zone の両方を同時に設定できません。Single-AZ マシンプールの作成には 1 つだけが許可されます。

    以下の例では、m5.xlarge インスタンスタイプを使用し、コンピュートノードレプリカが 2 つ含まれる mymachinepool という名前のマシンプールを作成します。この例では、ワークロード固有のラベルも 2 つ追加します。

    $ rosa create machinepool --cluster=mycluster --name=mymachinepool --replicas=2 --instance-type=m5.xlarge --labels=app=db,tier=backend
    Copy to Clipboard Toggle word wrap

    出力例

    I: Machine pool 'mymachinepool' created successfully on cluster 'mycluster'
    I: To view all machine pools, run 'rosa list machinepools -c mycluster'
    Copy to Clipboard Toggle word wrap

  • 自動スケーリングを使用するマシンプールを追加するには、マシンプールを作成して、自動スケーリング設定、インスタンスタイプ、およびノードラベルを定義します。

    $ rosa create machinepool --cluster=<cluster-name> \
                              --name=<machine_pool_id> \
                              --enable-autoscaling \
                              --min-replicas=<minimum_replica_count> \
                              --max-replicas=<maximum_replica_count> \
                              --instance-type=<instance_type> \
                              --labels=<key>=<value>,<key>=<value> \
                              --taints=<key>=<value>:<effect>,<key>=<value>:<effect> \
                              --availability-zone=<availability_zone_name>
    Copy to Clipboard Toggle word wrap

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

    --name=<machine_pool_id>
    マシンプールの名前を指定します。<machine_pool_id> をマシンプールの名前に置き換えます。
    --enable-autoscaling
    マシンプールの自動スケーリングを有効にし、デプロイメントのニーズに対応します。
    --min-replicas=<minimum_replica_count> および --max-replicas=<maximum_replica_count>

    コンピュートノードの最小および最大の制限を定義します。クラスターオートスケーラーが、指定の制限を超えてマシンプールのノード数を増減することはありません。

    --min-replicas および --max-replicas 引数は、アベイラビリティーゾーンのマシンプールにおける自動スケーリングの制限を定義します。

    --instance-type=<instance_type>
    オプション: マシンプールのコンピュートノードのインスタンスタイプを設定します。インスタンスタイプは、プール内の各コンピュートノードの仮想 CPU およびメモリー割り当てを定義します。<instance_type> をインスタンスタイプに置き換えます。デフォルトは m5.xlarge です。プールを作成した後に、マシンプールのインスタンスタイプを変更することはできません。
    --labels=<key>=<value>,<key>=<value>
    オプション: マシンプールのラベルを定義します。<key>=<value>,<key>=<value> は、キーと値のペアのコンマ区切りリストに置き換えます (例: --labels=key1=value1,key2=value2)。
    --taints=<key>=<value>:<effect>,<key>=<value>:<effect>
    オプション: マシンプールのテイントを定義します。<key>=<value>:<effect>,<key>=<value>:<effect> は、各テイントのキー、値、および影響に置き換えます (例: --taints=key1=value1:NoSchedule,key2=value2:NoExecute)。利用可能な影響には、NoSchedulePreferNoSchedule、および NoExecute が含まれます。
    --availability-zone=<availability_zone_name>
    オプション: 任意のアベイラビリティーゾーンにマシンプールを作成できます。<availability_zone_name> は、アベイラビリティーゾーン名に置き換えます。

    以下の例では、m5.xlarge インスタンスタイプを使用し、自動スケーリングが有効になっている mymachinepool という名前のマシンプールを作成します。コンピュートノードの最小制限は 3 で、最大制限は全体で 6 です。この例では、ワークロード固有のラベルも 2 つ追加します。

    $ rosa create machinepool --cluster=mycluster --name=mymachinepool --enable-autoscaling --min-replicas=3 --max-replicas=6 --instance-type=m5.xlarge --labels=app=db,tier=backend
    Copy to Clipboard Toggle word wrap

    出力例

    I: Machine pool 'mymachinepool' created successfully on hosted cluster 'mycluster'
    I: To view all machine pools, run 'rosa list machinepools -c mycluster'
    Copy to Clipboard Toggle word wrap

  • Windows License Included が有効なマシンプールを Red Hat OpenShift Service on AWS クラスターに追加するには、AWS Windows License Included for Red Hat OpenShift Service on AWS を参照してください。

    Windows License Included が有効なマシンプールは、次の条件が満たされた場合にのみ作成できます。

    • ホストクラスターが Red Hat OpenShift Service on AWS クラスターである。
    • インスタンスタイプがベアメタル EC2 である。

      重要

      AWS Windows License Included for Red Hat OpenShift Service on AWS は、テクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat では、実稼働環境での使用を推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。

      Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。

検証

クラスターのすべてのマシンプールをリストするか、個々のマシンプールの詳細情報を表示します。

  1. クラスターで使用可能なマシンプールをリスト表示します。

    $ rosa list machinepools --cluster=<cluster_name>
    Copy to Clipboard Toggle word wrap

    出力例

    ID             AUTOSCALING  REPLICAS  INSTANCE TYPE  LABELS                  TAINTS    AVAILABILITY ZONE  SUBNET                    VERSION  AUTOREPAIR
    Default        No           1/1       m5. xlarge                                       us-east-2c         subnet-00552ad67728a6ba3  4.14.34  Yes
    mymachinepool  Yes          3/3-6     m5.xlarge      app=db, tier=backend              us-east-2a         subnet-0cb56f5f41880c413  4.14.34  Yes
    Copy to Clipboard Toggle word wrap

  2. クラスター内の特定のマシンプールの詳細情報を表示します。

    $ rosa describe machinepool --cluster=<cluster_name> --machinepool=mymachinepool
    Copy to Clipboard Toggle word wrap

    出力例

    ID:                         mymachinepool
    Cluster ID:                 2d6010rjvg17anri30v84vspf7c7kr6v
    Autoscaling:                Yes
    Desired replicas:           3-6
    Current replicas:           3
    Instance type:              m5.xlarge
    Labels:                     app=db, tier=backend
    Taints:
    Availability zone:          us-east-2a
    Subnet:                     subnet-0cb56f5f41880c413
    Version:                    4.14.34
    Autorepair:                 Yes
    Tuning configs:
    Additional security group IDs:
    Node drain grace period:
    Message:
    Copy to Clipboard Toggle word wrap

  3. マシンプールが出力に含まれ、設定が想定どおりであることを確認します。

4.2.2. マシンプールディスクボリュームの設定

マシンプールのディスクボリュームサイズは、柔軟性を高めるために設定できます。デフォルトのディスクサイズは 300 GiB です。

Red Hat OpenShift Service on AWS クラスターの場合、ディスクサイズは最小 75 GiB から最大 16,384 GiB まで設定できます。

クラスターのマシンプールのディスクサイズは、OpenShift Cluster Manager または ROSA コマンドラインインターフェイス (CLI) (rosa) を使用して設定できます。

注記

既存のクラスターおよびマシンプールノードのボリュームのサイズは変更できません。

クラスター作成の前提条件

  • クラスターのインストール中に、デフォルトのマシンプールのノードディスクサイズを選択するオプションがあります。

クラスター作成の手順

  1. Red Hat OpenShift Service on AWS クラスターウィザードから、Cluster settings に移動します。
  2. Machine pool の手順に移動します。
  3. 目的の Root disk size を選択します。
  4. Next を選択してクラスターの作成を続行します。

マシンプール作成の前提条件

  • クラスターのインストール後に、新しいマシンプールのノードディスクサイズを選択するオプションがあります。

マシンプール作成の手順

  1. OpenShift Cluster Manager に移動し、クラスターを選択します。
  2. Machine pool タブ に移動します。
  3. Add machine pool をクリックします。
  4. 目的の Root disk size を選択します。
  5. Add machine pool を選択してマシンプールを作成します。

4.2.2.1. ROSA CLI を使用したマシンプールディスクボリュームの設定

クラスター作成の前提条件

  • クラスターのインストール中に、デフォルトのマシンプールのルートディスクのサイズを選択するオプションがあります。

クラスター作成の手順

  • 必要なルートディスクサイズの OpenShift クラスターを作成するときに、次のコマンドを実行します。

    $ rosa create cluster --worker-disk-size=<disk_size>
    Copy to Clipboard Toggle word wrap

    値は GB、GiB、TB、または TiB 単位で指定できます。<disk_size> は、数値と単位に置き換えます (例: --worker-disk-size=200GiB)。数字と単位は、分離できません。空白は、使用できます。

マシンプール作成の前提条件

  • クラスターのインストール後に、新しいマシンプールのルートディスクのサイジングを選択するオプションがあります。

マシンプール作成の手順

  1. 以下のコマンドを実行してクラスターをスケールアップします。

    $ rosa create machinepool --cluster=<cluster_id> \
    1
    
                              --disk-size=<disk_size> 
    2
    Copy to Clipboard Toggle word wrap
    1
    既存の OpenShift クラスターの ID または名前を指定します。
    2
    ワーカーノードのディスクサイズを指定します。値は GB、GiB、TB、または TiB 単位で指定できます。<disk_size> は、数値と単位に置き換えます (例: --disk-size=200GiB)。数字と単位は、分離できません。空白は、使用できます。
  2. AWS コンソールにログインして新規のマシンプールのディスクサイズを確認し、EC2 仮想マシンのルートボリュームサイズを見つけます。

4.2.3. マシンプールの削除

ワークロード要件が変更され、現在のマシンプールがニーズを満たさなくなった場合は、マシンプールを削除できます。

マシンプールは、Red Hat OpenShift Cluster Manager または ROSA コマンドラインインターフェイス (CLI) (rosa) を使用して削除できます。

4.2.3.1. OpenShift Cluster Manager を使用したマシンプールの削除

Red Hat OpenShift Cluster Manager を使用して、Red Hat OpenShift Service on AWS クラスターのマシンプールを削除できます。

前提条件

  • Red Hat OpenShift Service on AWS クラスターを作成した。
  • クラスターが準備状態にある。
  • テイントのない既存のマシンプールがあり、シングル AZ クラスターの場合は少なくとも 2 つのインスタンス、マルチ AZ クラスターの場合は少なくとも 3 つのインスタンスがある。

手順

  1. OpenShift Cluster Manager から、Cluster List ページに移動し、削除するマシンプールを含むクラスターを選択します。
  2. 選択したクラスターで、Machine pools タブを選択します。
  3. Machine pools タブで、削除するマシンプールの Options メニュー kebab をクリックします。
  4. Delete をクリックします。

    選択したマシンプールが削除されます。

4.2.3.2. ROSA CLI を使用したマシンプールの削除

ROSA コマンドラインインターフェイス (CLI) (rosa) を使用して、Red Hat OpenShift Service on AWS クラスターのマシンプールを削除できます。

注記

rosa バージョン 1.2.25 以前を使用している場合、クラスターとともに作成されたマシンプール (ID = 'Default') を削除することはできません。rosa バージョン 1.2.26 以降を使用している場合、クラスター内に taint を含まないマシンプールが 1 つあり、レプリカが 2 つ以上 (シングル AZ クラスターの場合) または 3 つ以上 (マルチ AZ クラスターの場合) あれば、クラスターとともに作成されたマシンプール (ID='worker') を削除できます。

前提条件

  • Red Hat OpenShift Service on AWS クラスターを作成した。
  • クラスターが準備状態にある。
  • テイントのない既存のマシンプールがあり、シングル AZ クラスターの場合は少なくとも 2 つのインスタンス、マルチ AZ クラスターの場合は少なくとも 3 つのインスタンスがある。

手順

  1. ROSA CLI から次のコマンドを実行します。

    $ rosa delete machinepool -c=<cluster_name> <machine_pool_ID>
    Copy to Clipboard Toggle word wrap

    出力例

    ? Are you sure you want to delete machine pool <machine_pool_ID> on cluster <cluster_name>? (y/N)
    Copy to Clipboard Toggle word wrap

  2. y を入力してマシンプールを削除します。

    選択したマシンプールが削除されます。

4.2.4. コンピュートノードの手動によるスケーリング

マシンプールの自動スケーリングを有効にしていない場合は、デプロイメントのニーズに合わせてプール内のコンピュート (ワーカーとも呼ばれる) ノードの数を手動でスケーリングできます。

各マシンプールを個別にスケーリングする必要があります。

前提条件

  • ワークステーションに最新の ROSA コマンドラインインターフェイス (CLI) (rosa) をインストールして設定した。
  • ROSA CLI を使用して Red Hat アカウントにログインした。
  • Red Hat OpenShift Service on AWS クラスターを作成した。
  • 既存のマシンプールがある。

手順

  1. クラスターのマシンプールをリスト表示します。

    $ rosa list machinepools --cluster=<cluster_name>
    Copy to Clipboard Toggle word wrap

    出力例

    ID        AUTOSCALING   REPLICAS    INSTANCE TYPE  LABELS    TAINTS   AVAILABILITY ZONES    DISK SIZE   SG IDs
    default   No            2           m5.xlarge                         us-east-1a            300GiB      sg-0e375ff0ec4a6cfa2
    mp1       No            2           m5.xlarge                         us-east-1a            300GiB      sg-0e375ff0ec4a6cfa2
    Copy to Clipboard Toggle word wrap

  2. マシンプール内のコンピュートノードのレプリカ数を増減します。

    $ rosa edit machinepool --cluster=<cluster_name> \
                            --replicas=<replica_count> \
    1
    
                            <machine_pool_id> 
    2
    Copy to Clipboard Toggle word wrap
    1
    レプリカ数は、ゾーンのマシンプールにプロビジョニングするコンピュートノードの数を定義します。
    2
    <machine_pool_id> は、上記のコマンドの出力にリストされるマシンプールの ID に置き換えます。

検証

  1. クラスターで利用可能なマシンプールをリスト表示します。

    $ rosa list machinepools --cluster=<cluster_name>
    Copy to Clipboard Toggle word wrap

    出力例

    ID        AUTOSCALING   REPLICAS    INSTANCE TYPE  LABELS    TAINTS   AVAILABILITY ZONES    DISK SIZE   SG IDs
    default   No            2           m5.xlarge                         us-east-1a            300GiB      sg-0e375ff0ec4a6cfa2
    mp1       No            3           m5.xlarge                         us-east-1a            300GiB      sg-0e375ff0ec4a6cfa2
    Copy to Clipboard Toggle word wrap

  2. 上記のコマンドの出力で、コンピュートノードのレプリカ数がマシンプールで想定通りに設定されていることを確認します。この出力例では、mp1 マシンプールのコンピュートノードレプリカ数は 3 にスケーリングされています。

4.2.5. ノードラベル

ラベルは、Node オブジェクトに適用されるキーと値のペアです。ラベルを使用して一連のオブジェクトを整理し、Pod のスケジューリングを制御できます。

クラスターの作成中または後にラベルを追加できます。ラベルはいつでも変更または更新できます。

4.2.5.1. ノードラベルのマシンプールへの追加

いつでもコンピュート (ワーカーとも呼ばれる) ノードのラベルを追加または編集して、適切な方法でノードを管理します。たとえば、ワークロードのタイプを特定のノードに割り当てることができます。

ラベルは key-value ペアとして割り当てられます。各キーは、割り当てられたオブジェクトに固有のものである必要があります。

前提条件

  • ワークステーションに最新の ROSA コマンドラインインターフェイス (CLI) (rosa) をインストールして設定した。
  • ROSA CLI を使用して Red Hat アカウントにログインした。
  • Red Hat OpenShift Service on AWS クラスターを作成した。
  • 既存のマシンプールがある。

手順

  1. クラスターのマシンプールをリスト表示します。

    $ rosa list machinepools --cluster=<cluster_name>
    Copy to Clipboard Toggle word wrap

    出力例

    ID           AUTOSCALING  REPLICAS  INSTANCE TYPE  LABELS    TAINTS    AVAILABILITY ZONE  SUBNET                    VERSION  AUTOREPAIR
    workers      No           2/2       m5.xlarge                          us-east-2a         subnet-0df2ec3377847164f  4.16.6   Yes
    db-nodes-mp  No           2/2       m5.xlarge                          us-east-2a         subnet-0df2ec3377847164f  4.16.6   Yes
    Copy to Clipboard Toggle word wrap

  2. マシンプールのノードラベルを追加または更新します。

    • 自動スケーリングを使用しないマシンプールのノードラベルを追加または更新するには、以下のコマンドを実行します。

      $ rosa edit machinepool --cluster=<cluster_name> \
                              --labels=<key>=<value>,<key>=<value> \
      1
      
                              <machine_pool_id>
      Copy to Clipboard Toggle word wrap
      1
      <key>=<value>,<key>=<value> は、キーと値のペアのコンマ区切りリストに置き換えます (例: --labels=key1=value1,key2=value2)。このリストは、継続的にノードラベルに加えられるすべての変更を上書きします。

      以下の例では、ラベルを db-nodes-mp マシンプールに追加します。

      $ rosa edit machinepool --cluster=mycluster --replicas=2 --labels=app=db,tier=backend db-nodes-mp
      Copy to Clipboard Toggle word wrap

      出力例

      I: Updated machine pool 'db-nodes-mp' on cluster 'mycluster'
      Copy to Clipboard Toggle word wrap

検証

  1. 新しいラベルを持つマシンプールの詳細情報を表示します。

    $ rosa describe machinepool --cluster=<cluster_name> --machinepool=<machine-pool-name>
    Copy to Clipboard Toggle word wrap

    出力例

    ID:                            db-nodes-mp
    Cluster ID:                    <ID_of_cluster>
    Autoscaling:                   No
    Desired replicas:              2
    Current replicas:              2
    Instance type:                 m5.xlarge
    Labels:                        app=db, tier=backend
    Tags:
    Taints:
    Availability zone:             us-east-2a
    Subnet:                        subnet-0df2ec3377847164f
    Disk size:                     300 GiB
    Version:                       4.16.6
    EC2 Metadata Http Tokens:      optional
    Autorepair:                    Yes
    Tuning configs:
    Kubelet configs:
    Additional security group IDs:
    Node drain grace period:
    Management upgrade:
     - Type:                       Replace
     - Max surge:                  1
     - Max unavailable:            0
    Message:
    Copy to Clipboard Toggle word wrap

  2. 出力内のマシンプールにラベルが含まれていることを確認します。

4.2.6. マシンプールへのタグの追加

マシンプール内のコンピュートノード (ワーカーノードとも呼ばれます) にタグを追加して、マシンプールのプロビジョニング時に生成される AWS リソースに、カスタムユーザータグを導入できます。マシンプールを作成した後はタグを編集できないことに注意してください。

4.2.6.1. ROSA CLI を使用してマシンプールにタグを追加する

ROSA コマンドラインインターフェイス (CLI) (rosa) を使用して、Red Hat OpenShift Service on AWS クラスターのマシンプールにタグを追加できます。マシンプールを作成した後はタグを編集できません。

重要

タグキーが awsred-hat-managedred-hat-clustertype、または Name ではないことを確認する必要があります。また、kubernetes.io/cluster/ で始まるタグキーを設定してはなりません。タグのキーは 128 文字以下とし、タグの値は 256 文字以下とします。Red Hat は、将来的に予約タグをさらに追加する権利を有します。

前提条件

  • ワークステーションに最新の AWS (aws)、ROSA (rosa)、OpenShift (oc) の CLI をインストールして設定している。
  • ROSA CLI を使用して Red Hat アカウントにログイン済みである。
  • Red Hat OpenShift Service on AWS クラスターを作成した。

手順

  • 次のコマンドを実行して、カスタムタグを持つマシンプールを作成します。

    $ rosa create machinepools --cluster=<name> --replicas=<replica_count> \
         --name <mp_name> --tags='<key> <value>,<key> <value>' 
    1
    Copy to Clipboard Toggle word wrap
    1
    <key> <value>,<key> <value> を各タグのキーと値に置き換えます。

    出力例

    $ rosa create machinepools --cluster=mycluster --replicas 2 --tags='tagkey1 tagvalue1,tagkey2 tagvaluev2'
    
    I: Checking available instance types for machine pool 'mp-1'
    I: Machine pool 'mp-1' created successfully on cluster 'mycluster'
    I: To view the machine pool details, run 'rosa describe machinepool --cluster mycluster --machinepool mp-1'
    I: To view all machine pools, run 'rosa list machinepools --cluster mycluster'
    Copy to Clipboard Toggle word wrap

検証

  • describe コマンドを使用してタグ付きのマシンプールの詳細を表示し、出力にマシンプールのタグが含まれていることを確認します。

    $ rosa describe machinepool --cluster=<cluster_name> --machinepool=<machinepool_name>
    Copy to Clipboard Toggle word wrap

    出力例

    ID:                            db-nodes-mp
    Cluster ID:                    <ID_of_cluster>
    Autoscaling:                   No
    Desired replicas:              2
    Current replicas:              2
    Instance type:                 m5.xlarge
    Labels:
    Tags:                          red-hat-clustertype=rosa, red-hat-managed=true, tagkey1=tagvalue1, tagkey2=tagvaluev2
    Taints:
    Availability zone:             us-east-2a
    ...
    Copy to Clipboard Toggle word wrap

4.2.7. マシンプールへの taint の追加

マシンプール内のコンピュート (ワーカーとも呼ばれる) ノードに taint を追加して、そのノードにスケジュールされる Pod を制御できます。マシンプールに taint を適用すると、Pod 仕様に taint の toleration が含まれている場合を除き、スケジューラーがプール内のノードに Pod を配置できなくなります。taint は、Red Hat OpenShift Cluster Manager または ROSA コマンドラインインターフェイス (CLI) (rosa) を使用してマシンプールに追加できます。

注記

クラスターには、taint が含まれていないマシンプールが少なくとも 1 つ必要です。

4.2.7.1. OpenShift Cluster Manager を使用してマシンプールに taint を追加する

Red Hat OpenShift Cluster Manager を使用して、Red Hat OpenShift Service on AWS クラスターのマシンプールに taint を追加できます。

前提条件

  • Red Hat OpenShift Service on AWS クラスターを作成した。
  • taint を含まず、少なくとも 2 つのインスタンスを含む既存のマシンプールがある。

手順

  1. OpenShift Cluster Manager に移動し、クラスターを選択します。
  2. Machine pools タブで、taint を追加するマシンプールの Options メニュー kebab をクリックします。
  3. Edit taints を選択します。
  4. taint の KeyValue のエントリーを追加します。
  5. リストから taint の Effect を選択します。使用できるオプションには、NoSchedulePreferNoSchedule、および NoExecute が含まれます。
  6. オプション: マシンプールにさらに taint を追加する場合は、Add taint を選択します。
  7. Save をクリックして、taint をマシンプールに適用します。

検証

  1. Machine pools タブで、マシンプールの横にある > を選択して、ビューをデプロイメントします。
  2. デプロイメントされたビューの Taints の下にテイントがリストされていることを確認します。

4.2.7.2. ROSA CLI を使用したマシンプールへのテイントの追加

ROSA コマンドラインインターフェイス (CLI) (rosa) を使用して、Red Hat OpenShift Service on AWS クラスターのマシンプールに taint を追加できます。

注記

rosa バージョン 1.2.25 以前を使用している場合、クラスターとともに作成されたマシンプール (ID = Default) 内の taint の数を変更することはできません。rosa バージョン 1.2.26 以降を使用している場合、クラスターとともに作成されたマシンプール (ID = worker) 内の taint の数を変更できます。taint がなく、2 つ以上のレプリカを持つマシンプールが少なくとも 1 つ必要です。

前提条件

  • ワークステーションに最新の AWS (aws)、ROSA (rosa)、OpenShift (oc) の CLI をインストールして設定している。
  • rosa CLI を使用して Red Hat アカウントにログイン済みである。
  • Red Hat OpenShift Service on AWS クラスターを作成した。
  • taint を含まず、少なくとも 2 つのインスタンスを含む既存のマシンプールがある。

手順

  1. 次のコマンドを実行して、クラスター内のマシンプールをリスト表示します。

    $ rosa list machinepools --cluster=<cluster_name>
    Copy to Clipboard Toggle word wrap

    出力例

    ID           AUTOSCALING  REPLICAS  INSTANCE TYPE  LABELS    TAINTS    AVAILABILITY ZONE  SUBNET                    VERSION  AUTOREPAIR
    workers      No           2/2       m5.xlarge                          us-east-2a         subnet-0df2ec3377847164f  4.16.6   Yes
    db-nodes-mp  No           2/2       m5.xlarge                          us-east-2a         subnet-0df2ec3377847164f  4.16.6   Yes
    Copy to Clipboard Toggle word wrap

  2. マシンプールのテイントを追加または更新します。

    • 自動スケーリングを使用しないマシンプールのテイントを追加または更新するには、以下のコマンドを実行します。

      $ rosa edit machinepool --cluster=<cluster_name> \
                              --taints=<key>=<value>:<effect>,<key>=<value>:<effect> \
      1
      
                              <machine_pool_id>
      Copy to Clipboard Toggle word wrap
      1
      <key>=<value>:<effect>,<key>=<value>:<effect> は、各テイントのキー、値、および影響に置き換えます (例: --taints=key1=value1:NoSchedule,key2=value2:NoExecute)。影響として NoSchedulePreferNoSchedule、および NoExecute が使用できます。このリストは、ノードテイントに加えられた変更を継続的に上書きします。

      以下の例では、テイントを db-nodes-mp マシンプールに追加します。

      $ rosa edit machinepool --cluster=mycluster --replicas 2 --taints=key1=value1:NoSchedule,key2=value2:NoExecute db-nodes-mp
      Copy to Clipboard Toggle word wrap

      出力例

      I: Updated machine pool 'db-nodes-mp' on cluster 'mycluster'
      Copy to Clipboard Toggle word wrap

検証

  1. 新しいテイントを含むマシンプールの詳細情報を表示します。

    $ rosa describe machinepool --cluster=<cluster_name> --machinepool=<machinepool_name>
    Copy to Clipboard Toggle word wrap

    出力例

    ID:                            db-nodes-mp
    Cluster ID:                    <ID_of_cluster>
    Autoscaling:                   No
    Desired replicas:              2
    Current replicas:              2
    Instance type:                 m5.xlarge
    Labels:
    Tags:
    Taints:                        key1=value1:NoSchedule, key2=value2:NoExecute
    Availability zone:             us-east-2a
    ...
    Copy to Clipboard Toggle word wrap

  2. 出力にマシンプールのテイントが含まれていることを確認します。

4.2.8. マシンプールの AutoRepair の設定

Red Hat OpenShift Service on AWS は、AutoRepair と呼ばれるマシンプールの自動修復プロセスをサポートしています。AutoRepair は、Red Hat OpenShift Service on AWS サービスで特定の異常なノードを検出し、異常なノードに drain (Pod の退避) を実行してノードを再作成する場合に役立ちます。ノードを保持する必要がある場合など、異常なノードを置き換えない場合は、AutoRepair を無効にできます。AutoRepair はマシンプールでデフォルトで有効になっています。

AutoRepair プロセスでは、ノードの状態が NotReady であるか、事前定義された時間 (通常は 8 分)、不明な状態である場合に、ノードが正常でないと判断されます。2 つ以上のノードが同時に異常な状態になった場合に、AutoRepair プロセスはノードの修復を停止します。同様に、事前定義された時間 (通常は 20 分) が経過しても新しいノードが異常な状態で作成された場合、サービスは自動的に修復されます。

注記

マシンプールの AutoRepair は、Red Hat OpenShift Service on AWS クラスターでのみ使用できます。

4.2.8.1. OpenShift Cluster Manager を使用してマシンプールで AutoRepair を設定する

Red Hat OpenShift Cluster Manager を使用して、Red Hat OpenShift Service on AWS クラスターのマシンプール AutoRepair を設定できます。

前提条件

  • ROSA with HCP クラスターを作成した。
  • 既存のマシンプールがある。

手順

  1. OpenShift Cluster Manager に移動し、クラスターを選択します。
  2. Machine pools タブで、自動修復を設定するマシンプールのオプションメニュー kebab をクリックします。
  3. メニューから Edit を選択します。
  4. 表示される Edit Machine Pool ダイアログボックスから、AutoRepair オプションを見つけます。
  5. AutoRepair の横にあるボックスを選択または選択解除して、有効または無効にします。
  6. Save をクリックして、変更をマシンプールに適用します。

検証

  1. Machine pools タブで、マシンプールの横にある > を選択して、ビューをデプロイメントします。
  2. 展開ビューで、マシンプールの AutoRepair 設定が正しいことを確認します。

4.2.8.2. ROSA CLI を使用してマシンプールの AutoRepair を設定する

ROSA コマンドラインインターフェイス (CLI) (rosa) を使用して、Red Hat OpenShift Service on AWS クラスターのマシンプールの AutoRepair を設定できます。

前提条件

  • ワークステーションに最新の AWS (aws) および ROSA (rosa) CLI をインストールして設定している。
  • rosa CLI を使用して Red Hat アカウントにログイン済みである。
  • Red Hat OpenShift Service on AWS クラスターを作成した。
  • 既存のマシンプールがある。

手順

  1. 次のコマンドを実行して、クラスター内のマシンプールをリスト表示します。

    $ rosa list machinepools --cluster=<cluster_name>
    Copy to Clipboard Toggle word wrap

    出力例

    ID           AUTOSCALING  REPLICAS  INSTANCE TYPE  LABELS    TAINTS    AVAILABILITY ZONE  SUBNET                    VERSION  AUTOREPAIR
    workers      No           2/2       m5.xlarge                          us-east-2a         subnet-0df2ec3377847164f  4.16.6   Yes
    db-nodes-mp  No           2/2       m5.xlarge                          us-east-2a         subnet-0df2ec3377847164f  4.16.6   Yes
    Copy to Clipboard Toggle word wrap

  2. マシンプールで AutoRepair を有効または無効にします。

    • マシンプールの AutoRepair を無効にするには、次のコマンドを実行します。

      $ rosa edit machinepool --cluster=mycluster --machinepool=<machinepool_name>  --autorepair=false
      Copy to Clipboard Toggle word wrap
    • マシンプールの AutoRepair を有効にするには、次のコマンドを実行します。

      $ rosa edit machinepool --cluster=mycluster --machinepool=<machinepool_name>  --autorepair=true
      Copy to Clipboard Toggle word wrap

      出力例

      I: Updated machine pool 'machinepool_name' on cluster 'mycluster'
      Copy to Clipboard Toggle word wrap

検証

  1. マシンプールの詳細情報を表示します。

    $ rosa describe machinepool --cluster=<cluster_name> --machinepool=<machinepool_name>
    Copy to Clipboard Toggle word wrap

    出力例

    ID:                            machinepool_name
    Cluster ID:                    <ID_of_cluster>
    Autoscaling:                   No
    Desired replicas:              2
    Current replicas:              2
    Instance type:                 m5.xlarge
    Labels:
    Tags:
    Taints:
    Availability zone:             us-east-2a
    ...
    Autorepair:                    Yes
    Tuning configs:
    Kubelet configs:
    Additional security group IDs:
    Node drain grace period:
    Management upgrade:
     - Type:                               Replace
     - Max surge:                          1
     - Max unavailable:                    0
    Copy to Clipboard Toggle word wrap

  2. 出力で、マシンプールの AutoRepair 設定が正しいことを確認します。

4.2.9. マシンプールへのノードチューニングの追加

マシンプール内のコンピュート (ワーカーとも呼ばれる) ノードのチューニングを追加して、Red Hat OpenShift Service on AWS クラスターでのコンピュートノードの設定を制御できます。

前提条件

  • ワークステーションに最新の ROSA コマンドラインインターフェイス (CLI) (rosa) をインストールして設定した。
  • 'rosa' を使用して Red Hat アカウントにログインした。
  • Red Hat OpenShift Service on AWS クラスターを作成した。
  • 既存のマシンプールがある。
  • 既存のチューニング設定がある。

手順

  1. クラスター内のすべてのマシンプールをリスト表示します。

    $ rosa list machinepools --cluster=<cluster_name>
    Copy to Clipboard Toggle word wrap

    出力例

    ID           AUTOSCALING  REPLICAS  INSTANCE TYPE  LABELS    TAINTS    AVAILABILITY ZONE  SUBNET                    VERSION  AUTOREPAIR
    db-nodes-mp  No           0/2       m5.xlarge                          us-east-2a         subnet-08d4d81def67847b6  4.14.34  Yes
    workers      No           2/2       m5.xlarge                          us-east-2a         subnet-08d4d81def67847b6  4.14.34  Yes
    Copy to Clipboard Toggle word wrap

  2. 既存または新規のマシンプールにチューニング設定を追加できます。

    1. マシンプールの作成時にチューニングを追加します。

      $ rosa create machinepool -c <cluster-name> --name <machinepoolname> --tuning-configs <tuning_config_name>
      Copy to Clipboard Toggle word wrap

      出力例

      ? Tuning configs: sample-tuning
      I: Machine pool 'db-nodes-mp' created successfully on hosted cluster 'sample-cluster'
      I: To view all machine pools, run 'rosa list machinepools -c sample-cluster'
      Copy to Clipboard Toggle word wrap

    2. マシンプールのチューニングを追加または更新します。

      $ rosa edit machinepool -c <cluster-name> --machinepool <machinepoolname> --tuning-configs <tuning_config_name>
      Copy to Clipboard Toggle word wrap

      出力例

      I: Updated machine pool 'db-nodes-mp' on cluster 'mycluster'
      Copy to Clipboard Toggle word wrap

検証

  1. チューニング設定を追加したマシンプールの情報を取得します。

    $ rosa describe machinepool --cluster=<cluster_name> --machinepool=<machine_pool_name>
    Copy to Clipboard Toggle word wrap

    出力例

    ID:                                    db-nodes-mp
    Cluster ID:                            <cluster_ID>
    Autoscaling:                           No
    Desired replicas:                      2
    Current replicas:                      2
    Instance type:                         m5.xlarge
    Labels:
    Tags:
    Taints:
    Availability zone:                     us-east-2a
    Subnet:                                subnet-08d4d81def67847b6
    Version:                               4.14.34
    EC2 Metadata Http Tokens:              optional
    Autorepair:                            Yes
    Tuning configs:                        sample-tuning
    ...
    Copy to Clipboard Toggle word wrap

  2. マシンプールのチューニング設定が出力に含まれていることを確認します。

4.2.10. ノード drain 猶予期間の設定

クラスター内のマシンプールのノード drain (Pod の退避) 猶予期間を設定できます。マシンプールのノード drain 猶予期間とは、マシンプールをアップグレードまたは置き換えるときに、クラスターが Pod Disruption Budget で保護されたワークロードを考慮する期間のことです。この猶予期間が過ぎると、残りのワークロードがすべて強制的に退避させられます。ノード drain 猶予期間の値の範囲は、0 から 1 week です。デフォルト値 0 または空の値の場合、マシンプールは完了するまで時間制限なしで drain されます。

前提条件

  • ワークステーションに最新の ROSA コマンドラインインターフェイス (CLI) (rosa) をインストールして設定した。
  • Red Hat OpenShift Service on AWS クラスターを作成した。
  • 既存のマシンプールがある。

手順

  1. 次のコマンドを実行して、クラスター内のマシンプールをすべてリスト表示します。

    $ rosa list machinepools --cluster=<cluster_name>
    Copy to Clipboard Toggle word wrap

    出力例

    ID           AUTOSCALING  REPLICAS  INSTANCE TYPE  LABELS    TAINTS    AVAILABILITY ZONE  SUBNET                    VERSION  AUTOREPAIR
    db-nodes-mp  No           2/2       m5.xlarge                          us-east-2a         subnet-08d4d81def67847b6  4.14.34  Yes
    workers      No           2/2       m5.xlarge                          us-east-2a         subnet-08d4d81def67847b6  4.14.34  Yes
    Copy to Clipboard Toggle word wrap

  2. 次のコマンドを実行して、マシンプールのノード drain 猶予期間を確認します。

    $ rosa describe machinepool --cluster <cluster_name> --machinepool=<machinepool_name>
    Copy to Clipboard Toggle word wrap

    出力例

    ID:                                    workers
    Cluster ID:                            2a90jdl0i4p9r9k9956v5ocv40se1kqs
    ...
    Node drain grace period:               
    1
    
    ...
    Copy to Clipboard Toggle word wrap

    1
    この値が空の場合、マシンプールは完了するまで時間制限なしでドレインされます。
  3. オプション: 次のコマンドを実行して、マシンプールのノード drain 猶予期間を更新します。

    $ rosa edit machinepool --node-drain-grace-period="<node_drain_grace_period_value>" --cluster=<cluster_name>  <machinepool_name>
    Copy to Clipboard Toggle word wrap
    注記

    マシンプールのアップグレード中にノード drain 猶予期間を変更すると、進行中のアップグレードではなく、将来のアップグレードに適用されます。

検証

  1. 次のコマンドを実行して、マシンプールのノード drain 猶予期間を確認します。

    $ rosa describe machinepool --cluster <cluster_name> <machinepool_name>
    Copy to Clipboard Toggle word wrap

    出力例

    ID:                                    workers
    Cluster ID:                            2a90jdl0i4p9r9k9956v5ocv40se1kqs
    ...
    Node drain grace period:               30 minutes
    ...
    Copy to Clipboard Toggle word wrap

  2. 出力で、マシンプールの Node drain grace period が正しいことを確認します。

4.2.11. 関連情報

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat