15.8. インストール設定ファイルの作成
Amazon Web Services (AWS) での OpenShift Container Platform のインストールをカスタマイズできます。
前提条件
- OpenShift Container Platform インストールプログラムおよびクラスターのプルシークレットがある。
手順
install-config.yaml
ファイルを作成します。インストールプログラムが含まれるディレクトリーに切り替え、以下のコマンドを実行します。
./openshift-install create install-config --dir <installation_directory>
$ ./openshift-install create install-config --dir <installation_directory>
1 Copy to Clipboard Copied! - 1
<installation_directory>
の場合、インストールプログラムが作成するファイルを保存するためにディレクトリー名を指定します。
ディレクトリーを指定する場合:
-
ディレクトリーに
execute
権限があることを確認します。この権限は、インストールディレクトリーで Terraform バイナリーを実行するために必要です。 空のディレクトリーを使用します。ブートストラップ X.509 証明書などの一部のインストールアセットは有効期限が短いため、インストールディレクトリーを再利用しないでください。別のクラスターインストールの個別のファイルを再利用する必要がある場合は、それらをディレクトリーにコピーすることができます。ただし、インストールアセットのファイル名はリリース間で変更される可能性があります。インストールファイルを以前のバージョンの OpenShift Container Platform からコピーする場合は注意してコピーを行ってください。
注記古い設定の再利用を回避するために、
~/.powervs
ディレクトリーは必ず削除してください。以下のコマンドを実行します。rm -rf ~/.powervs
$ rm -rf ~/.powervs
Copy to Clipboard Copied!
プロンプト時に、クラウドの設定の詳細情報を指定します。
オプション: クラスターマシンにアクセスするために使用する SSH キーを選択します。
注記インストールのデバッグまたは障害復旧を実行する必要のある実稼働用の OpenShift Container Platform クラスターでは、
ssh-agent
プロセスが使用する SSH キーを指定します。- ターゲットに設定するプラットフォームとして AWS を選択します。
- Amazon Web Services (AWS) プロファイルをコンピューターに保存していない場合、インストールプログラムを実行するように設定したユーザーの AWS アクセスキー ID およびシークレットアクセスキーを入力します。
- クラスターのデプロイ先とする AWS リージョンを選択します。
- クラスターに設定した Route 53 サービスのベースドメインを選択します。
- クラスターの記述名を入力します。
install-config.yaml
ファイルを変更します。AWS Outposts のインストールには次の制限があり、install-config.yaml
ファイルを手動で変更する必要があります。-
ほぼ無限のスケールを提供する AWS リージョンとは異なり、AWS Outposts は、他のワークロードによってまだ消費されていないプロビジョニングされた容量、EC2 ファミリーと世代、設定されたインスタンスサイズ、およびコンピュート容量の可用性によって制限されます。したがって、新しい OpenShift Container Platform クラスターを作成する場合、設定ファイルの
compute.platform.aws.type
セクションでサポートされているインスタンスタイプを指定する必要があります。 -
AWS Outposts で実行されているリモートワーカーを使用して OpenShift Container Platform クラスターをデプロイする場合、コンピュートインスタンスに使用できるアベイラビリティーゾーンは 1 つ (Outpost インスタンスが作成されたアベイラビリティーゾーン) だけです 。したがって、新しい OpenShift Container Platform クラスターを作成する場合、コンピュートインスタンスをこのアベイラビリティーゾーンに制限するために、設定ファイルの
compute.platform.aws.zones
セクションに関連するアベイラビリティーゾーンを指定することが推奨されます。 -
Amazon Elastic Block Store (EBS) gp3 ボリュームは、AWS Outposts サービスではサポートされていません。このボリュームタイプは、OpenShift Container Platform クラスターで使用されるデフォルトのタイプです。したがって、新しい OpenShift Container Platform クラスターを作成するときは、
compute.platform.aws.rootVolume.type
セクションのボリュームタイプを gp2 に変更する必要があります。これらの値の変更方法については、以下を参照してください。
-
ほぼ無限のスケールを提供する AWS リージョンとは異なり、AWS Outposts は、他のワークロードによってまだ消費されていないプロビジョニングされた容量、EC2 ファミリーと世代、設定されたインスタンスサイズ、およびコンピュート容量の可用性によって制限されます。したがって、新しい OpenShift Container Platform クラスターを作成する場合、設定ファイルの
install-config.yaml
ファイルをバックアップし、複数のクラスターをインストールするのに使用できるようにします。重要install-config.yaml
ファイルはインストールプロセス時に使用されます。このファイルを再利用する必要がある場合は、この段階でこれをバックアップしてください。
15.8.1. AWS のカスタマイズされた install-config.yaml ファイルのサンプル
インストール設定ファイル install-config.yaml
をカスタマイズして、OpenShift Container Platform クラスターのプラットフォームに関する詳細を指定するか、必要なパラメーターの値を変更することができます。
このサンプルの YAML ファイルは参照用にのみ提供されます。インストールプログラムを使用して install-config.yaml
ファイルを取得し、これを変更する必要があります。
apiVersion: v1 baseDomain: example.com credentialsMode: Mint controlPlane: hyperthreading: Enabled name: master platform: {} replicas: 3 compute: - hyperthreading: Enabled name: worker platform: aws: type: m5.large zones: - us-east-1a rootVolume: type: gp2 size: 120 replicas: 3 metadata: name: test-cluster networking: clusterNetwork: - cidr: 10.128.0.0/14 hostPrefix: 23 machineNetwork: - cidr: 10.0.0.0/16 networkType: OVNKubernetes serviceNetwork: - 172.30.0.0/16 platform: aws: region: us-west-2 propagateUserTags: true userTags: adminContact: jdoe costCenter: 7536 subnets: - subnet-1 - subnet-2 - subnet-3 sshKey: ssh-ed25519 AAAA... pullSecret: '{"auths": ...}'
apiVersion: v1
baseDomain: example.com
credentialsMode: Mint
controlPlane:
hyperthreading: Enabled
name: master
platform: {}
replicas: 3
compute:
- hyperthreading: Enabled
name: worker
platform:
aws:
type: m5.large
zones:
- us-east-1a
rootVolume:
type: gp2
size: 120
replicas: 3
metadata:
name: test-cluster
networking:
clusterNetwork:
- cidr: 10.128.0.0/14
hostPrefix: 23
machineNetwork:
- cidr: 10.0.0.0/16
networkType: OVNKubernetes
serviceNetwork:
- 172.30.0.0/16
platform:
aws:
region: us-west-2
propagateUserTags: true
userTags:
adminContact: jdoe
costCenter: 7536
subnets:
- subnet-1
- subnet-2
- subnet-3
sshKey: ssh-ed25519 AAAA...
pullSecret: '{"auths": ...}'
- 1 11 13 17
- 必須。インストールプログラムはこの値の入力を求めるプロンプトを出します。
- 2
- オプション: Cloud Credential Operator (CCO) に指定されたモードの使用を強制するには、このパラメーターを追加します。デフォルトでは、CCO は
kube-system
namespace のルート認証情報を使用して、認証情報の機能を動的に判断しようとします。CCO モードの詳細は、認証および認可 ガイドの「Cloud Credential Operator について」セクションを参照してください。 - 3 6 14
- これらのパラメーターおよび値を指定しない場合、インストールプログラムはデフォルトの値を指定します。
- 4
controlPlane
セクションは単一マッピングですが、compute
セクションはマッピングのシーケンスになります。複数の異なるデータ構造の要件を満たすには、compute
セクションの最初の行はハイフン-
で始め、controlPlane
セクションの最初の行はハイフンで始めることができません。1 つのコントロールプレーンプールのみが使用されます。- 5 7
- 同時マルチスレッドまたは
hyperthreading
を有効/無効にするかどうか。デフォルトでは、同時スレッドはマシンのコアのパフォーマンスを上げるために有効にされます。パラメーター値をDisabled
に設定するとこれを無効にすることができます。一部のクラスターマシンで同時マルチスレッドを無効にする場合は、これをすべてのクラスターマシンで無効にする必要があります。重要同時スレッドを無効にする場合は、容量計画においてマシンパフォーマンスの大幅な低下が考慮に入れられていることを確認します。同時マルチスレッドを無効にする場合は、マシンに対して
m4.2xlarge
またはm5.2xlarge
などの大規模なインスタンスタイプを使用します。 - 8
- AWS Outpost インスタンスで実行されているコンピュートインスタンスの場合、AWS Outpost インスタンスでサポートされているインスタンスタイプを指定します。
- 9
- AWS Outpost インスタンスで実行されているコンピュートインスタンスの場合、Outpost インスタンスが配置されているアベイラビリティーゾーンを指定します。
- 10
- AWS Outpost インスタンスで実行されているコンピュートインスタンスの場合、サポートされていない gp3 ボリュームタイプの使用を避けるために、ボリュームタイプ gp2 を指定します。
- 12
- インストールするクラスターネットワークプラグイン。サポートされている値は
OVNKubernetes
とOpenShiftSDN
です。デフォルトの値はOVNkubernetes
です。 - 15
- 独自の VPC を指定する場合は、クラスターが使用する各アベイラビリティーゾーンのサブネットを指定します。
- 16
- クラスター内のマシンにアクセスするために使用する
sshKey
値をオプションで指定できます。注記インストールのデバッグまたは障害復旧を実行する必要のある実稼働用の OpenShift Container Platform クラスターでは、
ssh-agent
プロセスが使用する SSH キーを指定します。
15.8.2. 既存の AWS セキュリティーグループをクラスターに適用する
既存の AWS セキュリティーグループをコントロールプレーンとコンピュートマシンに適用すると、これらのマシンの受信トラフィックまたは送信トラフィックを制御する必要がある場合に、組織のセキュリティーニーズを満たすことができます。
前提条件
- AWS でセキュリティーグループを作成している。詳細は、セキュリティーグループ の操作に関する AWS ドキュメントを参照してください。
- セキュリティーグループは、クラスターをデプロイする既存の VPC に関連付ける必要があります。セキュリティーグループを別の VPC に関連付けることはできません。
-
既存の
install-config.yaml
ファイルがある。
手順
-
install-config.yaml
ファイルで、compute.platform.aws.additionalSecurityGroupIDs
パラメーターを編集して、コンピュートマシンに 1 つ以上のカスタムセキュリティーグループを指定します。 -
controlPlane.platform.aws.additionalSecurityGroupIDs
パラメーターを編集して、コントロールプレーンマシンに 1 つ以上のカスタムセキュリティーグループを指定します。 - ファイルを保存し、クラスターをデプロイする際に参照します。
カスタムセキュリティーグループを指定するサンプル install-config.yaml
ファイル
...
# ...
compute:
- hyperthreading: Enabled
name: worker
platform:
aws:
additionalSecurityGroupIDs:
- sg-1
- sg-2
replicas: 3
controlPlane:
hyperthreading: Enabled
name: master
platform:
aws:
additionalSecurityGroupIDs:
- sg-3
- sg-4
replicas: 3
platform:
aws:
region: us-east-1
subnets:
- subnet-1
- subnet-2
- subnet-3