4.14. AWS Local Zones を使用したクラスターインストール
OpenShift Container Platform バージョン 4.12 では、Amazon Web Services (AWS) 上のクラスターを既存の VPC にインストールし、AWS Local Zones を使用してクラウドインフラストラクチャーのエッジにワーカーを拡張できます。
Amazon Web Service (AWS) Local Zone 環境を作成し、クラスターをデプロイすると、エッジワーカーノードを使用して Local Zone サブネットでユーザーワークロードを作成できます。
AWS Local Zones は、クラウドリソースをメトロポリタンリージョンの近くに配置するインフラストラクチャーの一種です。詳細は、AWS Local Zones Documentation を参照してください。
OpenShift Container Platform は、Local Zone サブネットを使用して既存の VPC にインストールできます。Local Zone サブネットを使用して、通常のワーカーのノードをエッジネットワークに拡張できます。エッジワーカーノードは、ユーザーワークロードの実行専用です。
VPC とサブネットを作成する 1 つの方法として、提供される CloudFormation テンプレートを使用できます。テンプレートを変更してインフラストラクチャーをカスタマイズしたり、それらに含まれる情報を使用し、所属する会社のポリシーに基づいて AWS オブジェクトを作成したりできます。
インストーラーによってプロビジョニングされるインフラストラクチャーのインストールする手順は、例としてのみ提供されます。独自にプロビジョニングする VPC でクラスターをインストールするには、クラウドプロバイダーおよび OpenShift Container Platform のインストールプロセスについて理解している必要があります。これらの手順を実行するか、独自の手順を作成するのに役立つ CloudFormation テンプレートが提供されます。他の方法を使用して必要なリソースを作成することもできます。これらのテンプレートはサンプルとしてのみ提供されます。
4.14.1. 前提条件 リンクのコピーリンクがクリップボードにコピーされました!
- OpenShift Container Platform のインストールおよび更新 プロセスの詳細を確認した。
- クラスターインストール方法の選択およびそのユーザー向けの準備 を確認した。
クラスターをホストするために AWS アカウントを設定 している。
重要AWS プロファイルがご使用のコンピューターに保存されている場合、マルチファクター認証デバイスを使用中に生成した一時的なセッショントークンを使用することはできません。クラスターは継続的に現行の AWS 認証情報を使用して、クラスターの有効期間全体にわたって AWS リソースを作成するため、キーをベースとした有効期間の長い認証情報を使用する必要があります。適切なキーを生成するには、AWS ドキュメントの Managing Access Keys for IAM Users を参照してください。キーは、インストールプログラムの実行時に指定できます。
- ネットワークリソースを作成するために、リージョンとサポートされている AWS ローカルゾーンの場所 を書き留めている。
- 各 AWS Local Zones の場所の 機能 を読了している。
- AWS CLI をダウンロードし、これをコンピューターにインストールしている。AWS ドキュメントの Install the AWS CLI Using the Bundled Installer (Linux, macOS, or UNIX) を参照してください。
ファイアウォールを使用する場合は、クラスターがアクセスを必要とするサイトを許可するようにファイアウォールを設定する必要がある。
注記プロキシーを設定する場合は、このサイトリストも確認してください。
-
お使いの環境でクラウドアイデンティティーおよびアクセス管理 (IAM) API にアクセスできない場合や、管理者レベルの認証情報シークレットを
kube-systemnamespace に保存することを望まない場合は、IAM 認証情報を手動で作成および維持 することができます。
4.14.2. AWS Local Zone でのクラスターの制限 リンクのコピーリンクがクリップボードにコピーされました!
Amazon Web Services (AWS) ローカルゾーンにデフォルトのインストール設定でクラスターをデプロイしようとすると、いくつかの制限が存在します。
次のリストは、AWS Local Zones にクラスターをデプロイする際の制限事項の詳細を示しています。
-
ローカルゾーンの Amazon EC2 インスタンスとリージョンの Amazon EC2 インスタンス間の最大転送単位 (MTU) は
1300です。これにより、クラスター全体のネットワーク MTU が、デプロイで使用されるネットワークプラグインに従って変更されます。 - Network Load Balancer (NLB)、Classic Load Balancer、Network Address Translation (NAT) Gateway などのネットワークリソースは、AWS Local Zones ではサポートされていません。
-
AWS 上の OpenShift Container Platform クラスターの場合、AWS Elastic Block Storage (EBS)
gp3タイプのボリュームがノードボリュームのデフォルトであり、ストレージクラスのデフォルトです。このボリュームタイプは、ローカルゾーンの場所ではグローバルに利用できません。デフォルトでは、ローカルゾーンで実行されているノードはgp2EBS ボリュームでデプロイされます。ローカルゾーンノードでワークロードを作成するときは、gp2-csiStorageClassを設定する必要があります。
4.14.3. OpenShift Container Platform のインターネットアクセス リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform 4.12 では、クラスターをインストールするためにインターネットアクセスが必要になります。
インターネットへのアクセスは以下を実行するために必要です。
- OpenShift Cluster Manager Hybrid Cloud Console にアクセスし、インストールプログラムをダウンロードし、サブスクリプション管理を実行します。クラスターにインターネットアクセスがあり、Telemetry を無効にしない場合、そのサービスは有効なサブスクリプションでクラスターを自動的に使用します。
- クラスターのインストールに必要なパッケージを取得するために Quay.io にアクセスします。
- クラスターの更新を実行するために必要なパッケージを取得します。
クラスターでインターネットに直接アクセスできない場合、プロビジョニングする一部のタイプのインフラストラクチャーでネットワークが制限されたインストールを実行できます。このプロセスで、必要なコンテンツをダウンロードし、これを使用してミラーレジストリーにインストールパッケージを設定します。インストールタイプによっては、クラスターのインストール環境でインターネットアクセスが不要となる場合があります。クラスターを更新する前に、ミラーレジストリーのコンテンツを更新します。
4.14.4. AWS Local Zones へのオプトイン リンクのコピーリンクがクリップボードにコピーされました!
AWS Local Zones にサブネットを作成する場合は、各ゾーングループに個別にオプトインする必要があります。
前提条件
- AWS CLI をインストールしている。
- OpenShift Container Platform クラスターをデプロイするリージョンを決定している。
手順
以下のコマンドを実行して、OpenShift Container Platform クラスターをデプロイする予定のリージョンの名前を含む変数をエクスポートします。
export CLUSTER_REGION="<region_name>"
$ export CLUSTER_REGION="<region_name>"1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<region_name>には、us-east-1などの有効な AWS リージョン名を指定します。
次のコマンドを実行して、地域で利用可能なゾーンをリスト表示します。
aws --region ${CLUSTER_REGION} ec2 describe-availability-zones \ --query 'AvailabilityZones[].[{ZoneName: ZoneName, GroupName: GroupName, Status: OptInStatus}]' \ --filters Name=zone-type,Values=local-zone \ --all-availability-zones$ aws --region ${CLUSTER_REGION} ec2 describe-availability-zones \ --query 'AvailabilityZones[].[{ZoneName: ZoneName, GroupName: GroupName, Status: OptInStatus}]' \ --filters Name=zone-type,Values=local-zone \ --all-availability-zonesCopy to Clipboard Copied! Toggle word wrap Toggle overflow リージョンによっては、利用可能なゾーンのリストが長くなる場合があります。このコマンドは、以下のフィールドを返します。
ZoneName- Local Zone の名前。
GroupName- ゾーンが属するグループ。オプトインするには、この名前を保存する必要があります。
Status-
Local Zone グループのステータス。ステータスが
not-opted-inの場合は、次のコマンドを実行してGroupNameをオプトインする必要があります。
次のコマンドを実行して、VPC をホストする Local Zone の名前を含む変数をエクスポートします。
export ZONE_GROUP_NAME="<value_of_GroupName>"
$ export ZONE_GROUP_NAME="<value_of_GroupName>"1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- &
lt;value_of_GroupName> は、サブネットを作成するローカルゾーンのグループの名前を指定します。たとえば、ゾーンus-east-1-nyc-1a、米国東部 (ニューヨーク) を使用するにはus-east-1-nyc-1と指定します。
次のコマンドを実行して、AWS アカウントのゾーングループにオプトインします。
aws ec2 modify-availability-zone-group \ --group-name "${ZONE_GROUP_NAME}" \ --opt-in-status opted-in$ aws ec2 modify-availability-zone-group \ --group-name "${ZONE_GROUP_NAME}" \ --opt-in-status opted-inCopy to Clipboard Copied! Toggle word wrap Toggle overflow
4.14.5. AWS Marketplace イメージの取得 リンクのコピーリンクがクリップボードにコピーされました!
AWS Marketplace イメージを使用して OpenShift Container Platform クラスターをデプロイする場合は、最初に AWS を通じてサブスクライブする必要があります。オファーにサブスクライブすると、インストールプログラムがワーカーノードのデプロイに使用する AMI ID が提供されます。
前提条件
- オファーを購入するための AWS アカウントを持っている。このアカウントは、クラスターのインストールに使用されるアカウントと同じである必要はありません。
手順
- AWS Marketplace で OpenShift Container Platform サブスクリプションを完了します。
-
使用する特定のリージョンの AMI ID を記録します。インストールプロセスの一環として、クラスターをデプロイする前に、この値で
install-config.yamlファイルを更新する必要があります。
AWS Marketplace ワーカーノードを含む install-config.yaml ファイルのサンプル
4.14.6. AWS Local Zones を使用する VPC の作成 リンクのコピーリンクがクリップボードにコピーされました!
ワーカーノードをエッジロケーションに拡張するには、OpenShift Container Platform クラスターの Amazon Web Services (AWS) で Virtual Private Cloud (VPC) と各ローカルゾーンロケーションのサブネットを作成する必要があります。VPN、ルートテーブルなどの要件を満たすように VPC をさらにカスタマイズし、初期デプロイメントに含まれていない新しい Local Zone サブネットを追加できます。
提供される CloudFormation テンプレートおよびカスタムパラメーターファイルを使用して、VPC を表す AWS リソースのスタックを作成できます。
このドキュメントの CloudFormation テンプレートを使用して AWS インフラストラクチャーを作成しない場合は、記載されている情報を確認し、インフラストラクチャーを手動で作成する必要があります。クラスターが適切に初期化されない場合、インストールログを用意して Red Hat サポートに問い合わせする必要がある可能性があります。
前提条件
- AWS アカウントを設定している。
-
aws configureを実行して、AWS キーおよびリージョンをローカルの AWS プロファイルに追加している。 - AWS アカウントで AWS Local Zones にオプトインしている。
手順
テンプレートが必要とするパラメーター値が含まれる JSON ファイルを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - このトピックのVPC の CloudFormation テンプレートセクションからテンプレートをコピーし、これをコンピューター上に YAML ファイルとして保存します。このテンプレートは、クラスターに必要な VPC について記述しています。
次のコマンドを実行して、CloudFormation テンプレートを起動し、VPC を表す AWS リソースのスタックを作成します。
重要単一行にコマンドを入力してください。
aws cloudformation create-stack --stack-name <name> \ --template-body file://<template>.yaml \ --parameters file://<parameters>.json$ aws cloudformation create-stack --stack-name <name> \1 --template-body file://<template>.yaml \2 --parameters file://<parameters>.json3 Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
arn:aws:cloudformation:us-east-1:123456789012:stack/cluster-vpc/dbedae40-2fd3-11eb-820e-12a48460849f
arn:aws:cloudformation:us-east-1:123456789012:stack/cluster-vpc/dbedae40-2fd3-11eb-820e-12a48460849fCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、テンプレートコンポーネントが存在することを確認します。
aws cloudformation describe-stacks --stack-name <name>
$ aws cloudformation describe-stacks --stack-name <name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow StackStatusがCREATE_COMPLETEを表示した後に、出力には以下のパラメーターの値が表示されます。これらのパラメーターの値をクラスターを作成するために実行する他の CloudFormation テンプレートに指定する必要があります。VpcIdVPC の ID。
PublicSubnetIds新規パブリックサブネットの ID。
PrivateSubnetIds新規プライベートサブネットの ID。
PublicRouteTableId新しいパブリックルートテーブル ID の ID。
4.14.6.1. AWS Local Zones を使用する VPC の CloudFormation テンプレート リンクのコピーリンクがクリップボードにコピーされました!
以下の CloudFormation テンプレートを使用して、AWS Local Zones を使用する OpenShift Container Platform クラスターに必要な VPC をデプロイできます。
例4.50 VPC の CloudFormation テンプレート
4.14.7. AWS Local Zones でのサブネットの作成 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform クラスターのワーカーマシンセットを設定する前に、AWS Local Zones にサブネットを作成する必要があります。
ワーカーノードをデプロイする Local Zone ごとに、次のプロセスを繰り返す必要があります。
提供される CloudFormation テンプレートおよびカスタムパラメーターファイルを使用して、サブネットを表す AWS リソースのスタックを作成できます。
提供される CloudFormation テンプレートを使用して AWS インフラストラクチャーを使用しない場合、提供される情報を確認し、インフラストラクチャーを手動で作成する必要があります。クラスターが適切に初期化されない場合、インストールログを用意して Red Hat サポートに問い合わせする必要がある可能性があります。
前提条件
- AWS アカウントを設定している。
-
aws configureを実行して、AWS キーおよびリージョンをローカルの AWS プロファイルに追加している。 - Local Zone グループにオプトインしている。
手順
テンプレートが必要とするパラメーター値が含まれる JSON ファイルを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- ホスト名などに使用する短いクラスター名。
- 2
- クラスターの
install-config.yamlファイルを生成した時に使用したクラスター名を指定します。 - 3
- Local Zone のサブネットが作成される VPC ID。
- 4
- VPC の CloudFormation テンプレートの出力から
VpcId値を指定します。 - 5
- VPC のパブリックルートテーブル ID。
- 6
- VPC の CloudFormation テンプレートの出力から
PublicRouteTableId値を指定します。 - 7
- VPC が属する Local Zone 名。
- 8
- AWS アカウントをオプトインした Local Zone を指定します (例:
us-east-1-nyc-1a)。 - 9
- VPC が属する AWS Local Zone の短縮名。
- 10
- AWS アカウントをオプトインした AWS Local Zone の短い名前を指定します (例:
<zone_group_identified><zone_identifier>)。たとえば、us-east-1-nyc-1aはnyc-1aに短縮されます。 - 11
- Local Zone へのアクセスを許可する CIDR ブロック。
- 12
x.x.x.x/16-24形式で CIDR ブロックを指定します。
- このトピックの サブネットの CloudFormation テンプレート セクションからテンプレートをコピーし、これをコンピューター上に YAML ファイルとして保存します。このテンプレートは、クラスターに必要な VPC について記述しています。
次のコマンドを実行して、CloudFormation テンプレートを起動し、VPC を表す AWS リソースのスタックを作成します。
重要単一行にコマンドを入力してください。
aws cloudformation create-stack --stack-name <subnet_stack_name> \ --template-body file://<template>.yaml \ --parameters file://<parameters>.json$ aws cloudformation create-stack --stack-name <subnet_stack_name> \1 --template-body file://<template>.yaml \2 --parameters file://<parameters>.json3 Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
arn:aws:cloudformation:us-east-1:123456789012:stack/cluster-lz-nyc1/dbedae40-2fd3-11eb-820e-12a48460849f
arn:aws:cloudformation:us-east-1:123456789012:stack/cluster-lz-nyc1/dbedae40-2fd3-11eb-820e-12a48460849fCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、テンプレートコンポーネントが存在することを確認します。
aws cloudformation describe-stacks --stack-name <subnet_stack_name>
$ aws cloudformation describe-stacks --stack-name <subnet_stack_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow StackStatusがCREATE_COMPLETEを表示した後に、出力には以下のパラメーターの値が表示されます。これらのパラメーターの値をクラスターを作成するために実行する他の CloudFormation テンプレートに指定する必要があります。PublicSubnetIds新規パブリックサブネットの ID。
4.14.7.1. AWS Local Zones を使用するサブネットの CloudFormation テンプレート リンクのコピーリンクがクリップボードにコピーされました!
以下の CloudFormation テンプレートを使用して、AWS Local Zones を使用する OpenShift Container Platform クラスターに必要なサブネットをデプロイできます。
例4.51 サブネットの CloudFormation テンプレート
4.14.8. インストールプログラムの取得 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform をインストールする前に、インストールに使用しているホストにインストールファイルをダウンロードします。
前提条件
- 500 MB のローカルディスク領域がある Linux または macOS を実行するコンピューターが必要です。
手順
- OpenShift Cluster Manager サイトの インフラストラクチャープロバイダー ページにアクセスします。Red Hat アカウントがある場合は、認証情報を使用してログインします。アカウントがない場合はこれを作成します。
- インフラストラクチャープロバイダーを選択します。
インストールタイプのページに移動し、ホストオペレーティングシステムとアーキテクチャーに対応するインストールプログラムをダウンロードして、インストール設定ファイルを保存するディレクトリーにファイルを配置します。
重要インストールプログラムは、クラスターのインストールに使用するコンピューターにいくつかのファイルを作成します。クラスターのインストール完了後は、インストールプログラムおよびインストールプログラムが作成するファイルを保持する必要があります。ファイルはいずれもクラスターを削除するために必要になります。
重要インストールプログラムで作成されたファイルを削除しても、クラスターがインストール時に失敗した場合でもクラスターは削除されません。クラスターを削除するには、特定のクラウドプロバイダー用の OpenShift Container Platform のアンインストール手順を実行します。
インストールプログラムを展開します。たとえば、Linux オペレーティングシステムを使用するコンピューターで以下のコマンドを実行します。
tar -xvf openshift-install-linux.tar.gz
$ tar -xvf openshift-install-linux.tar.gzCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Red Hat OpenShift Cluster Manager からインストールプルシークレット をダウンロードします。このプルシークレットを使用し、OpenShift Container Platform コンポーネントのコンテナーイメージを提供する Quay.io など、組み込まれた各種の認証局によって提供されるサービスで認証できます。
4.14.9. クラスターノードの SSH アクセス用のキーペアの生成 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform をインストールする際に、SSH パブリックキーをインストールプログラムに指定できます。キーは、Ignition 設定ファイルを介して Red Hat Enterprise Linux CoreOS (RHCOS) ノードに渡され、ノードへの SSH アクセスを認証するために使用されます。このキーは各ノードの core ユーザーの ~/.ssh/authorized_keys リストに追加され、パスワードなしの認証が可能になります。
キーがノードに渡されると、キーペアを使用して RHCOS ノードにユーザー core として SSH を実行できます。SSH 経由でノードにアクセスするには、秘密鍵のアイデンティティーをローカルユーザーの SSH で管理する必要があります。
インストールのデバッグまたは障害復旧を実行するためにクラスターノードに対して SSH を実行する場合は、インストールプロセスの間に SSH 公開鍵を指定する必要があります。./openshift-install gather コマンドでは、SSH 公開鍵がクラスターノードに配置されている必要もあります。
障害復旧およびデバッグが必要な実稼働環境では、この手順を省略しないでください。
AWS キーペア などのプラットフォームに固有の方法で設定したキーではなく、ローカルキーを使用する必要があります。
手順
クラスターノードへの認証に使用するローカルマシンに既存の SSH キーペアがない場合は、これを作成します。たとえば、Linux オペレーティングシステムを使用するコンピューターで以下のコマンドを実行します。
ssh-keygen -t ed25519 -N '' -f <path>/<file_name>
$ ssh-keygen -t ed25519 -N '' -f <path>/<file_name>1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 新しい SSH キーのパスとファイル名 (
~/.ssh/id_ed25519など) を指定します。既存のキーペアがある場合は、公開鍵が~/.sshディレクトリーにあることを確認します。
注記FIPS で検証済みまたは進行中のモジュール (Modules in Process) 暗号ライブラリーを使用する OpenShift Container Platform クラスターを
x86_64、ppc64le、およびs390xアーキテクチャーにインストールする予定の場合は、ed25519アルゴリズムを使用するキーは作成しないでください。代わりに、rsaアルゴリズムまたはecdsaアルゴリズムを使用するキーを作成します。公開 SSH キーを表示します。
cat <path>/<file_name>.pub
$ cat <path>/<file_name>.pubCopy to Clipboard Copied! Toggle word wrap Toggle overflow たとえば、次のコマンドを実行して
~/.ssh/id_ed25519.pub公開鍵を表示します。cat ~/.ssh/id_ed25519.pub
$ cat ~/.ssh/id_ed25519.pubCopy to Clipboard Copied! Toggle word wrap Toggle overflow ローカルユーザーの SSH エージェントに SSH 秘密鍵 ID が追加されていない場合は、それを追加します。キーの SSH エージェント管理は、クラスターノードへのパスワードなしの SSH 認証、または
./openshift-install gatherコマンドを使用する場合は必要になります。注記一部のディストリビューションでは、
~/.ssh/id_rsaおよび~/.ssh/id_dsaなどのデフォルトの SSH 秘密鍵のアイデンティティーは自動的に管理されます。ssh-agentプロセスがローカルユーザーに対して実行されていない場合は、バックグラウンドタスクとして開始します。eval "$(ssh-agent -s)"
$ eval "$(ssh-agent -s)"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Agent pid 31874
Agent pid 31874Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記クラスターが FIPS モードにある場合は、FIPS 準拠のアルゴリズムのみを使用して SSH キーを生成します。鍵は RSA または ECDSA のいずれかである必要があります。
SSH プライベートキーを
ssh-agentに追加します。ssh-add <path>/<file_name>
$ ssh-add <path>/<file_name>1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
~/.ssh/id_ed25519などの、SSH プライベートキーのパスおよびファイル名を指定します。
出力例
Identity added: /home/<you>/<path>/<file_name> (<computer_name>)
Identity added: /home/<you>/<path>/<file_name> (<computer_name>)Copy to Clipboard Copied! Toggle word wrap Toggle overflow
次のステップ
- OpenShift Container Platform をインストールする際に、SSH パブリックキーをインストールプログラムに指定します。
4.14.10. AWS のインストールファイルの作成 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform を Amazon Web Services (AWS) にインストールして AWS Local Zones を使用するには、インストールプログラムがクラスターをデプロイするために必要なファイルを生成し、クラスターが使用するマシンのみを作成するようにそれらのファイルを変更する必要があります。install-config.yaml ファイルと Kubernetes マニフェストを生成してカスタマイズします。
4.14.10.1. クラスターインストールの最小リソース要件 リンクのコピーリンクがクリップボードにコピーされました!
それぞれのクラスターマシンは、以下の最小要件を満たしている必要があります。
| マシン | オペレーティングシステム | vCPU [1] | 仮想 RAM | ストレージ | 1 秒あたりの入出力 (IOPS) [2] |
|---|---|---|---|---|---|
| ブートストラップ | RHCOS | 4 | 16 GB | 100 GB | 300 |
| コントロールプレーン | RHCOS | 4 | 16 GB | 100 GB | 300 |
| Compute | RHCOS、RHEL 8.6 以降 [3] | 2 | 8 GB | 100 GB | 300 |
- 1 vCPU は、同時マルチスレッド (SMT) またはハイパースレッディングが有効にされていない場合に 1 つの物理コアと同等です。これが有効にされている場合、以下の数式を使用して対応する比率を計算します: (コアごとのスレッド × コア数) × ソケット数 = vCPU
- OpenShift Container Platform および Kubernetes はディスクのパフォーマンスに敏感であり、特に 10 ms p99 fsync 期間を必要とするコントロールプレーンノード上の etcd については、高速ストレージが推奨されます。多くのクラウドプラットフォームでは、ストレージサイズと IOPS スケールが一緒にあるため、十分なパフォーマンスを得るためにストレージボリュームの割り当てが必要になる場合があります。
- すべての user-provisioned installation と同様に、クラスターで RHEL コンピュートマシンの使用を選択する場合は、システム更新の実行、パッチの適用、その他すべての必要なタスクの完了など、オペレーティングシステムのライフサイクルの管理と保守をすべて担当します。RHEL 7 コンピューティングマシンの使用は推奨されておらず、OpenShift Container Platform 4.10 以降では削除されています。
プラットフォームのインスタンスタイプがクラスターマシンの最小要件を満たす場合、これは OpenShift Container Platform で使用することがサポートされます。
4.14.10.2. AWS のテスト済みインスタンスタイプ リンクのコピーリンクがクリップボードにコピーされました!
以下の Amazon Web Services (AWS) インスタンスタイプは、AWS Local Zones で使用するために OpenShift Container Platform でテストされています。
以下のチャートに含まれるマシンタイプを AWS インスタンスに使用します。チャートに記載されていないインスタンスタイプを使用する場合は、使用するインスタンスサイズが、クラスターインストールの最小リソース要件に記載されている最小リソース要件と一致していることを確認してください。
例4.52 AWS Local Zones の 64 ビット x86 アーキテクチャーに基づくマシンタイプ
-
c5.* -
c5d.* -
m6i.* -
m5.* -
r5.* -
t3.*
4.14.10.3. インストール設定ファイルの作成 リンクのコピーリンクがクリップボードにコピーされました!
インストールプログラムがクラスターをデプロイするために必要なインストール設定ファイルを生成し、カスタマイズします。
前提条件
- OpenShift Container Platform インストールプログラム、およびクラスターのプルシークレットを取得している。
-
Red Hat が公開している付随の Red Hat Enterprise Linux CoreOS (RHCOS) AMI のあるリージョンにクラスターをデプロイしていることを確認済みである。AWS GovCloud リージョンなどのカスタム AMI を必要とするリージョンにデプロイする場合は、
install-config.yamlファイルを手動で作成する必要があります。
手順
install-config.yamlファイルを作成します。インストールプログラムが含まれるディレクトリーに切り替え、以下のコマンドを実行します。
./openshift-install create install-config --dir <installation_directory>
$ ./openshift-install create install-config --dir <installation_directory>1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<installation_directory>の場合、インストールプログラムが作成するファイルを保存するためにディレクトリー名を指定します。
重要空のディレクトリーを指定します。ブートストラップ X.509 証明書などの一部のインストールアセットの有効期限は短く設定されているため、インストールディレクトリーを再利用することができません。別のクラスターインストールの個別のファイルを再利用する必要がある場合は、それらをディレクトリーにコピーすることができます。ただし、インストールアセットのファイル名はリリース間で変更される可能性があります。インストールファイルを以前のバージョンの OpenShift Container Platform からコピーする場合は注意してコピーを行ってください。
プロンプト時に、クラウドの設定の詳細情報を指定します。
オプション: クラスターマシンにアクセスするために使用する SSH キーを選択します。
注記インストールのデバッグまたは障害復旧を実行する必要のある実稼働用の OpenShift Container Platform クラスターでは、
ssh-agentプロセスが使用する SSH キーを指定します。- ターゲットに設定するプラットフォームとして aws を選択します。
AWS プロファイルをコンピューターに保存していない場合、インストールプログラムを実行するように設定したユーザーの AWS アクセスキー ID およびシークレットアクセスキーを入力します。
注記AWS アクセスキー ID およびシークレットアクセスキーは、インストールホストの現行ユーザーのホームディレクトリーの
~/.aws/credentialsに保存されます。エクスポートされたプロファイルの認証情報がファイルにない場合は、インストールプログラムにより認証情報の入力が求めるプロンプトが出されます。インストールプログラムに指定する認証情報は、ファイルに保存されます。- クラスターのデプロイ先とする AWS リージョンを選択します。指定するリージョンは、AWS アカウント用にオプトインした Local Zone を含むリージョンと同じである必要があります。
- クラスターに設定した Route 53 サービスのベースドメインを選択します。
- クラスターの記述名を入力します。
- Red Hat OpenShift Cluster Manager からプルシークレット を貼り付けます。
install-config.yamlファイルを編集して、VPC が使用するアベイラビリティーゾーンのサブネットを指定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
subnetsセクションを追加し、VPC の CloudFormation テンプレートの出力からPrivateSubnetIdsとPublicSubnetIdsの値を指定します。ここに Local Zone のサブネットは含めないでください。
オプション:
install-config.yamlファイルをバックアップします。重要install-config.yamlファイルはインストールプロセス時に使用されます。このファイルを再利用する必要がある場合は、この段階でこれをバックアップしてください。
4.14.10.4. Kubernetes マニフェストファイルの作成 リンクのコピーリンクがクリップボードにコピーされました!
一部のクラスター定義ファイルを変更し、クラスターマシンを手動で起動する必要があるため、クラスターがマシンを設定するために必要な Kubernetes マニフェストファイルを生成する必要があります。
前提条件
- OpenShift Container Platform インストールプログラムを取得していること。
-
install-config.yamlインストール設定ファイルを作成していること。 -
jqパッケージをインストールしている。
手順
以下のコマンドを実行して、OpenShift Container Platform インストールプログラムを含むディレクトリーに移動し、クラスターの Kubernetes マニフェストを生成します。
./openshift-install create manifests --dir <installation_directory>
$ ./openshift-install create manifests --dir <installation_directory>1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<installation_directory>については、作成したinstall-config.yamlファイルが含まれるインストールディレクトリーを指定します。
ネットワークプラグインに従って、デフォルトの 最大転送単位 (MTU) を設定します。
重要通常、ローカルゾーンの Amazon EC2 インスタンスとリージョンの Amazon EC2 インスタンス間の最大転送単位 (MTU) は 1300 です。AWS ドキュメントの How Local Zones work を参照してください。オーバーヘッドを考慮して、クラスターネットワーク MTU は常に EC2 MTU より小さくなければなりません。特定のオーバーヘッドは、ネットワークプラグインにより決定されます。以下に例を示します。
-
OVN-Kubernetes:
100 bytes -
OpenShift SDN:
50 bytes
ネットワークプラグインは、IPsec などの MTU を減らす必要がある追加機能を提供することができます。詳細は、ドキュメントを参照してください。
OVN-Kubernetesネットワークプラグインを使用している場合は、以下のコマンドを入力します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow OpenShift SDNネットワークプラグインを使用している場合は、以下のコマンドを入力します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
OVN-Kubernetes:
Local Zone のワーカーノードのマシンセットマニフェストを作成します。
次のコマンドを実行して、AWS アカウントをオプトインした Local Zone の名前を含むローカル変数をエクスポートします。
export LZ_ZONE_NAME="<local_zone_name>"
$ export LZ_ZONE_NAME="<local_zone_name>"1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<local_zone_name>には、AWS アカウントを選択した Local Zone (us-east-1-nyc-1aなど) を指定します。
次のコマンドを実行して、デプロイ先のロケーションのインスタンスタイプを確認します。
aws ec2 describe-instance-type-offerings \ --location-type availability-zone \ --filters Name=location,Values=${LZ_ZONE_NAME}$ aws ec2 describe-instance-type-offerings \ --location-type availability-zone \ --filters Name=location,Values=${LZ_ZONE_NAME} --region <region>1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<region>には、デプロイ先のリージョンの名前 (us-east-1など) を指定します。
次のコマンドを実行して変数をエクスポートし、Local Zone サブネットにデプロイするワーカーマシンのインスタンスを定義します。
export INSTANCE_TYPE="<instance_type>"
$ export INSTANCE_TYPE="<instance_type>"1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<instance_type>をc5d.2xlargeなどのテスト済みインスタンスタイプに設定します。
次のコマンドを実行して、AMI ID をローカル変数として保存します。
export AMI_ID=$(grep ami
$ export AMI_ID=$(grep ami <installation_directory>/openshift/99_openshift-cluster-api_worker-machineset-0.yaml \ | tail -n1 | awk '{print$2}')Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、サブネット ID をローカル変数として保存します。
export SUBNET_ID=$(aws cloudformation describe-stacks --stack-name "<subnet_stack_name>" \ | jq -r '.Stacks[0].Outputs[0].OutputValue')
$ export SUBNET_ID=$(aws cloudformation describe-stacks --stack-name "<subnet_stack_name>" \1 | jq -r '.Stacks[0].Outputs[0].OutputValue')Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<subnet_stack_name>では、作成したサブネットスタックの名前を指定します。
次のコマンドを実行して、クラスター ID をローカル変数として保存します。
export CLUSTER_ID="$(awk '/infrastructureName: / {print $2}' <installation_directory>/manifests/cluster-infrastructure-02-config.yml)"$ export CLUSTER_ID="$(awk '/infrastructureName: / {print $2}' <installation_directory>/manifests/cluster-infrastructure-02-config.yml)"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、VPC が使用する Local Zone のワーカーマニフェストファイルを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.14.11. クラスターのデプロイ リンクのコピーリンクがクリップボードにコピーされました!
互換性のあるクラウドプラットフォームに OpenShift Container Platform をインストールできます。
インストールプログラムの create cluster コマンドは、初期インストール時に 1 回だけ実行できます。
前提条件
- クラスターをホストするクラウドプラットフォームでアカウントを設定します。
- OpenShift Container Platform インストールプログラム、およびクラスターのプルシークレットを取得する。
- ホスト上のクラウドプロバイダーアカウントに、クラスターをデプロイするための適切な権限があることを確認してください。アカウントの権限が正しくないと、インストールプロセスが失敗し、不足している権限を示すエラーメッセージが表示されます。
手順
インストールプログラムが含まれるディレクトリーに切り替え、クラスターのデプロイメントを初期化します。
./openshift-install create cluster --dir <installation_directory> \ --log-level=info$ ./openshift-install create cluster --dir <installation_directory> \1 --log-level=info2 Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記ホストに設定したクラウドプロバイダーアカウントにクラスターをデプロイするための十分なパーミッションがない場合、インストールプロセスは停止し、不足しているパーミッションが表示されます。
オプション: クラスターのインストールに使用した IAM アカウントから
AdministratorAccessポリシーを削除するか、または無効にします。注記AdministratorAccessポリシーが提供する昇格したパーミッションはインストール時にのみ必要です。
検証
クラスターのデプロイが正常に完了すると、次のようになります。
-
ターミナルには、Web コンソールへのリンクや
kubeadminユーザーの認証情報など、クラスターにアクセスするための指示が表示されます。 -
認証情報は
<installation_directory>/.openshift_install.logにも出力されます。
インストールプログラム、またはインストールプログラムが作成するファイルを削除することはできません。これらはいずれもクラスターを削除するために必要になります。
出力例
-
インストールプログラムが生成する Ignition 設定ファイルには、24 時間が経過すると期限切れになり、その後に更新される証明書が含まれます。証明書を更新する前にクラスターが停止し、24 時間経過した後にクラスターを再起動すると、クラスターは期限切れの証明書を自動的に復元します。例外として、kubelet 証明書を回復するために保留状態の
node-bootstrapper証明書署名要求 (CSR) を手動で承認する必要があります。詳細は、コントロールプレーン証明書の期限切れの状態からのリカバリー に関するドキュメントを参照してください。 - 24 時間証明書はクラスターのインストール後 16 時間から 22 時間にローテーションするため、Ignition 設定ファイルは、生成後 12 時間以内に使用することを推奨します。12 時間以内に Ignition 設定ファイルを使用することにより、インストール中に証明書の更新が実行された場合のインストールの失敗を回避できます。
4.14.12. バイナリーのダウンロードによる OpenShift CLI のインストール リンクのコピーリンクがクリップボードにコピーされました!
コマンドラインインターフェイスを使用して OpenShift Container Platform と対話するために CLI (oc) をインストールすることができます。oc は Linux、Windows、または macOS にインストールできます。
以前のバージョンの oc をインストールしている場合、これを使用して OpenShift Container Platform 4.12 のすべてのコマンドを実行することはできません。新規バージョンの oc をダウンロードし、インストールします。
Linux への OpenShift CLI のインストール
以下の手順を使用して、OpenShift CLI (oc) バイナリーを Linux にインストールできます。
手順
- Red Hat カスタマーポータルの OpenShift Container Platform ダウンロードページ に移動します。
- Product Variant ドロップダウンリストからアーキテクチャーを選択します。
- バージョン ドロップダウンリストから適切なバージョンを選択します。
- OpenShift v4.12 Linux Client エントリーの横にある Download Now をクリックして、ファイルを保存します。
アーカイブを展開します。
tar xvf <file>
$ tar xvf <file>Copy to Clipboard Copied! Toggle word wrap Toggle overflow ocバイナリーを、PATHにあるディレクトリーに配置します。PATHを確認するには、以下のコマンドを実行します。echo $PATH
$ echo $PATHCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
OpenShift CLI のインストール後に、
ocコマンドを使用して利用できます。oc <command>
$ oc <command>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Windows への OpenShift CLI のインストール
以下の手順を使用して、OpenShift CLI (oc) バイナリーを Windows にインストールできます。
手順
- Red Hat カスタマーポータルの OpenShift Container Platform ダウンロードページ に移動します。
- バージョン ドロップダウンリストから適切なバージョンを選択します。
- OpenShift v4.12 Windows Client エントリーの横にある Download Now をクリックして、ファイルを保存します。
- ZIP プログラムでアーカイブを解凍します。
ocバイナリーを、PATHにあるディレクトリーに移動します。PATHを確認するには、コマンドプロンプトを開いて以下のコマンドを実行します。path
C:\> pathCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
OpenShift CLI のインストール後に、
ocコマンドを使用して利用できます。oc <command>
C:\> oc <command>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
macOS への OpenShift CLI のインストール
以下の手順を使用して、OpenShift CLI (oc) バイナリーを macOS にインストールできます。
手順
- Red Hat カスタマーポータルの OpenShift Container Platform ダウンロードページ に移動します。
- バージョン ドロップダウンリストから適切なバージョンを選択します。
OpenShift v4.12 macOS Client エントリーの横にある Download Now をクリックして、ファイルを保存します。
注記macOS arm64 の場合は、OpenShift v4.12 macOS arm64 Client エントリーを選択します。
- アーカイブを展開し、解凍します。
ocバイナリーをパスにあるディレクトリーに移動します。PATHを確認するには、ターミナルを開き、以下のコマンドを実行します。echo $PATH
$ echo $PATHCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
OpenShift CLI のインストール後に、
ocコマンドを使用して利用できます。oc <command>
$ oc <command>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.14.13. CLI の使用によるクラスターへのログイン リンクのコピーリンクがクリップボードにコピーされました!
クラスター kubeconfig ファイルをエクスポートし、デフォルトシステムユーザーとしてクラスターにログインできます。kubeconfig ファイルには、クライアントを正しいクラスターおよび API サーバーに接続するために CLI で使用されるクラスターに関する情報が含まれます。このファイルはクラスターに固有のファイルであり、OpenShift Container Platform のインストール時に作成されます。
前提条件
- OpenShift Container Platform クラスターをデプロイしていること。
-
ocCLI をインストールしていること。
手順
kubeadmin認証情報をエクスポートします。export KUBECONFIG=<installation_directory>/auth/kubeconfig
$ export KUBECONFIG=<installation_directory>/auth/kubeconfig1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<installation_directory>には、インストールファイルを保存したディレクトリーへのパスを指定します。
エクスポートされた設定を使用して、
ocコマンドを正常に実行できることを確認します。oc whoami
$ oc whoamiCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
system:admin
system:adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow
4.14.14. Web コンソールを使用したクラスターへのログイン リンクのコピーリンクがクリップボードにコピーされました!
kubeadmin ユーザーは、OpenShift Container Platform のインストール後はデフォルトで存在します。OpenShift Container Platform Web コンソールを使用し、kubeadmin ユーザーとしてクラスターにログインできます。
前提条件
- インストールホストにアクセスできる。
- クラスターのインストールを完了しており、すべてのクラスター Operator が利用可能である。
手順
インストールホストで
kubeadmin-passwordファイルからkubeadminユーザーのパスワードを取得します。cat <installation_directory>/auth/kubeadmin-password
$ cat <installation_directory>/auth/kubeadmin-passwordCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記または、インストールホストで
<installation_directory>/.openshift_install.logログファイルからkubeadminパスワードを取得できます。OpenShift Container Platform Web コンソールルートをリスト表示します。
oc get routes -n openshift-console | grep 'console-openshift'
$ oc get routes -n openshift-console | grep 'console-openshift'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記または、インストールホストで
<installation_directory>/.openshift_install.logログファイルからで OpenShift Container Platform ルートを取得できます。出力例
console console-openshift-console.apps.<cluster_name>.<base_domain> console https reencrypt/Redirect None
console console-openshift-console.apps.<cluster_name>.<base_domain> console https reencrypt/Redirect NoneCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
Web ブラウザーで前述のコマンドの出力で詳細に説明されたルートに移動し、
kubeadminユーザーとしてログインします。
4.14.15. OpenShift Container Platform の Telemetry アクセス リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform 4.12 では、クラスターの健全性および正常に実行された更新についてのメトリクスを提供するためにデフォルトで実行される Telemetry サービスにもインターネットアクセスが必要です。クラスターがインターネットに接続されている場合、Telemetry は自動的に実行され、クラスターは OpenShift Cluster Manager Hybrid Cloud Console に登録されます。
OpenShift Cluster Manager インベントリーが正常である (Telemetry によって自動的に維持、または OpenShift Cluster Manager Hybrid Cloud Console を使用して手動で維持) ことを確認した後に、subscription watch を使用 して、アカウントまたはマルチクラスターレベルで OpenShift Container Platform サブスクリプションを追跡します。
4.14.16. 次のステップ リンクのコピーリンクがクリップボードにコピーされました!
- インストールの検証
- クラスターをカスタマイズ します。
- 必要に応じて、リモートヘルスレポートをオプトアウト できます。
- 必要に応じて、クラウドプロバイダーの認証情報を削除 できます。