This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.AWS へのインストール
OpenShift Container Platform 4.2 AWS クラスターのインストール
概要
第1章 AWS へのインストール リンクのコピーリンクがクリップボードにコピーされました!
1.1. AWS アカウントの設定 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform をインストールする前に、Amazon Web Services (AWS) アカウントを設定する必要があります。
1.1.1. Route53 の設定 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform をインストールするには、使用する Amazon Web Services (AWS) アカウントに、Route53 サービスの専用のパブリックホストゾーンが必要になります。このゾーンはドメインに対する権威を持っている必要があります。 Route53 サービスは、クラスターへの外部接続のためのクラスターの DNS 解決および名前検索を提供します。
手順
ドメイン、またはサブドメイン、およびレジストラーを特定します。既存のドメインおよびレジストラーを移行するか、または AWS または他のソースから新規のものを取得できます。
注記AWS で新規ドメインを購入する場合、関連する DNS の変更が伝播するのに時間がかかります。AWS 経由でドメインを購入する方法についての詳細は、AWS ドキュメントの「 Registering Domain Names Using Amazon Route 53 」を参照してください。
- 既存のドメインおよびレジストラーを使用している場合、その DNS を AWS に移行します。AWS ドキュメントの「Making Amazon Route 53 the DNS Service for an Existing Domain」を参照してください。
ドメインまたはサブドメインのパブリックホストゾーンを作成します。AWS ドキュメントの「Creating a Public Hosted Zone」を参照してください。
openshiftcorp.comなどのルートドメインや、clusters.openshiftcorp.comなどのサブドメインを使用します。- ホストゾーンレコードから新規の権威ネームサーバーを抽出します。AWS ドキュメントの「Getting the Name Servers for a Public Hosted Zone」を参照してください。
- ドメインが使用する AWS Route53 ネームサーバーのレジストラーレコードを更新します。たとえば、別のアカウントを使ってドメインを Route53 サービスに登録している場合は、AWS ドキュメントの「Adding or Changing Name Servers or Glue Records」のトピックを参照してください。
- サブドメインを使用する場合は、所属する会社の手順に従ってその委任レコードを親ドメインに追加します。
1.1.2. AWS アカウントの制限 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform クラスターは数多くの Amazon Web Services (AWS) コンポーネントを使用し、デフォルトのサービス制限は、OpenShift Container Platform クラスターをインストールする機能に影響を与えます。特定のクラスター設定を使用し、クラスターを特定の AWS リージョンにデプロイするか、またはアカウントを使って複数のクラスターを実行する場合、AWS アカウントの追加リソースを要求することが必要になる場合があります。
以下の表は、OpenShift Container Platform クラスターのインストールおよび実行機能に影響を与える可能性のある AWS コンポーネントの制限を要約しています。
| コンポーネント | デフォルトで利用できるクラスターの数 | デフォルトの AWS の制限 | 説明 |
|---|---|---|---|
| インスタンスの制限 | 変動あり。 | 変動あり。 | デフォルトで、各クラスターは以下のインスタンスを作成します。
これらのインスタンスタイプの数は、新規アカウントのデフォルト制限内の値です。追加のワーカーノードをデプロイし、自動スケーリングを有効にし、大規模なワークロードをデプロイするか、または異なるインスタンスタイプを使用するには、アカウントの制限を見直し、クラスターが必要なマシンをデプロイできることを確認します。
ほとんどのリージョンでは、ブートストラップおよびワーカーマシンは |
| Elastic IP (EIP) | 0 - 1 | アカウントごとに 5 つの EIP | クラスターを高可用性設定でプロビジョニングするために、インストールプログラムはそれぞれのリージョン内のアベイラビリティーゾーンにパブリックおよびプライベートのサブネットを作成します。各プライベートサブネットには NAT ゲートウェイが必要であり、各 NAT ゲートウェイには別個の Elastic IP が必要です。AWS リージョンマップを確認して、各リージョンにあるアベイラビリティーゾーンの数を判別します。デフォルトの高可用性を利用するには、少なくとも 3 つのアベイラビリティーゾーンがあるリージョンにクラスターをインストールします。アベイラビリティーゾーンが 6 つ以上あるリージョンにクラスターをインストールするには、EIP 制限を引き上げる必要があります。 重要
|
| Virtual Private Cloud (VPC) | 5 | リージョンごとに 5 つの VPC | 各クラスターは独自の VPC を作成します。 |
| Elastic Load Balancing (ELB/NLB) | 3 | リージョンごとに 20 | デフォルトで、各クラスターは、マスター API サーバーの内部および外部のネットワークロードバランサーおよびルーターの単一の Classic Elastic Load Balancer を作成します。追加の Kubernetes LoadBalancer Service オブジェクトをデプロイすると、追加のロードバランサーが作成されます。 |
| NAT ゲートウェイ | 5 | アベイラビリティゾーンごとに 5 つ | クラスターは各アベイラビリティーゾーンに 1 つの NAT ゲートウェイをデプロイします。 |
| Elastic Network Interface (ENI) | 12 以上 | リージョンごとに 350 |
デフォルトのインストールは 21 の ENI を作成し、リージョンの各アベイラビリティーゾーンに 1 つの ENI を作成します。たとえば、 追加の ENI が、クラスターの使用およびデプロイされたワークロード別に作成される追加のマシンおよび Elastic Load Balancer について作成されます。 |
| VPC ゲートウェイ | 20 | アカウントごとに 20 | 各クラスターは、S3 アクセス用の単一の VPC ゲートウェイを作成します。 |
| S3 バケット | 99 | アカウントごとに 100 バケット | インストールプロセスでは 1 つの一時的なバケットを作成し、各クラスターのレジストリーコンポーネントがバケットを作成するため、AWS アカウントごとに 99 の OpenShift Container Platform クラスターのみを作成できます。 |
| セキュリティーグループ | 250 | アカウントごとに 2,500 | 各クラスターは、10 の個別のセキュリティーグループを作成します。 |
1.1.3. 必要な AWS パーミッション リンクのコピーリンクがクリップボードにコピーされました!
AdministratorAccess ポリシーを、作成する IAM ユーザーに割り当てる場合、そのユーザーには必要なパーミッションすべてを付与します。OpenShift Container Platform クラスターをデプロイするために、IAM ユーザーに以下のパーミッションが必要になります。
インストールに必要な EC2 パーミッション
-
ec2:AllocateAddress -
ec2:AssociateAddress -
ec2:AssociateDhcpOptions -
ec2:AssociateRouteTable -
ec2:AttachInternetGateway -
ec2:AuthorizeSecurityGroupEgress -
ec2:AuthorizeSecurityGroupIngress -
ec2:CopyImage -
ec2:CreateDhcpOptions -
ec2:CreateInternetGateway -
ec2:CreateNatGateway -
ec2:CreateNetworkInterface -
ec2:CreateRoute -
ec2:CreateRouteTable -
ec2:CreateSecurityGroup -
ec2:CreateSubnet -
ec2:CreateTags -
ec2:CreateVpc -
ec2:CreateVpcEndpoint -
ec2:CreateVolume -
ec2:DeleteSnapshot -
ec2:DeregisterImage -
ec2:DescribeAccountAttributes -
ec2:DescribeAddresses -
ec2:DescribeAvailabilityZones -
ec2:DescribeDhcpOptions -
ec2:DescribeImages -
ec2:DescribeInstanceAttribute -
ec2:DescribeInstanceCreditSpecifications -
ec2:DescribeInstances -
ec2:DescribeInternetGateways -
ec2:DescribeKeyPairs -
ec2:DescribeNatGateways -
ec2:DescribeNetworkAcls -
ec2:DescribePrefixLists -
ec2:DescribeRegions -
ec2:DescribeRouteTables -
ec2:DescribeSecurityGroups -
ec2:DescribeSubnets -
ec2:DescribeTags -
ec2:DescribeVpcEndpoints -
ec2:DescribeVpcs -
ec2:DescribeVpcAttribute -
ec2:DescribeVolumes -
ec2:DescribeVpcClassicLink -
ec2:DescribeVpcClassicLinkDnsSupport -
ec2:ModifyInstanceAttribute -
ec2:ModifySubnetAttribute -
ec2:ModifyVpcAttribute -
ec2:RevokeSecurityGroupEgress -
ec2:RunInstances -
ec2:TerminateInstances -
ec2:DeleteDhcpOptions -
ec2:DeleteRoute -
ec2:RevokeSecurityGroupIngress -
ec2:DisassociateRouteTable -
ec2:ReplaceRouteTableAssociation -
ec2:DeleteRouteTable -
ec2:DeleteSubnet -
ec2:DescribeNetworkInterfaces -
ec2:ModifyNetworkInterfaceAttribute -
ec2:DeleteNatGateway -
ec2:DeleteSecurityGroup -
ec2:DetachInternetGateway -
ec2:DeleteInternetGateway -
ec2:ReleaseAddress -
ec2:DeleteVpc
インストールに必要な Elasticloadbalancing パーミッション
-
elasticloadbalancing:AddTags -
elasticloadbalancing:ApplySecurityGroupsToLoadBalancer -
elasticloadbalancing:AttachLoadBalancerToSubnets -
elasticloadbalancing:CreateListener -
elasticloadbalancing:CreateLoadBalancer -
elasticloadbalancing:CreateLoadBalancerListeners -
elasticloadbalancing:CreateTargetGroup -
elasticloadbalancing:ConfigureHealthCheck -
elasticloadbalancing:DeleteLoadBalancer -
elasticloadbalancing:DeregisterInstancesFromLoadBalancer -
elasticloadbalancing:DeregisterTargets -
elasticloadbalancing:DescribeInstanceHealth -
elasticloadbalancing:DescribeListeners -
elasticloadbalancing:DescribeLoadBalancers -
elasticloadbalancing:DescribeLoadBalancerAttributes -
elasticloadbalancing:DescribeTags -
elasticloadbalancing:DescribeTargetGroupAttributes -
elasticloadbalancing:DescribeTargetHealth -
elasticloadbalancing:ModifyLoadBalancerAttributes -
elasticloadbalancing:ModifyTargetGroup -
elasticloadbalancing:ModifyTargetGroupAttributes -
elasticloadbalancing:RegisterTargets -
elasticloadbalancing:RegisterInstancesWithLoadBalancer -
elasticloadbalancing:SetLoadBalancerPoliciesOfListener
インストールに必要な IAM パーミッション
-
iam:AddRoleToInstanceProfile -
iam:CreateInstanceProfile -
iam:CreateRole -
iam:DeleteInstanceProfile -
iam:DeleteRole -
iam:DeleteRolePolicy -
iam:GetInstanceProfile -
iam:GetRole -
iam:GetRolePolicy -
iam:GetUser -
iam:ListInstanceProfilesForRole -
iam:ListRoles -
iam:ListUsers -
iam:PassRole -
iam:PutRolePolicy -
iam:RemoveRoleFromInstanceProfile -
iam:SimulatePrincipalPolicy -
iam:TagRole
インストールに必要な Route53 パーミッション
-
route53:ChangeResourceRecordSets -
route53:ChangeTagsForResource -
route53:GetChange -
route53:GetHostedZone -
route53:CreateHostedZone -
route53:DeleteHostedZone -
route53:ListHostedZones -
route53:ListHostedZonesByName -
route53:ListResourceRecordSets -
route53:ListTagsForResource -
route53:UpdateHostedZoneComment
インストールに必要な S3 パーミッション
-
s3:CreateBucket -
s3:DeleteBucket -
s3:GetAccelerateConfiguration -
s3:GetBucketCors -
s3:GetBucketLocation -
s3:GetBucketLogging -
s3:GetBucketObjectLockConfiguration -
s3:GetBucketReplication -
s3:GetBucketRequestPayment -
s3:GetBucketTagging -
s3:GetBucketVersioning -
s3:GetBucketWebsite -
s3:GetEncryptionConfiguration -
s3:GetLifecycleConfiguration -
s3:GetReplicationConfiguration -
s3:ListBucket -
s3:PutBucketAcl -
s3:PutBucketTagging -
s3:PutEncryptionConfiguration
クラスター Operator が必要とする S3 パーミッション
-
s3:PutObject -
s3:PutObjectAcl -
s3:PutObjectTagging -
s3:GetObject -
s3:GetObjectAcl -
s3:GetObjectTagging -
s3:GetObjectVersion -
s3:DeleteObject
クラスターのアンインストールに必要な追加のすべてのパーミッション
-
autoscaling:DescribeAutoScalingGroups -
ec2:DeleteNetworkInterface -
ec2:DeleteVolume -
ec2:DeleteVpcEndpoints -
elasticloadbalancing:DescribeTargetGroups -
elasticloadbalancing:DeleteTargetGroup -
iam:ListInstanceProfiles -
iam:ListRolePolicies -
iam:ListUserPolicies -
tag:GetResources
マニフェストの作成に必要な追加の IAM および S3 パーミッション
-
iam:CreateAccessKey -
iam:CreateUser -
iam:DeleteAccessKey -
iam:DeleteUser -
iam:DeleteUserPolicy -
iam:GetUserPolicy -
iam:ListAccessKeys -
iam:PutUserPolicy -
iam:TagUser -
iam:GetUserPolicy -
iam:ListAccessKeys -
s3:PutBucketPublicAccessBlock -
s3:GetBucketPublicAccessBlock -
s3:PutLifecycleConfiguration -
s3:HeadBucket -
s3:ListBucketMultipartUploads -
s3:AbortMultipartUpload
1.1.4. IAM ユーザーの作成 リンクのコピーリンクがクリップボードにコピーされました!
各 Amazon Web Services (AWS) アカウントには、アカウントの作成に使用するメールアドレスに基づく root ユーザーアカウントが含まれます。これは高度な権限が付与されたアカウントであり、初期アカウントにのみ使用し、請求設定また初期のユーザーセットの作成およびアカウントのセキュリティー保護のために使用することが推奨されています。
OpenShift Container Platform をインストールする前に、セカンダリー IAM 管理ユーザーを作成します。AWS ドキュメントの「Creating an IAM User in Your AWS Account」手順を実行する際に、以下のオプションを設定します。
手順
-
IAM ユーザー名を指定し、
Programmatic accessを選択します。 AdministratorAccessポリシーを割り当て、アカウントにクラスターを作成するために十分なパーミッションがあることを確認します。このポリシーはクラスターに対し、各 OpenShift Container Platform コンポーネントに認証情報を付与する機能を提供します。クラスターはコンポーネントに対し、それらが必要とする認証情報のみを付与します。注記必要なすべての AWS パーミッションを付与し、これをユーザーに割り当てるポリシーを作成することは可能ですが、これは優先されるオプションではありません。クラスターには追加の認証情報を個別コンポーネントに付与する機能がないため、同じ認証情報がすべてのコンポーネントによって使用されます。
- オプション: タグを割り当て、メタデータをユーザーに追加します。
-
指定したユーザー名に
AdministratorAccessポリシーが付与されていることを確認します。 アクセスキー ID およびシークレットアクセスキーの値を記録します。ローカルマシンをインストールプログラムを実行するように設定する際にこれらの値を使用する必要があります。
重要クラスターのデプロイ時に、マルチファクター認証デバイスの使用中に生成した一時的なセッショントークンを使用して AWS に対する認証を行うことはできません。クラスターは継続的に現行の AWS 認証情報を使用して、クラスターの有効期間全体にわたって AWS リソースを作成するため、キーをベースとした有効期間の長い認証情報を使用する必要があります。
1.1.5. サポートされている AWS リージョン リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform クラスターを以下のリージョンにデプロイできます。
- ap-northeast-1 (Tokyo)
- ap-northeast-2 (Seoul)
- ap-south-1 (Mumbai)
- ap-southeast-1 (Singapore)
- ap-southeast-2 (Sydney)
- ca-central-1 (Central)
- eu-central-1 (Frankfurt)
- eu-north-1 (Stockholm)
- eu-west-1 (Ireland)
- eu-west-2 (London)
- eu-west-3 (Paris)
- sa-east-1 (São Paulo)
- us-east-1 (N. Virginia)
- us-east-2 (Ohio)
- us-west-1 (N. California)
- us-west-2 (Oregon)
次のステップ
OpenShift Container Platform クラスターをインストールします。
1.2. クラスターの AWS へのクイックインストール リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform バージョン 4.2 では、デフォルトの設定オプションを使用してクラスターを Amazon Web Services (AWS) にインストールできます。
前提条件
- OpenShift Container Platform のインストールおよび更新プロセスについての詳細を確認します。
AWS アカウントを設定してクラスターをホストします。
重要AWS プロファイルがご使用のコンピューターに保存されている場合、マルチファクター認証デバイスを使用中に生成した一時的なセッショントークンを使用することはできません。クラスターは継続的に現行の AWS 認証情報を使用して、クラスターの有効期間全体にわたって AWS リソースを作成するため、キーをベースとした有効期間の長い認証情報を使用する必要があります。適切なキーを生成するには、AWS ドキュメントの「Managing Access Keys for IAM Users」を参照してください。キーは、インストールプログラムの実行時に指定できます。
- ファイアウォールを使用する場合、クラスターがアクセスを必要とするサイトを許可するようにファイアウォールを設定する必要があります。
1.2.1. OpenShift Container Platform のインターネットアクセスおよび Telemetry アクセス リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform 4.2 では、クラスターをインストールするためにインターネットアクセスが必要になります。クラスターの健全性および正常に実行された更新についてのメトリクスを提供するためにデフォルトで実行される Telemetry サービスにもインターネットアクセスが必要です。クラスターがインターネットに接続されている場合、Telemetry は自動的に実行され、クラスターは Red Hat OpenShift Cluster Manager (OCM) に登録されます。
Red Hat OpenShift Cluster Manager インベントリーが Telemetry によって自動的に維持されるか、または OCM を手動で使用しているかのいずれによって正常であることを確認した後に、subscription watch を使用して、アカウントまたはマルチクラスターレベルで OpenShift Container Platform サブスクリプションを追跡します。
インターネットへのアクセスは以下を実行するために必要です。
- Red Hat OpenShift Cluster Manager ページにアクセスし、インストールプログラムをダウンロードし、サブスクリプション管理を実行します。クラスターにインターネットアクセスがあり、Telemetry を無効にしない場合、そのサービスは有効なサブスクリプションでクラスターを自動的に使用します。
- クラスターのインストールに必要なパッケージを取得するために Quay.io にアクセスします。
- クラスターの更新を実行するために必要なパッケージを取得します。
クラスターでインターネットに直接アクセスできない場合、プロビジョニングする一部のタイプのインフラストラクチャーでネットワークが制限されたインストールを実行できます。このプロセスで、必要なコンテンツをダウンロードし、これを使用してミラーレジストリーにクラスターのインストールおよびインストールプログラムの生成に必要なパッケージを設定します。 インストールタイプによっては、クラスターのインストール環境でインターネットアクセスが不要となる場合があります。クラスターを更新する前に、ミラーレジストリーのコンテンツを更新します。
1.2.2. SSH プライベートキーの生成およびエージェントへの追加 リンクのコピーリンクがクリップボードにコピーされました!
クラスターでインストールのデバッグまたは障害復旧を実行する必要がある場合、ssh-agent とインストールプログラムの両方に SSH キーを指定する必要があります。
実稼働環境では、障害復旧およびデバッグが必要です。
このキーを使用して、ユーザー core としてマスターノードに対して SSH を実行できます。クラスターをデプロイする際に、キーは core ユーザーの ~/.ssh/authorized_keys 一覧に追加されます。
AWS キーペアなどのプラットフォームに固有の方法で設定したキーではなく、ローカルキーを使用する必要があります。
手順
パスワードなしの認証に設定されている SSH キーがコンピューター上にない場合は、これを作成します。たとえば、Linux オペレーティングシステムを使用するコンピューターで以下のコマンドを実行します。
ssh-keygen -t rsa -b 4096 -N '' \ -f <path>/<file_name>$ ssh-keygen -t rsa -b 4096 -N '' \ -f <path>/<file_name>1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
~/.ssh/id_rsaなどの、SSH キーのパスおよびファイル名を指定します。
このコマンドを実行すると、指定した場所にパスワードを必要としない SSH キーが生成されます。
ssh-agentプロセスをバックグラウンドタスクとして開始します。eval "$(ssh-agent -s)" Agent pid 31874
$ eval "$(ssh-agent -s)" Agent pid 31874Copy to Clipboard Copied! Toggle word wrap Toggle overflow SSH プライベートキーを
ssh-agentに追加します。ssh-add <path>/<file_name> Identity added: /home/<you>/<path>/<file_name> (<computer_name>)
$ ssh-add <path>/<file_name>1 Identity added: /home/<you>/<path>/<file_name> (<computer_name>)Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
~/.ssh/id_rsaなどの、SSH プライベートキーのパスおよびファイル名を指定します。
次のステップ
- OpenShift Container Platform をインストールする際に、SSH パブリックキーをインストールプログラムに指定します。
1.2.3. インストールプログラムの取得 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform をインストールする前に、インストールファイルを
ローカルコンピューターにダウンロードします。
前提条件
- Linux または macOS を使用するコンピューターからクラスターをインストールする必要があります。
- インストールプログラムをダウンロードするには、500 MB のローカルディスク領域が必要です。
手順
- Red Hat OpenShift Cluster Manager サイトの「Infrastructure Provider」ページにアクセスします。Red Hat アカウントがある場合は、認証情報を使ってログインします。アカウントがない場合はこれを作成します。
選択するインストールタイプのページに移動し、オペレーティングシステムのインストールプログラムをダウンロードし、ファイルをインストール設定ファイルを保存するディレクトリーに配置します。
重要インストールプログラムは、クラスターのインストールに使用するコンピューターにいくつかのファイルを作成します。クラスターインストールの完了後は、インストールプログラムおよびインストールプログラムが作成するファイルの両方を保持する必要があります。
インストールプログラムを展開します。たとえば、Linux オペレーティングシステムを使用するコンピューターで以下のコマンドを実行します。
tar xvf <installation_program>.tar.gz
$ tar xvf <installation_program>.tar.gzCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
Red Hat OpenShift Cluster Manager サイトの「Pull Secret」ページから、インストールプルシークレットを
.txtファイルとしてダウンロードします。このプルシークレットを使用し、OpenShift Container Platform コンポーネントのコンテナーイメージを提供する、Quay.io などの組み込まれた各種の認証局によって提供されるサービスで認証できます。
1.2.4. クラスターのデプロイ リンクのコピーリンクがクリップボードにコピーされました!
互換性のあるクラウドプラットフォームに 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 重要空のディレクトリーを指定します。ブートストラップ X.509 証明書などの一部のインストールアセットの有効期限は短く設定されているため、インストールディレクトリーを再利用することができません。別のクラスターインストールの個別のファイルを再利用する必要がある場合は、それらをディレクトリーにコピーすることができます。ただし、インストールアセットのファイル名はリリース間で変更される可能性があります。インストールファイルを以前のバージョンの OpenShift Container Platform からコピーする場合は注意してコピーを行ってください。
プロンプト時に値を指定します。
オプション: クラスターマシンにアクセスするために使用する SSH キーを選択します。
注記インストールのデバッグまたは障害復旧を実行する必要のある実稼働用の OpenShift Container Platform クラスターでは、
ssh-agentプロセスが使用する SSH キーを指定します。- ターゲットに設定するプラットフォームとして aws を選択します。
- Amazon Web Services (AWS) プロファイルをコンピューターに保存していない場合、インストールプログラムを実行するように設定したユーザーの AWS アクセスキー ID およびシークレットアクセスキーを入力します。
- クラスターのデプロイ先とする AWS リージョンを選択します。
- クラスターに設定した Route53 サービスのベースドメインを選択します。
- クラスターの記述名を入力します。
- Red Hat OpenShift Cluster Manager サイトの「Pull Secret」ページから取得したプルシークレットを貼り付けます。
注記ホストに設定した AWS アカウントにクラスターをデプロイするための十分なパーミッションがない場合、インストールプログラムは停止し、不足しているパーミッションが表示されます。
クラスターのデプロイメントが完了すると、Web コンソールへのリンクや
kubeadminユーザーの認証情報を含む、クラスターにアクセスするための指示がターミナルに表示されます。重要インストールプログラムが生成する Ignition 設定ファイルには、24 時間が経過すると期限切れになる証明書が含まれます。最初の証明書のローテーションが正常に実行されるようにするには、クラスターを動作が低下していない状態で 24 時間実行し続ける必要があります。
重要インストールプログラム、またはインストールプログラムが作成するファイルを削除することはできません。これらはいずれもクラスターを削除するために必要になります。
-
オプション: クラスターのインストールに使用した IAM アカウントから
AdministratorAccessポリシーを削除するか、または無効にします。
1.2.5. CLI のインストール リンクのコピーリンクがクリップボードにコピーされました!
コマンドラインインターフェースを使用して OpenShift Container Platform と対話するために CLI をインストールすることができます。
以前のバージョンの oc をインストールしている場合、これを使用して OpenShift Container Platform 4.2 のすべてのコマンドを実行することはできません。新規バージョンの ocをダウンロードし、インストールします。
手順
- Red Hat OpenShift Cluster Manager サイトの Infrastructure Provider ページから、選択するインストールタイプのページに移動し、Download Command-line Tools をクリックします。
オペレーティングシステムおよびアーキテクチャーのフォルダーをクリックしてから、圧縮されたファイルをクリックします。
注記ocは Linux、Windows、または macOS にインストールできます。- ファイルをファイルシステムに保存します。
- 圧縮ファイルを展開します。
-
これを
PATHにあるディレクトリーに配置します。
CLI のインストール後は、oc コマンドを使用して利用できます。
oc <command>
$ oc <command>
1.2.6. クラスターへのログイン リンクのコピーリンクがクリップボードにコピーされました!
クラスター 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 system:admin
$ oc whoami system:adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow
次のステップ
- クラスターをカスタマイズします。
- 必要な場合は、リモートの健全性レポートをオプトアウトすることができます。
1.3. カスタマイズによる AWS へのクラスターのインストール リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform バージョン 4.2 では、インストールプログラムが Amazon Web Services (AWS) にプロビジョニングするインフラストラクチャーにカスタマイズされたクラスターをインストールできます。インストールをカスタマイズするには、クラスターをインストールする前に、install-config.yaml ファイルでパラメーターを変更します。
前提条件
- OpenShift Container Platform のインストールおよび更新プロセスについての詳細を確認します。
AWS アカウントを設定してクラスターをホストします。
重要AWS プロファイルがご使用のコンピューターに保存されている場合、マルチファクター認証デバイスを使用中に生成した一時的なセッショントークンを使用することはできません。クラスターは継続的に現行の AWS 認証情報を使用して、クラスターの有効期間全体にわたって AWS リソースを作成するため、有効期間の長い認証情報を使用する必要があります。適切なキーを生成するには、AWS ドキュメントの「Managing Access Keys for IAM Users」を参照してください。キーは、インストールプログラムの実行時に指定できます。
- ファイアウォールを使用する場合、クラスターがアクセスを必要とするサイトを許可するようにファイアウォールを設定する必要があります。
1.3.1. OpenShift Container Platform のインターネットアクセスおよび Telemetry アクセス リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform 4.2 では、クラスターをインストールするためにインターネットアクセスが必要になります。クラスターの健全性および正常に実行された更新についてのメトリクスを提供するためにデフォルトで実行される Telemetry サービスにもインターネットアクセスが必要です。クラスターがインターネットに接続されている場合、Telemetry は自動的に実行され、クラスターは Red Hat OpenShift Cluster Manager (OCM) に登録されます。
Red Hat OpenShift Cluster Manager インベントリーが Telemetry によって自動的に維持されるか、または OCM を手動で使用しているかのいずれによって正常であることを確認した後に、subscription watch を使用して、アカウントまたはマルチクラスターレベルで OpenShift Container Platform サブスクリプションを追跡します。
インターネットへのアクセスは以下を実行するために必要です。
- Red Hat OpenShift Cluster Manager ページにアクセスし、インストールプログラムをダウンロードし、サブスクリプション管理を実行します。クラスターにインターネットアクセスがあり、Telemetry を無効にしない場合、そのサービスは有効なサブスクリプションでクラスターを自動的に使用します。
- クラスターのインストールに必要なパッケージを取得するために Quay.io にアクセスします。
- クラスターの更新を実行するために必要なパッケージを取得します。
クラスターでインターネットに直接アクセスできない場合、プロビジョニングする一部のタイプのインフラストラクチャーでネットワークが制限されたインストールを実行できます。このプロセスで、必要なコンテンツをダウンロードし、これを使用してミラーレジストリーにクラスターのインストールおよびインストールプログラムの生成に必要なパッケージを設定します。 インストールタイプによっては、クラスターのインストール環境でインターネットアクセスが不要となる場合があります。クラスターを更新する前に、ミラーレジストリーのコンテンツを更新します。
1.3.2. SSH プライベートキーの生成およびエージェントへの追加 リンクのコピーリンクがクリップボードにコピーされました!
クラスターでインストールのデバッグまたは障害復旧を実行する必要がある場合、ssh-agent とインストールプログラムの両方に SSH キーを指定する必要があります。
実稼働環境では、障害復旧およびデバッグが必要です。
このキーを使用して、ユーザー core としてマスターノードに対して SSH を実行できます。クラスターをデプロイする際に、キーは core ユーザーの ~/.ssh/authorized_keys 一覧に追加されます。
AWS キーペアなどのプラットフォームに固有の方法で設定したキーではなく、ローカルキーを使用する必要があります。
手順
パスワードなしの認証に設定されている SSH キーがコンピューター上にない場合は、これを作成します。たとえば、Linux オペレーティングシステムを使用するコンピューターで以下のコマンドを実行します。
ssh-keygen -t rsa -b 4096 -N '' \ -f <path>/<file_name>$ ssh-keygen -t rsa -b 4096 -N '' \ -f <path>/<file_name>1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
~/.ssh/id_rsaなどの、SSH キーのパスおよびファイル名を指定します。
このコマンドを実行すると、指定した場所にパスワードを必要としない SSH キーが生成されます。
ssh-agentプロセスをバックグラウンドタスクとして開始します。eval "$(ssh-agent -s)" Agent pid 31874
$ eval "$(ssh-agent -s)" Agent pid 31874Copy to Clipboard Copied! Toggle word wrap Toggle overflow SSH プライベートキーを
ssh-agentに追加します。ssh-add <path>/<file_name> Identity added: /home/<you>/<path>/<file_name> (<computer_name>)
$ ssh-add <path>/<file_name>1 Identity added: /home/<you>/<path>/<file_name> (<computer_name>)Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
~/.ssh/id_rsaなどの、SSH プライベートキーのパスおよびファイル名を指定します。
次のステップ
- OpenShift Container Platform をインストールする際に、SSH パブリックキーをインストールプログラムに指定します。
1.3.3. インストールプログラムの取得 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform をインストールする前に、インストールファイルを
ローカルコンピューターにダウンロードします。
前提条件
- Linux または macOS を使用するコンピューターからクラスターをインストールする必要があります。
- インストールプログラムをダウンロードするには、500 MB のローカルディスク領域が必要です。
手順
- Red Hat OpenShift Cluster Manager サイトの「Infrastructure Provider」ページにアクセスします。Red Hat アカウントがある場合は、認証情報を使ってログインします。アカウントがない場合はこれを作成します。
選択するインストールタイプのページに移動し、オペレーティングシステムのインストールプログラムをダウンロードし、ファイルをインストール設定ファイルを保存するディレクトリーに配置します。
重要インストールプログラムは、クラスターのインストールに使用するコンピューターにいくつかのファイルを作成します。クラスターインストールの完了後は、インストールプログラムおよびインストールプログラムが作成するファイルの両方を保持する必要があります。
インストールプログラムを展開します。たとえば、Linux オペレーティングシステムを使用するコンピューターで以下のコマンドを実行します。
tar xvf <installation_program>.tar.gz
$ tar xvf <installation_program>.tar.gzCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
Red Hat OpenShift Cluster Manager サイトの「Pull Secret」ページから、インストールプルシークレットを
.txtファイルとしてダウンロードします。このプルシークレットを使用し、OpenShift Container Platform コンポーネントのコンテナーイメージを提供する Quay.io など、組み込まれた各種の認証局によって提供されるサービスで認証できます。
1.3.4. インストール設定ファイルの作成 リンクのコピーリンクがクリップボードにコピーされました!
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! Toggle word wrap Toggle overflow - 1
<installation_directory>には、インストールプログラムが作成するファイルを保存するためにディレクトリー名を指定します。
重要空のディレクトリーを指定します。ブートストラップ X.509 証明書などの一部のインストールアセットの有効期限は短く設定されているため、インストールディレクトリーを再利用することができません。別のクラスターインストールの個別のファイルを再利用する必要がある場合は、それらをディレクトリーにコピーすることができます。ただし、インストールアセットのファイル名はリリース間で変更される可能性があります。インストールファイルを以前のバージョンの OpenShift Container Platform からコピーする場合は注意してコピーを行ってください。
プロンプト時に、クラウドの設定の詳細情報を指定します。
オプション: クラスターマシンにアクセスするために使用する SSH キーを選択します。
注記インストールのデバッグまたは障害復旧を実行する必要のある実稼働用の OpenShift Container Platform クラスターでは、
ssh-agentプロセスが使用する SSH キーを指定します。- ターゲットに設定するプラットフォームとして AWS を選択します。
- Amazon Web Services (AWS) プロファイルをコンピューターに保存していない場合、インストールプログラムを実行するように設定したユーザーの AWS アクセスキー ID およびシークレットアクセスキーを入力します。
- クラスターのデプロイ先とする AWS リージョンを選択します。
- クラスターに設定した Route53 サービスのベースドメインを選択します。
- クラスターの記述名を入力します。
- Red Hat OpenShift Cluster Manager サイトの「Pull Secret」ページから取得したプルシークレットを貼り付けます。
-
install-config.yamlファイルを変更します。利用可能なパラメーターの詳細については、「インストール設定パラメーター」セクションを参照してください。 install-config.yamlファイルをバックアップし、これを複数のクラスターをインストールするために使用できるようにします。重要install-config.yamlファイルはインストールプロセス時に使用されます。このファイルを再利用する必要がある場合は、この段階でこれをバックアップしてください。
1.3.4.1. インストール設定パラメーター リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform クラスターをデプロイする前に、クラスターをホストするクラウドプラットフォームでアカウントを記述し、クラスターのプラットフォームをオプションでカスタマイズするためにパラメーターの値を指定します。 install-config.yaml インストール設定ファイルを作成する際に、コマンドラインで必要なパラメーターの値を指定します。クラスターをカスタマイズする場合、install-config.yaml ファイルを変更して、プラットフォームについての詳細情報を指定できます。
インストール後は、install-config.yaml ファイルでこれらのパラメーターを変更することはできません。
| パラメーター | 説明 | 値 |
|---|---|---|
|
|
クラウドプロバイダーのベースドメイン。この値は、OpenShift Container Platform クラスターコンポーネントへのルートを作成するために使用されます。クラスターの完全な DNS 名は、 |
|
|
|
コントロールプレーンマシンをホストするためのクラウドプロバイダー。このパラメーターの値は |
|
|
|
ワーカーマシンをホストするためのクラウドプロバイダー。このパラメーターの値は |
|
|
| クラスターの名前。 |
|
|
| クラスターをデプロイするリージョン。 |
AWS の |
|
| Red Hat OpenShift Cluster Manager サイトの「Pull Secret」ページから取得したプルシークレット。このプルシークレットを使用し、OpenShift Container Platform コンポーネントのコンテナーイメージを提供する、Quay.io などの組み込まれた各種の認証局によって提供されるサービスで認証できます。 |
|
| パラメーター | 説明 | 値 |
|---|---|---|
|
| クラスターマシンにアクセスするために使用する SSH キー。 注記
インストールのデバッグまたは障害復旧を実行する必要のある実稼働用の OpenShift Container Platform クラスターでは、 |
|
|
|
コンピュートマシンで同時マルチスレッドまたは 重要 同時スレッドを無効にする場合は、容量計画においてマシンパフォーマンスの大幅な低下が考慮に入れられていることを確認します。 |
|
|
| プロビジョニングするコンピュートマシン(ワーカーマシンとしても知られる)の数。 |
|
|
|
コントロールプレーンマシンで同時マルチスレッドまたは 重要 同時スレッドを無効にする場合は、容量計画においてマシンパフォーマンスの大幅な低下が考慮に入れられていることを確認します。 |
|
|
| プロビジョニングするコントロールプレーンマシンの数。 |
|
| パラメーター | 説明 | 値 |
|---|---|---|
|
| ルートボリュームに予約される 1 秒あたりの入出力操作 (IOPS)。 |
整数 (例: |
|
| ルートボリュームのサイズ (GiB)。 |
整数 (例: |
|
| ルートボリュームのインスタンスタイプ。 |
有効な AWS EBS インスタンスタイプ (例: |
|
| コンピュートマシンの EC2 インスタンスタイプ。 |
有効な AWS インスタンスタイプ (例: |
|
| インストールプログラムがコンピュート MachinePool のマシンを作成するアベイラビリティーゾーン。 |
|
|
| インストールプログラムがコンピュートリソースを作成する AWS リージョン。 |
有効な AWS リージョン (例: |
|
| コントロールプレーンマシンの EC2 インスタンスタイプ。 |
有効な AWS インスタンスタイプ (例: |
|
| インストールプログラムがコントロールプレーン MachinePool のマシンを作成するアベイラビリティーゾーン。 |
|
|
| インストールプログラムがコントロールプレーンのリソースを作成する AWS リージョン。 |
有効な AWS リージョン (例: |
|
| インストールプログラムが、作成するすべてのリソースに対するタグとして追加するキーと値のマップ。 |
|
1.3.4.2. AWS のカスタマイズされた install-config.yaml ファイルのサンプル リンクのコピーリンクがクリップボードにコピーされました!
install-config.yaml ファイルをカスタマイズして、OpenShift Container Platform クラスターのプラットフォームについての詳細を指定するか、または必要なパラメーターの値を変更することができます。
このサンプルの YAML ファイルは参照用にのみ提供されます。インストールプログラムを使用して install-config.yaml ファイルを取得し、これを変更する必要があります。
- 1 9 10 11
- 必須。インストールプログラムはこの値の入力を求めるプロンプトを出します。
- 2 6
- これらのパラメーターおよび値を指定しない場合、インストールプログラムはデフォルトの値を指定します。
- 3 7
controlPlaneセクションは単一マッピングですが、コンピュートセクションはマッピングのシーケンスになります。複数の異なるデータ構造の要件を満たすには、computeセクションの最初の行はハイフン-で始め、controlPlaneセクションの最初の行はハイフンで始めることができません。どちらのセクションも、現時点では単一のマシンプールを定義しますが、OpenShift Container Platform の今後のバージョンでは、インストール時の複数のコンピュートプールの定義をサポートする可能性があります。1 つのコントロールプレーンプールのみが使用されます。- 4 5
- 同時マルチスレッドまたは
hyperthreadingを有効/無効にするかどうか。デフォルトでは、同時スレッドはマシンのコアのパフォーマンスを上げるために有効にされます。パラメーター値をDisabledに設定するとこれを無効にすることができます。一部のクラスターマシンで同時マルチスレッドを無効にする場合は、これをすべてのクラスターマシンで無効にする必要があります。重要同時スレッドを無効にする場合は、容量計画においてマシンパフォーマンスの大幅な低下が考慮に入れられていることを確認します。同時マルチスレッドを無効にする場合は、マシンに対して
m4.2xlargeまたはm5.2xlargeなどの大規模なインスタンスタイプを使用します。 - 8
- 大規模なクラスターの場合などに etcd の高速のストレージを設定するには、ストレージタイプを
io1として設定し、iopsを2000に設定します。 - 12
- クラスター内のマシンにアクセスするために使用する
sshKey値をオプションで指定できます。注記インストールのデバッグまたは障害復旧を実行する必要のある実稼働用の OpenShift Container Platform クラスターでは、
ssh-agentプロセスが使用する SSH キーを指定します。
1.3.5. クラスターのデプロイ リンクのコピーリンクがクリップボードにコピーされました!
互換性のあるクラウドプラットフォームに 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 重要空のディレクトリーを指定します。ブートストラップ X.509 証明書などの一部のインストールアセットの有効期限は短く設定されているため、インストールディレクトリーを再利用することができません。別のクラスターインストールの個別のファイルを再利用する必要がある場合は、それらをディレクトリーにコピーすることができます。ただし、インストールアセットのファイル名はリリース間で変更される可能性があります。インストールファイルを以前のバージョンの OpenShift Container Platform からコピーする場合は注意してコピーを行ってください。
プロンプト時に値を指定します。
オプション: クラスターマシンにアクセスするために使用する SSH キーを選択します。
注記インストールのデバッグまたは障害復旧を実行する必要のある実稼働用の OpenShift Container Platform クラスターでは、
ssh-agentプロセスが使用する SSH キーを指定します。- ターゲットに設定するプラットフォームとして aws を選択します。
- Amazon Web Services (AWS) プロファイルをコンピューターに保存していない場合、インストールプログラムを実行するように設定したユーザーの AWS アクセスキー ID およびシークレットアクセスキーを入力します。
- クラスターのデプロイ先とする AWS リージョンを選択します。
- クラスターに設定した Route53 サービスのベースドメインを選択します。
- クラスターの記述名を入力します。
- Red Hat OpenShift Cluster Manager サイトの「Pull Secret」ページから取得したプルシークレットを貼り付けます。
注記ホストに設定した AWS アカウントにクラスターをデプロイするための十分なパーミッションがない場合、インストールプログラムは停止し、不足しているパーミッションが表示されます。
クラスターのデプロイメントが完了すると、Web コンソールへのリンクや
kubeadminユーザーの認証情報を含む、クラスターにアクセスするための指示がターミナルに表示されます。重要インストールプログラムが生成する Ignition 設定ファイルには、24 時間が経過すると期限切れになる証明書が含まれます。最初の証明書のローテーションが正常に実行されるようにするには、クラスターを動作が低下していない状態で 24 時間実行し続ける必要があります。
重要インストールプログラム、またはインストールプログラムが作成するファイルを削除することはできません。これらはいずれもクラスターを削除するために必要になります。
-
オプション: クラスターのインストールに使用した IAM アカウントから
AdministratorAccessポリシーを削除するか、または無効にします。
1.3.6. CLI のインストール リンクのコピーリンクがクリップボードにコピーされました!
コマンドラインインターフェースを使用して OpenShift Container Platform と対話するために CLI をインストールすることができます。
以前のバージョンの oc をインストールしている場合、これを使用して OpenShift Container Platform 4.2 のすべてのコマンドを実行することはできません。新規バージョンの ocをダウンロードし、インストールします。
手順
- Red Hat OpenShift Cluster Manager サイトの Infrastructure Provider ページから、選択するインストールタイプのページに移動し、Download Command-line Tools をクリックします。
オペレーティングシステムおよびアーキテクチャーのフォルダーをクリックしてから、圧縮されたファイルをクリックします。
注記ocは Linux、Windows、または macOS にインストールできます。- ファイルをファイルシステムに保存します。
- 圧縮ファイルを展開します。
-
これを
PATHにあるディレクトリーに配置します。
CLI のインストール後は、oc コマンドを使用して利用できます。
oc <command>
$ oc <command>
1.3.7. クラスターへのログイン リンクのコピーリンクがクリップボードにコピーされました!
クラスター 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 system:admin
$ oc whoami system:adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow
次のステップ
- クラスターをカスタマイズします。
- 必要な場合は、リモートの健全性レポートをオプトアウトすることができます。
1.4. ネットワークのカスタマイズによる AWS へのクラスターのインストール リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform バージョン 4.2 では、カスタマイズされたネットワーク設定オプションでクラスターを Amazon Web Services (AWS) にインストールできます。ネットワーク設定をカスタマイズすることにより、クラスターは環境内の既存の IP アドレスの割り当てと共存でき、既存の MTU および VXLAN 設定と統合できます。
大半のネットワーク設定パラメーターはインストール時に設定する必要があり、実行中のクラスターで変更できるのは kubeProxy 設定パラメーターのみになります。
前提条件
- OpenShift Container Platform のインストールおよび更新プロセスについての詳細を確認します。
AWS アカウントを設定してクラスターをホストします。
重要AWS プロファイルがご使用のコンピューターに保存されている場合、マルチファクター認証デバイスを使用中に生成した一時的なセッショントークンを使用することはできません。クラスターは継続的に現行の AWS 認証情報を使用して、クラスターの有効期間全体にわたって AWS リソースを作成するため、キーをベースとした有効期間の長い認証情報を使用する必要があります。適切なキーを生成するには、AWS ドキュメントの「Managing Access Keys for IAM Users」を参照してください。キーは、インストールプログラムの実行時に指定できます。
- ファイアウォールを使用する場合、クラスターがアクセスを必要とするサイトを許可するようにファイアウォールを設定する必要があります。
1.4.1. OpenShift Container Platform のインターネットアクセスおよび Telemetry アクセス リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform 4.2 では、クラスターをインストールするためにインターネットアクセスが必要になります。クラスターの健全性および正常に実行された更新についてのメトリクスを提供するためにデフォルトで実行される Telemetry サービスにもインターネットアクセスが必要です。クラスターがインターネットに接続されている場合、Telemetry は自動的に実行され、クラスターは Red Hat OpenShift Cluster Manager (OCM) に登録されます。
Red Hat OpenShift Cluster Manager インベントリーが Telemetry によって自動的に維持されるか、または OCM を手動で使用しているかのいずれによって正常であることを確認した後に、subscription watch を使用して、アカウントまたはマルチクラスターレベルで OpenShift Container Platform サブスクリプションを追跡します。
インターネットへのアクセスは以下を実行するために必要です。
- Red Hat OpenShift Cluster Manager ページにアクセスし、インストールプログラムをダウンロードし、サブスクリプション管理を実行します。クラスターにインターネットアクセスがあり、Telemetry を無効にしない場合、そのサービスは有効なサブスクリプションでクラスターを自動的に使用します。
- クラスターのインストールに必要なパッケージを取得するために Quay.io にアクセスします。
- クラスターの更新を実行するために必要なパッケージを取得します。
クラスターでインターネットに直接アクセスできない場合、プロビジョニングする一部のタイプのインフラストラクチャーでネットワークが制限されたインストールを実行できます。このプロセスで、必要なコンテンツをダウンロードし、これを使用してミラーレジストリーにクラスターのインストールおよびインストールプログラムの生成に必要なパッケージを設定します。 インストールタイプによっては、クラスターのインストール環境でインターネットアクセスが不要となる場合があります。クラスターを更新する前に、ミラーレジストリーのコンテンツを更新します。
1.4.2. SSH プライベートキーの生成およびエージェントへの追加 リンクのコピーリンクがクリップボードにコピーされました!
クラスターでインストールのデバッグまたは障害復旧を実行する必要がある場合、ssh-agent とインストールプログラムの両方に SSH キーを指定する必要があります。
実稼働環境では、障害復旧およびデバッグが必要です。
このキーを使用して、ユーザー core としてマスターノードに対して SSH を実行できます。クラスターをデプロイする際に、キーは core ユーザーの ~/.ssh/authorized_keys 一覧に追加されます。
AWS キーペアなどのプラットフォームに固有の方法で設定したキーではなく、ローカルキーを使用する必要があります。
手順
パスワードなしの認証に設定されている SSH キーがコンピューター上にない場合は、これを作成します。たとえば、Linux オペレーティングシステムを使用するコンピューターで以下のコマンドを実行します。
ssh-keygen -t rsa -b 4096 -N '' \ -f <path>/<file_name>$ ssh-keygen -t rsa -b 4096 -N '' \ -f <path>/<file_name>1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
~/.ssh/id_rsaなどの、SSH キーのパスおよびファイル名を指定します。
このコマンドを実行すると、指定した場所にパスワードを必要としない SSH キーが生成されます。
ssh-agentプロセスをバックグラウンドタスクとして開始します。eval "$(ssh-agent -s)" Agent pid 31874
$ eval "$(ssh-agent -s)" Agent pid 31874Copy to Clipboard Copied! Toggle word wrap Toggle overflow SSH プライベートキーを
ssh-agentに追加します。ssh-add <path>/<file_name> Identity added: /home/<you>/<path>/<file_name> (<computer_name>)
$ ssh-add <path>/<file_name>1 Identity added: /home/<you>/<path>/<file_name> (<computer_name>)Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
~/.ssh/id_rsaなどの、SSH プライベートキーのパスおよびファイル名を指定します。
次のステップ
- OpenShift Container Platform をインストールする際に、SSH パブリックキーをインストールプログラムに指定します。
1.4.3. インストールプログラムの取得 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform をインストールする前に、インストールファイルを
ローカルコンピューターにダウンロードします。
前提条件
- Linux または macOS を使用するコンピューターからクラスターをインストールする必要があります。
- インストールプログラムをダウンロードするには、500 MB のローカルディスク領域が必要です。
手順
- Red Hat OpenShift Cluster Manager サイトの「Infrastructure Provider」ページにアクセスします。Red Hat アカウントがある場合は、認証情報を使ってログインします。アカウントがない場合はこれを作成します。
選択するインストールタイプのページに移動し、オペレーティングシステムのインストールプログラムをダウンロードし、ファイルをインストール設定ファイルを保存するディレクトリーに配置します。
重要インストールプログラムは、クラスターのインストールに使用するコンピューターにいくつかのファイルを作成します。クラスターインストールの完了後は、インストールプログラムおよびインストールプログラムが作成するファイルの両方を保持する必要があります。
インストールプログラムを展開します。たとえば、Linux オペレーティングシステムを使用するコンピューターで以下のコマンドを実行します。
tar xvf <installation_program>.tar.gz
$ tar xvf <installation_program>.tar.gzCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
Red Hat OpenShift Cluster Manager サイトの「Pull Secret」ページから、インストールプルシークレットを
.txtファイルとしてダウンロードします。このプルシークレットを使用し、OpenShift Container Platform コンポーネントのコンテナーイメージを提供する Quay.io など、組み込まれた各種の認証局によって提供されるサービスで認証できます。
1.4.4. インストール設定ファイルの作成 リンクのコピーリンクがクリップボードにコピーされました!
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! Toggle word wrap Toggle overflow - 1
<installation_directory>には、インストールプログラムが作成するファイルを保存するためにディレクトリー名を指定します。
重要空のディレクトリーを指定します。ブートストラップ X.509 証明書などの一部のインストールアセットの有効期限は短く設定されているため、インストールディレクトリーを再利用することができません。別のクラスターインストールの個別のファイルを再利用する必要がある場合は、それらをディレクトリーにコピーすることができます。ただし、インストールアセットのファイル名はリリース間で変更される可能性があります。インストールファイルを以前のバージョンの OpenShift Container Platform からコピーする場合は注意してコピーを行ってください。
プロンプト時に、クラウドの設定の詳細情報を指定します。
オプション: クラスターマシンにアクセスするために使用する SSH キーを選択します。
注記インストールのデバッグまたは障害復旧を実行する必要のある実稼働用の OpenShift Container Platform クラスターでは、
ssh-agentプロセスが使用する SSH キーを指定します。- ターゲットに設定するプラットフォームとして AWS を選択します。
- Amazon Web Services (AWS) プロファイルをコンピューターに保存していない場合、インストールプログラムを実行するように設定したユーザーの AWS アクセスキー ID およびシークレットアクセスキーを入力します。
- クラスターのデプロイ先とする AWS リージョンを選択します。
- クラスターに設定した Route53 サービスのベースドメインを選択します。
- クラスターの記述名を入力します。
- Red Hat OpenShift Cluster Manager サイトの「Pull Secret」ページから取得したプルシークレットを貼り付けます。
-
install-config.yamlファイルを変更します。利用可能なパラメーターの詳細については、「インストール設定パラメーター」セクションを参照してください。 install-config.yamlファイルをバックアップし、これを複数のクラスターをインストールするために使用できるようにします。重要install-config.yamlファイルはインストールプロセス時に使用されます。このファイルを再利用する必要がある場合は、この段階でこれをバックアップしてください。
1.4.4.1. インストール設定パラメーター リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform クラスターをデプロイする前に、クラスターをホストするクラウドプラットフォームでアカウントを記述し、クラスターのプラットフォームをオプションでカスタマイズするためにパラメーターの値を指定します。 install-config.yaml インストール設定ファイルを作成する際に、コマンドラインで必要なパラメーターの値を指定します。クラスターをカスタマイズする場合、install-config.yaml ファイルを変更して、プラットフォームについての詳細情報を指定できます。
インストール後は、install-config.yaml ファイルでこれらのパラメーターを変更することはできません。
| パラメーター | 説明 | 値 |
|---|---|---|
|
|
クラウドプロバイダーのベースドメイン。この値は、OpenShift Container Platform クラスターコンポーネントへのルートを作成するために使用されます。クラスターの完全な DNS 名は、 |
|
|
|
コントロールプレーンマシンをホストするためのクラウドプロバイダー。このパラメーターの値は |
|
|
|
ワーカーマシンをホストするためのクラウドプロバイダー。このパラメーターの値は |
|
|
| クラスターの名前。 |
|
|
| クラスターをデプロイするリージョン。 |
AWS の |
|
| Red Hat OpenShift Cluster Manager サイトの「Pull Secret」ページから取得したプルシークレット。このプルシークレットを使用し、OpenShift Container Platform コンポーネントのコンテナーイメージを提供する、Quay.io などの組み込まれた各種の認証局によって提供されるサービスで認証できます。 |
|
| パラメーター | 説明 | 値 |
|---|---|---|
|
| クラスターマシンにアクセスするために使用する SSH キー。 注記
インストールのデバッグまたは障害復旧を実行する必要のある実稼働用の OpenShift Container Platform クラスターでは、 |
|
|
|
コンピュートマシンで同時マルチスレッドまたは 重要 同時スレッドを無効にする場合は、容量計画においてマシンパフォーマンスの大幅な低下が考慮に入れられていることを確認します。 |
|
|
| プロビジョニングするコンピュートマシン(ワーカーマシンとしても知られる)の数。 |
|
|
|
コントロールプレーンマシンで同時マルチスレッドまたは 重要 同時スレッドを無効にする場合は、容量計画においてマシンパフォーマンスの大幅な低下が考慮に入れられていることを確認します。 |
|
|
| プロビジョニングするコントロールプレーンマシンの数。 |
|
| パラメーター | 説明 | 値 |
|---|---|---|
|
| ルートボリュームに予約される 1 秒あたりの入出力操作 (IOPS)。 |
整数 (例: |
|
| ルートボリュームのサイズ (GiB)。 |
整数 (例: |
|
| ルートボリュームのインスタンスタイプ。 |
有効な AWS EBS インスタンスタイプ (例: |
|
| コンピュートマシンの EC2 インスタンスタイプ。 |
有効な AWS インスタンスタイプ (例: |
|
| インストールプログラムがコンピュート MachinePool のマシンを作成するアベイラビリティーゾーン。 |
|
|
| インストールプログラムがコンピュートリソースを作成する AWS リージョン。 |
有効な AWS リージョン (例: |
|
| コントロールプレーンマシンの EC2 インスタンスタイプ。 |
有効な AWS インスタンスタイプ (例: |
|
| インストールプログラムがコントロールプレーン MachinePool のマシンを作成するアベイラビリティーゾーン。 |
|
|
| インストールプログラムがコントロールプレーンのリソースを作成する AWS リージョン。 |
有効な AWS リージョン (例: |
|
| インストールプログラムが、作成するすべてのリソースに対するタグとして追加するキーと値のマップ。 |
|
Open Virtual Networking (OVN) Kubernetes ネットワークプラグインは、テクノロジープレビュー機能です。テクノロジープレビュー機能は Red Hat の実稼働環境でのサービスレベルアグリーメント (SLA) ではサポートされていないため、Red Hat では実稼働環境での使用を推奨していません。Red Hat は実稼働環境でこれらを使用することを推奨していません。これらの機能は、近々発表予定の製品機能をリリースに先駆けてご提供することにより、お客様は機能性をテストし、開発プロセス中にフィードバックをお寄せいただくことができます。
OVN テクノロジープレビュー機能のサポート範囲についての詳細は、https://access.redhat.com/articles/4380121 を参照してください。
1.4.4.2. ネットワーク設定パラメーター リンクのコピーリンクがクリップボードにコピーされました!
クラスターのネットワーク設定パラメーターは install-config.yaml 設定ファイルで変更できます。以下の表では、これらのパラメーターについて説明しています。
インストール後は、install-config.yaml ファイルでこれらのパラメーターを変更することはできません。
| パラメーター | 説明 | 値 |
|---|---|---|
|
|
デプロイするネットワークプラグイン。 |
|
|
|
Pod IP アドレスの割り当てに使用する IP アドレスのブロック。 |
CIDR 形式の IP アドレスの割り当て。デフォルト値は |
|
|
それぞれの個別ノードに割り当てるサブネットプレフィックスの長さ。たとえば、 |
サブネットプレフィックス。デフォルト値は |
|
|
サービスの IP アドレスのブロック。 |
CIDR 形式の IP アドレスの割り当て。デフォルト値は |
|
| クラスターのインストール中に OpenShift Container Platform インストールプログラムによって使用される IP アドレスのブロック。このアドレスブロックは他のネットワークブロックと重複できません。 |
CIDR 形式の IP アドレスの割り当て。デフォルト値は |
1.4.4.3. AWS のカスタマイズされた install-config.yaml ファイルのサンプル リンクのコピーリンクがクリップボードにコピーされました!
install-config.yaml ファイルをカスタマイズして、OpenShift Container Platform クラスターのプラットフォームについての詳細を指定するか、または必要なパラメーターの値を変更することができます。
このサンプルの YAML ファイルは参照用にのみ提供されます。インストールプログラムを使用して install-config.yaml ファイルを取得し、これを変更する必要があります。
- 1 9 11 12
- 必須。インストールプログラムはこの値の入力を求めるプロンプトを出します。
- 2 6 10
- これらのパラメーターおよび値を指定しない場合、インストールプログラムはデフォルトの値を指定します。
- 3 7
controlPlaneセクションは単一マッピングですが、コンピュートセクションはマッピングのシーケンスになります。複数の異なるデータ構造の要件を満たすには、computeセクションの最初の行はハイフン-で始め、controlPlaneセクションの最初の行はハイフンで始めることができません。どちらのセクションも、現時点では単一のマシンプールを定義しますが、OpenShift Container Platform の今後のバージョンでは、インストール時の複数のコンピュートプールの定義をサポートする可能性があります。1 つのコントロールプレーンプールのみが使用されます。- 4 5
- 同時マルチスレッドまたは
hyperthreadingを有効/無効にするかどうか。デフォルトでは、同時スレッドはマシンのコアのパフォーマンスを上げるために有効にされます。パラメーター値をDisabledに設定するとこれを無効にすることができます。一部のクラスターマシンで同時マルチスレッドを無効にする場合は、これをすべてのクラスターマシンで無効にする必要があります。重要同時スレッドを無効にする場合は、容量計画においてマシンパフォーマンスの大幅な低下が考慮に入れられていることを確認します。同時マルチスレッドを無効にする場合は、マシンに対して
m4.2xlargeまたはm5.2xlargeなどの大規模なインスタンスタイプを使用します。 - 8
- 大規模なクラスターの場合などに etcd の高速のストレージを設定するには、ストレージタイプを
io1として設定し、iopsを2000に設定します。 - 13
- クラスター内のマシンにアクセスするために使用する
sshKey値をオプションで指定できます。注記インストールのデバッグまたは障害復旧を実行する必要のある実稼働用の OpenShift Container Platform クラスターでは、
ssh-agentプロセスが使用する SSH キーを指定します。
1.4.5. 高度なネットワーク設定パラメーターの変更 リンクのコピーリンクがクリップボードにコピーされました!
高度なネットワーク設定パラメーターは、クラスターのインストール前にのみ変更することができます。高度な設定のカスタマイズにより、クラスターを既存のネットワーク環境に統合させることができます。 これを実行するには、MTU または VXLAN ポートを指定し、kube-proxy 設定のカスタマイズを許可し、openshiftSDNConfig パラメーターに異なる mode を指定します。
OpenShift Container Platform マニフェストファイルの直接の変更はサポートされていません。
前提条件
-
install-config.yamlファイルを作成し、これに対する変更を完了します。
手順
以下のコマンドを使用してマニフェストを作成します。
./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ファイルが含まれるディレクトリーの名前を指定します。
<installation_directory>/manifests/cluster-scheduler-02-config.ymlKubernetes マニフェストファイルを変更し、Pod がコントロールプレーンマシンにスケジュールされないようにします。-
manifests/cluster-scheduler-02-config.ymlファイルを開きます。 -
mastersSchedulableパラメーターを見つけ、その値をFalseに設定します。 - ファイルを保存し、終了します。
注記現時点では、Kubernetes の制限により、コントロールプレーンマシンで実行されるルーター Pod に Ingress ロードバランサーがアクセスすることができません。
-
cluster-network-03-config.ymlという名前のファイルを<installation_directory>/manifests/ディレクトリーに作成します。touch <installation_directory>/manifests/cluster-network-03-config.yml
$ touch <installation_directory>/manifests/cluster-network-03-config.yml1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<installation_directory>については、クラスターのmanifests/ディレクトリーが含まれるディレクトリー名を指定します。
ファイルの作成後は、以下のようにいくつかのネットワーク設定ファイルが
manifests/ディレクトリーに置かれます。ls <installation_directory>/manifests/cluster-network-* cluster-network-01-crd.yml cluster-network-02-config.yml cluster-network-03-config.yml
$ ls <installation_directory>/manifests/cluster-network-* cluster-network-01-crd.yml cluster-network-02-config.yml cluster-network-03-config.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow エディターで
cluster-network-03-config.ymlファイルを開き、必要な Operator 設定を記述する CR を入力します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
specパラメーターのパラメーターは例です。CR に Cluster Network Operator の設定を指定します。
CNO は CR にパラメーターのデフォルト値を提供するため、変更が必要なパラメーターのみを指定する必要があります。
-
cluster-network-03-config.ymlファイルを保存し、テキストエディターを終了します。 -
オプション:
manifests/cluster-network-03-config.ymlファイルをバックアップします。インストールプログラムは、クラスターの作成時にmanifests/ディレクトリーを削除します。
1.4.6. クラスターネットワーク Operator のカスタムリソース (CR、Custom Resource) リンクのコピーリンクがクリップボードにコピーされました!
Network.operator.openshift.io カスタムリソース (CR) のクラスターネットワーク設定は、Cluster Network Operator (CNO) の設定内容を保存します。Operator はクラスターネットワークを管理します。
defaultNetwork パラメーターのパラメーターを CNO CR に設定することにより、OpenShift Container Platform クラスターのクラスターネットワーク設定を指定できます。以下の CR は、CNO のデフォルト設定を表示し、設定可能なパラメーターと有効なパラメーターの値の両方について説明しています。
Cluster Network Operator CR
- 1 2
install-config.yamlファイルに指定されます。- 3
- クラスターネットワークの SDN (software-defined networking) を設定します。
- 4
- このオブジェクトのパラメーターは、
kube-proxy設定を指定します。パラメーターの値を指定しない場合 、ネットワーク Operator は表示されるデフォルトのパラメーター値を適用します。 - 5
iptablesルールの更新期間。デフォルト値は30sです。有効なサフィックスには、s、m、およびhなどが含まれ、これらについては、Go time package ドキュメントで説明されています。- 6
iptablesルールを更新する前の最小期間。このパラメーターにより、更新の頻度が高くなり過ぎないようにできます。有効なサフィックスには、s、m、およびhが含まれ、これらについては、Go time package で説明されています。
1.4.6.1. OpenShift SDN の設定パラメーター リンクのコピーリンクがクリップボードにコピーされました!
以下の YAML オブジェクトは OpenShift SDN の設定パラメーターについて説明しています。
- 1
install-config.yamlファイルに指定されます。- 2
- OpenShift SDN 設定の一部を上書きする必要がある場合にのみ指定します。
- 3
OpenShiftSDNのネットワーク分離モードを設定します。許可される値はMultitenant、Subnet、またはNetworkPolicyです。デフォルト値はNetworkPolicyです。- 4
- VXLAN オーバーレイネットワークの MTU。この値は通常は自動的に設定されますが、クラスターにあるノードすべてが同じ MTU を使用しない場合、これを最小のノード MTU 値よりも 50 小さくする必要があります。
- 5
- すべての VXLAN パケットに使用するポート。デフォルト値は
4789です。別の VXLAN ネットワークの一部である既存ノードと共に仮想化環境で実行している場合は、これを変更する必要がある可能性があります。たとえば、OpenShift SDN オーバーレイを VMware NSX-T 上で実行する場合は、両方の SDN が同じデフォルトの VXLAN ポート番号を使用するため、VXLAN の別のポートを選択する必要があります。Amazon Web Services (AWS) では、VXLAN にポート
9000とポート9999間の代替ポートを選択できます。
1.4.6.2. Open Virtual Network (OVN) SDN の設定パラメーター リンクのコピーリンクがクリップボードにコピーされました!
OVN SDN には OpenShift Container Platform 4.2 の設定パラメーターがありません。
1.4.6.3. Cluster Network Operator のサンプル CR リンクのコピーリンクがクリップボードにコピーされました!
以下の例のように、CNO の完全な CR が表示されます。
Cluster Network Operator のサンプル CR
1.4.7. クラスターのデプロイ リンクのコピーリンクがクリップボードにコピーされました!
互換性のあるクラウドプラットフォームに 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 重要空のディレクトリーを指定します。ブートストラップ X.509 証明書などの一部のインストールアセットの有効期限は短く設定されているため、インストールディレクトリーを再利用することができません。別のクラスターインストールの個別のファイルを再利用する必要がある場合は、それらをディレクトリーにコピーすることができます。ただし、インストールアセットのファイル名はリリース間で変更される可能性があります。インストールファイルを以前のバージョンの OpenShift Container Platform からコピーする場合は注意してコピーを行ってください。
プロンプト時に値を指定します。
オプション: クラスターマシンにアクセスするために使用する SSH キーを選択します。
注記インストールのデバッグまたは障害復旧を実行する必要のある実稼働用の OpenShift Container Platform クラスターでは、
ssh-agentプロセスが使用する SSH キーを指定します。- ターゲットに設定するプラットフォームとして aws を選択します。
- Amazon Web Services (AWS) プロファイルをコンピューターに保存していない場合、インストールプログラムを実行するように設定したユーザーの AWS アクセスキー ID およびシークレットアクセスキーを入力します。
- クラスターのデプロイ先とする AWS リージョンを選択します。
- クラスターに設定した Route53 サービスのベースドメインを選択します。
- クラスターの記述名を入力します。
- Red Hat OpenShift Cluster Manager サイトの「Pull Secret」ページから取得したプルシークレットを貼り付けます。
注記ホストに設定した AWS アカウントにクラスターをデプロイするための十分なパーミッションがない場合、インストールプログラムは停止し、不足しているパーミッションが表示されます。
クラスターのデプロイメントが完了すると、Web コンソールへのリンクや
kubeadminユーザーの認証情報を含む、クラスターにアクセスするための指示がターミナルに表示されます。重要インストールプログラムが生成する Ignition 設定ファイルには、24 時間が経過すると期限切れになる証明書が含まれます。最初の証明書のローテーションが正常に実行されるようにするには、クラスターを動作が低下していない状態で 24 時間実行し続ける必要があります。
重要インストールプログラム、またはインストールプログラムが作成するファイルを削除することはできません。これらはいずれもクラスターを削除するために必要になります。
-
オプション: クラスターのインストールに使用した IAM アカウントから
AdministratorAccessポリシーを削除するか、または無効にします。
1.4.8. CLI のインストール リンクのコピーリンクがクリップボードにコピーされました!
コマンドラインインターフェースを使用して OpenShift Container Platform と対話するために CLI をインストールすることができます。
以前のバージョンの oc をインストールしている場合、これを使用して OpenShift Container Platform 4.2 のすべてのコマンドを実行することはできません。新規バージョンの ocをダウンロードし、インストールします。
手順
- Red Hat OpenShift Cluster Manager サイトの Infrastructure Provider ページから、選択するインストールタイプのページに移動し、Download Command-line Tools をクリックします。
オペレーティングシステムおよびアーキテクチャーのフォルダーをクリックしてから、圧縮されたファイルをクリックします。
注記ocは Linux、Windows、または macOS にインストールできます。- ファイルをファイルシステムに保存します。
- 圧縮ファイルを展開します。
-
これを
PATHにあるディレクトリーに配置します。
CLI のインストール後は、oc コマンドを使用して利用できます。
oc <command>
$ oc <command>
1.4.9. クラスターへのログイン リンクのコピーリンクがクリップボードにコピーされました!
クラスター 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 system:admin
$ oc whoami system:adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow
次のステップ
- クラスターをカスタマイズします。
- 必要な場合は、リモートの健全性レポートをオプトアウトすることができます。
1.5. CloudFormation テンプレートの使用による、AWS でのユーザーによってプロビジョニングされたインフラストラクチャーへのクラスターのインストール リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform バージョン 4.2 では、独自に提供するインフラストラクチャーを使用するクラスターを Amazon Web Services (AWS) にインストールできます。
このインフラストラクチャーを作成する 1 つの方法として、提供される CloudFormation テンプレートを使用できます。テンプレートを変更してインフラストラクチャーをカスタマイズしたり、それらに含まれる情報を使用し、所属する会社のポリシーに基づいて AWS オブジェクトを作成したりできます。
前提条件
- OpenShift Container Platform のインストールおよび更新プロセスについての詳細を確認します。
AWS アカウントを設定してクラスターをホストします。
重要AWS プロファイルがご使用のコンピューターに保存されている場合、マルチファクター認証デバイスを使用中に生成した一時的なセッショントークンを使用することはできません。クラスターは継続的に現行の AWS 認証情報を使用して、クラスターの有効期間全体にわたって AWS リソースを作成するため、キーをベースとした有効期間の長い認証情報を使用する必要があります。適切なキーを生成するには、AWS ドキュメントの「Managing Access Keys for IAM Users」を参照してください。キーは、インストールプログラムの実行時に指定できます。
- AWS CLI をダウンロードし、これをコンピューターにインストールします。AWS ドキュメントの「Install the AWS CLI Using the Bundled Installer (Linux, macOS, or Unix)」を参照してください。
ファイアウォールを使用する場合、クラスターがアクセスを必要とするサイトを許可するようにファイアウォールを設定する必要があります。
注記プロキシーを設定する場合は、このサイト一覧も確認してください。
1.5.1. OpenShift Container Platform のインターネットアクセスおよび Telemetry アクセス リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform 4.2 では、クラスターをインストールするためにインターネットアクセスが必要になります。クラスターの健全性および正常に実行された更新についてのメトリクスを提供するためにデフォルトで実行される Telemetry サービスにもインターネットアクセスが必要です。クラスターがインターネットに接続されている場合、Telemetry は自動的に実行され、クラスターは Red Hat OpenShift Cluster Manager (OCM) に登録されます。
Red Hat OpenShift Cluster Manager インベントリーが Telemetry によって自動的に維持されるか、または OCM を手動で使用しているかのいずれによって正常であることを確認した後に、subscription watch を使用して、アカウントまたはマルチクラスターレベルで OpenShift Container Platform サブスクリプションを追跡します。
インターネットへのアクセスは以下を実行するために必要です。
- Red Hat OpenShift Cluster Manager ページにアクセスし、インストールプログラムをダウンロードし、サブスクリプション管理を実行します。クラスターにインターネットアクセスがあり、Telemetry を無効にしない場合、そのサービスは有効なサブスクリプションでクラスターを自動的に使用します。
- クラスターのインストールに必要なパッケージを取得するために Quay.io にアクセスします。
- クラスターの更新を実行するために必要なパッケージを取得します。
クラスターでインターネットに直接アクセスできない場合、プロビジョニングする一部のタイプのインフラストラクチャーでネットワークが制限されたインストールを実行できます。このプロセスで、必要なコンテンツをダウンロードし、これを使用してミラーレジストリーにクラスターのインストールおよびインストールプログラムの生成に必要なパッケージを設定します。 インストールタイプによっては、クラスターのインストール環境でインターネットアクセスが不要となる場合があります。クラスターを更新する前に、ミラーレジストリーのコンテンツを更新します。
1.5.2. 必要な AWS インフラストラクチャーコンポーネント リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform を Amazon Web Services (AWS) のユーザーによってプロビジョニングされるインフラストラクチャーにインストールするには、マシンとサポートするインフラストラクチャーの両方を手動で作成する必要があります。
各種プラットフォームの統合テストの詳細については、「 OpenShift Container Platform 4.x Tested Integrations」のページを参照してください。
提供される CloudFormation テンプレートを使用してこのインフラストラクチャーを作成でき、コンポーネントを手動で作成するか、またはクラスターの要件を満たす既存のインフラストラクチャーを再利用できます。コンポーネントの相互関係についての詳細は、CloudFormation テンプレートを参照してください。
1.5.2.1. クラスターマシン リンクのコピーリンクがクリップボードにコピーされました!
以下のマシンには AWS::EC2::Instance オブジェクトが必要になります。
- ブートストラップマシン。このマシンはインストール時に必要ですが、クラスターのデプロイ後に除去することができます。
- 3 つ以上のコントロールプレーンマシン。コントロールプレーンマシンは MachineSet によって制御されません。
- コンピュートマシン。インストール時に 2 つ以上のコンピュートマシン (ワーカーマシンとしても知られる) を作成する必要があります。これらのマシンは MachineSet によって制御されません。
提供される CloudFormation テンプレートを使用して、クラスターマシンの以下のインスタンスタイプを使用できます。
m4 インスタンスが eu-west-3 などのリージョンで利用可能ではない場合、m5 タイプを代わりに使用します。
| インスタンスタイプ | ブートストラップ | コントロールプレーン | コンピュート |
|---|---|---|---|
|
| x | ||
|
| x | ||
|
| x | x | |
|
| x | x | |
|
| x | x | |
|
| x | x | |
|
| x | x | |
|
| x | x | |
|
| x | ||
|
| x | ||
|
| x | x | |
|
| x | x | |
|
| x | x | |
|
| x | ||
|
| x | x | |
|
| x | x | |
|
| x | x | |
|
| x | x | |
|
| x | x |
これらのインスタンスタイプの仕様に対応する他のインスタンスタイプを使用できる場合もあります。
1.5.2.2. 証明書署名要求の管理 リンクのコピーリンクがクリップボードにコピーされました!
ユーザーがプロビジョニングするインフラストラクチャーを使用する場合、クラスターの自動マシン管理へのアクセスは制限されるため、インストール後にクラスターの証明書署名要求 (CSR) のメカニズムを提供する必要があります。kube-controller-manager は kubelet クライアント CSR のみを承認します。machine-approver は、kubelet 認証情報を使用して要求される提供証明書の有効性を保証できません。適切なマシンがこの要求を発行したかどうかを確認できないためです。kubelet 提供証明書の要求の有効性を検証し、それらを承認する方法を判別し、実装する必要があります。
1.5.2.3. 他のインフラストラクチャーコンポーネント リンクのコピーリンクがクリップボードにコピーされました!
- 1 つの VPC
- DNS エントリー
- ロードバランサー(classic または network)およびリスナー
- パブリックおよびプライベート Route53 ゾーン
- セキュリティーグループ
- IAM ロール
- S3 バケット
必要な VPC コンポーネント
お使いのマシンとの通信を可能にする適切な VPC およびサブネットを指定する必要があります。
| コンポーネント | AWS タイプ | 説明 | |
|---|---|---|---|
| VPC |
| 使用するクラスターのパブリック VPC を指定する必要があります。VPC は、各サブネットのルートテーブルを参照するエンドポイントを使用して、S3 でホストされているレジストリーとの通信を強化します。 | |
| パブリックサブネット |
| VPC には 1 から 3 のアベイラビリティーゾーンのパブリックサブネットが必要であり、それらを適切な Ingress ルールに関連付ける必要があります。 | |
| インターネットゲートウェイ |
| VPC に割り当てられたパブリックルートを持つパブリックインターネットゲートウェイが必要です。提供されるテンプレートでは、各パブリックサブネットに EIP アドレスと NAT ゲートウェイがあります。これらの NAT ゲートウェイは、プライベートサブネットインスタンスなどのクラスターリソースがインターネットに到達できるようにするもので、一部のネットワークが制限された環境またはプロキシーのシナリオでは必要ありません。 | |
| ネットワークアクセス制御 |
| VPC が以下のポートにアクセスできるようにする必要があります。 | |
| ポート | 理由 | ||
|
| インバウンド HTTP トラフィック | ||
|
| インバウンド HTTPS トラフィック | ||
|
| インバウンド SSH トラフィック | ||
|
| インバウンド一時 (ephemeral) トラフィック | ||
|
| アウトバウンド一時 (ephemeral) トラフィック | ||
| プライベートサブネット |
| VPC にはプライベートサブネットを使用できます。提供される CloudFormation テンプレートは 1 から 3 アベイラビリティーゾーンのプライベートサブネットを作成できます。プライベートサブネットを使用できる場合は、それらの適切なルートおよびテーブルを指定する必要があります。 | |
必要な DNS および負荷分散コンポーネント
DNS およびロードバランサー設定では、パブリックホストゾーンを使用する必要があり、クラスターのインフラストラクチャーをプロビジョニングする場合にインストールプログラムが使用するものと同様のプライベートホストゾーンを使用できます。ロードバランサーに解決する DNS エントリーを作成する必要があります。api.<cluster_name>.<domain> のエントリーは外部ロードバランサーを参照し、api-int.<cluster_name>.<domain> のエントリーは内部ロードバランサーを参照する必要があります。
またクラスターには、Kubernetes API とその拡張に必要なポート 6443、および新規マシンの Ignition 設定ファイルに必要なポート 22623 のロードバランサーおよびリスナーが必要です。ターゲットはマスターノードになります。ポート 6443 はクラスター外のクライアントとクラスター内のノードからもアクセスできる必要があります。ポート 22623 はクラスター内のノードからアクセスできる必要があります。
| コンポーネント | AWS タイプ | 説明 |
|---|---|---|
| DNS |
| 内部 DNS のホストゾーン。 |
| etcd レコードセット |
| コントロールプレーンマシンの etcd の登録レコード。 |
| パブリックロードバランサー |
| パブリックサブネットのロードバランサー。 |
| 外部 API サーバーレコード |
| 外部 API サーバーのエイリアスレコード。 |
| 外部リスナー |
| 外部ロードバランサー用のポート 6443 のリスナー。 |
| 外部ターゲットグループ |
| 外部ロードバランサーのターゲットグループ。 |
| プライベートロードバランサー |
| プライベートサブネットのロードバランサー。 |
| 内部 API サーバーレコード |
| 内部 API サーバーのエイリアスレコード。 |
| 内部リスナー |
| 内部ロードバランサー用のポート 22623 のリスナー。 |
| 内部ターゲットグループ |
| 内部ロードバランサーのターゲットグループ。 |
| 内部リスナー |
| 内部ロードバランサーのポート 6443 のリスナー。 |
| 内部ターゲットグループ |
| 内部ロードバランサーのターゲットグループ。 |
セキュリティーグループ
コントロールプレーンおよびワーカーマシンには、以下のポートへのアクセスが必要です。
| グループ | タイプ | IP プロトコル | ポート範囲 |
|---|---|---|---|
| MasterSecurityGroup |
|
|
|
|
|
| ||
|
|
| ||
|
|
| ||
| WorkerSecurityGroup |
|
|
|
|
|
| ||
| BootstrapSecurityGroup |
|
|
|
|
|
|
コントロールプレーンの Ingress
コントロールプレーンマシンには、以下の Ingress グループが必要です。それぞれの Ingress グループは AWS::EC2::SecurityGroupIngress リソースになります。
| Ingress グループ | 説明 | IP プロトコル | ポート範囲 |
|---|---|---|---|
|
| etcd |
|
|
|
| Vxlan パケット |
|
|
|
| Vxlan パケット |
|
|
|
| 内部クラスター通信および Kubernetes プロキシーメトリクス |
|
|
|
| 内部クラスター通信 |
|
|
|
| Kubernetes kubelet、スケジューラーおよびコントローラーマネージャー |
|
|
|
| Kubernetes kubelet、スケジューラーおよびコントローラーマネージャー |
|
|
|
| Kubernetes Ingress サービス |
|
|
|
| Kubernetes Ingress サービス |
|
|
ワーカーの Ingress
ワーカーマシンには、以下の Ingress グループが必要です。それぞれの Ingress グループは AWS::EC2::SecurityGroupIngress リソースになります。
| Ingress グループ | 説明 | IP プロトコル | ポート範囲 |
|---|---|---|---|
|
| Vxlan パケット |
|
|
|
| Vxlan パケット |
|
|
|
| 内部クラスター通信 |
|
|
|
| 内部クラスター通信 |
|
|
|
| Kubernetes kubelet、スケジューラーおよびコントローラーマネージャー |
|
|
|
| Kubernetes kubelet、スケジューラーおよびコントローラーマネージャー |
|
|
|
| Kubernetes Ingress サービス |
|
|
|
| Kubernetes Ingress サービス |
|
|
ロールおよびインスタンスプロファイル
マシンには、AWS でのパーミッションを付与する必要があります。提供される CloudFormation テンプレートはマシンに対し、以下の AWS::IAM::Role オブジェクトについてのパーミッションを付与し、それぞれのロールセットに AWS::IAM::InstanceProfile を指定します。テンプレートを使用しない場合、マシンには以下の広範囲のパーミッションまたは個別のパーミッションを付与することができます。
| ロール | 結果 | アクション | リソース |
|---|---|---|---|
| マスター |
|
|
|
|
|
|
| |
|
|
|
| |
|
|
|
| |
| ワーカー |
|
|
|
| ブートストラップ |
|
|
|
|
|
|
| |
|
|
|
|
1.5.2.4. 必要な AWS パーミッション リンクのコピーリンクがクリップボードにコピーされました!
AdministratorAccess ポリシーを、作成する IAM ユーザーに割り当てる場合、そのユーザーには必要なパーミッションすべてを付与します。OpenShift Container Platform クラスターをデプロイするために、IAM ユーザーに以下のパーミッションが必要になります。
インストールに必要な EC2 パーミッション
-
ec2:AllocateAddress -
ec2:AssociateAddress -
ec2:AssociateDhcpOptions -
ec2:AssociateRouteTable -
ec2:AttachInternetGateway -
ec2:AuthorizeSecurityGroupEgress -
ec2:AuthorizeSecurityGroupIngress -
ec2:CopyImage -
ec2:CreateDhcpOptions -
ec2:CreateInternetGateway -
ec2:CreateNatGateway -
ec2:CreateNetworkInterface -
ec2:CreateRoute -
ec2:CreateRouteTable -
ec2:CreateSecurityGroup -
ec2:CreateSubnet -
ec2:CreateTags -
ec2:CreateVpc -
ec2:CreateVpcEndpoint -
ec2:CreateVolume -
ec2:DeleteSnapshot -
ec2:DeregisterImage -
ec2:DescribeAccountAttributes -
ec2:DescribeAddresses -
ec2:DescribeAvailabilityZones -
ec2:DescribeDhcpOptions -
ec2:DescribeImages -
ec2:DescribeInstanceAttribute -
ec2:DescribeInstanceCreditSpecifications -
ec2:DescribeInstances -
ec2:DescribeInternetGateways -
ec2:DescribeKeyPairs -
ec2:DescribeNatGateways -
ec2:DescribeNetworkAcls -
ec2:DescribePrefixLists -
ec2:DescribeRegions -
ec2:DescribeRouteTables -
ec2:DescribeSecurityGroups -
ec2:DescribeSubnets -
ec2:DescribeTags -
ec2:DescribeVpcEndpoints -
ec2:DescribeVpcs -
ec2:DescribeVpcAttribute -
ec2:DescribeVolumes -
ec2:DescribeVpcClassicLink -
ec2:DescribeVpcClassicLinkDnsSupport -
ec2:ModifyInstanceAttribute -
ec2:ModifySubnetAttribute -
ec2:ModifyVpcAttribute -
ec2:RevokeSecurityGroupEgress -
ec2:RunInstances -
ec2:TerminateInstances -
ec2:DeleteDhcpOptions -
ec2:DeleteRoute -
ec2:RevokeSecurityGroupIngress -
ec2:DisassociateRouteTable -
ec2:ReplaceRouteTableAssociation -
ec2:DeleteRouteTable -
ec2:DeleteSubnet -
ec2:DescribeNetworkInterfaces -
ec2:ModifyNetworkInterfaceAttribute -
ec2:DeleteNatGateway -
ec2:DeleteSecurityGroup -
ec2:DetachInternetGateway -
ec2:DeleteInternetGateway -
ec2:ReleaseAddress -
ec2:DeleteVpc
インストールに必要な Elasticloadbalancing パーミッション
-
elasticloadbalancing:AddTags -
elasticloadbalancing:ApplySecurityGroupsToLoadBalancer -
elasticloadbalancing:AttachLoadBalancerToSubnets -
elasticloadbalancing:CreateListener -
elasticloadbalancing:CreateLoadBalancer -
elasticloadbalancing:CreateLoadBalancerListeners -
elasticloadbalancing:CreateTargetGroup -
elasticloadbalancing:ConfigureHealthCheck -
elasticloadbalancing:DeleteLoadBalancer -
elasticloadbalancing:DeregisterInstancesFromLoadBalancer -
elasticloadbalancing:DeregisterTargets -
elasticloadbalancing:DescribeInstanceHealth -
elasticloadbalancing:DescribeListeners -
elasticloadbalancing:DescribeLoadBalancers -
elasticloadbalancing:DescribeLoadBalancerAttributes -
elasticloadbalancing:DescribeTags -
elasticloadbalancing:DescribeTargetGroupAttributes -
elasticloadbalancing:DescribeTargetHealth -
elasticloadbalancing:ModifyLoadBalancerAttributes -
elasticloadbalancing:ModifyTargetGroup -
elasticloadbalancing:ModifyTargetGroupAttributes -
elasticloadbalancing:RegisterTargets -
elasticloadbalancing:RegisterInstancesWithLoadBalancer -
elasticloadbalancing:SetLoadBalancerPoliciesOfListener
インストールに必要な IAM パーミッション
-
iam:AddRoleToInstanceProfile -
iam:CreateInstanceProfile -
iam:CreateRole -
iam:DeleteInstanceProfile -
iam:DeleteRole -
iam:DeleteRolePolicy -
iam:GetInstanceProfile -
iam:GetRole -
iam:GetRolePolicy -
iam:GetUser -
iam:ListInstanceProfilesForRole -
iam:ListRoles -
iam:ListUsers -
iam:PassRole -
iam:PutRolePolicy -
iam:RemoveRoleFromInstanceProfile -
iam:SimulatePrincipalPolicy -
iam:TagRole
インストールに必要な Route53 パーミッション
-
route53:ChangeResourceRecordSets -
route53:ChangeTagsForResource -
route53:GetChange -
route53:GetHostedZone -
route53:CreateHostedZone -
route53:DeleteHostedZone -
route53:ListHostedZones -
route53:ListHostedZonesByName -
route53:ListResourceRecordSets -
route53:ListTagsForResource -
route53:UpdateHostedZoneComment
インストールに必要な S3 パーミッション
-
s3:CreateBucket -
s3:DeleteBucket -
s3:GetAccelerateConfiguration -
s3:GetBucketCors -
s3:GetBucketLocation -
s3:GetBucketLogging -
s3:GetBucketObjectLockConfiguration -
s3:GetBucketReplication -
s3:GetBucketRequestPayment -
s3:GetBucketTagging -
s3:GetBucketVersioning -
s3:GetBucketWebsite -
s3:GetEncryptionConfiguration -
s3:GetLifecycleConfiguration -
s3:GetReplicationConfiguration -
s3:ListBucket -
s3:PutBucketAcl -
s3:PutBucketTagging -
s3:PutEncryptionConfiguration
クラスター Operator が必要とする S3 パーミッション
-
s3:PutObject -
s3:PutObjectAcl -
s3:PutObjectTagging -
s3:GetObject -
s3:GetObjectAcl -
s3:GetObjectTagging -
s3:GetObjectVersion -
s3:DeleteObject
クラスターのアンインストールに必要な追加のすべてのパーミッション
-
autoscaling:DescribeAutoScalingGroups -
ec2:DeleteNetworkInterface -
ec2:DeleteVolume -
ec2:DeleteVpcEndpoints -
elasticloadbalancing:DescribeTargetGroups -
elasticloadbalancing:DeleteTargetGroup -
iam:ListInstanceProfiles -
iam:ListRolePolicies -
iam:ListUserPolicies -
tag:GetResources
マニフェストの作成に必要な追加の IAM および S3 パーミッション
-
iam:CreateAccessKey -
iam:CreateUser -
iam:DeleteAccessKey -
iam:DeleteUser -
iam:DeleteUserPolicy -
iam:GetUserPolicy -
iam:ListAccessKeys -
iam:PutUserPolicy -
iam:TagUser -
iam:GetUserPolicy -
iam:ListAccessKeys -
s3:PutBucketPublicAccessBlock -
s3:GetBucketPublicAccessBlock -
s3:PutLifecycleConfiguration -
s3:HeadBucket -
s3:ListBucketMultipartUploads -
s3:AbortMultipartUpload
1.5.3. インストールプログラムの取得 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform をインストールする前に、インストールファイルを
ローカルコンピューターにダウンロードします。
前提条件
- Linux または macOS を使用するコンピューターからクラスターをインストールする必要があります。
- インストールプログラムをダウンロードするには、500 MB のローカルディスク領域が必要です。
手順
- Red Hat OpenShift Cluster Manager サイトの「Infrastructure Provider」ページにアクセスします。Red Hat アカウントがある場合は、認証情報を使ってログインします。アカウントがない場合はこれを作成します。
選択するインストールタイプのページに移動し、オペレーティングシステムのインストールプログラムをダウンロードし、ファイルをインストール設定ファイルを保存するディレクトリーに配置します。
重要インストールプログラムは、クラスターのインストールに使用するコンピューターにいくつかのファイルを作成します。クラスターインストールの完了後は、インストールプログラムおよびインストールプログラムが作成するファイルの両方を保持する必要があります。
インストールプログラムを展開します。たとえば、Linux オペレーティングシステムを使用するコンピューターで以下のコマンドを実行します。
tar xvf <installation_program>.tar.gz
$ tar xvf <installation_program>.tar.gzCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
Red Hat OpenShift Cluster Manager サイトの「Pull Secret」ページから、インストールプルシークレットを
.txtファイルとしてダウンロードします。このプルシークレットを使用し、OpenShift Container Platform コンポーネントのコンテナーイメージを提供する、Quay.io などの組み込まれた各種の認証局によって提供されるサービスで認証できます。
1.5.4. SSH プライベートキーの生成およびエージェントへの追加 リンクのコピーリンクがクリップボードにコピーされました!
クラスターでインストールのデバッグまたは障害復旧を実行する必要がある場合、ssh-agent とインストールプログラムの両方に SSH キーを指定する必要があります。
実稼働環境では、障害復旧およびデバッグが必要です。
このキーを使用して、ユーザー core としてマスターノードに対して SSH を実行できます。クラスターをデプロイする際に、キーは core ユーザーの ~/.ssh/authorized_keys 一覧に追加されます。
AWS キーペアなどのプラットフォームに固有の方法で設定したキーではなく、ローカルキーを使用する必要があります。
手順
パスワードなしの認証に設定されている SSH キーがコンピューター上にない場合は、これを作成します。たとえば、Linux オペレーティングシステムを使用するコンピューターで以下のコマンドを実行します。
ssh-keygen -t rsa -b 4096 -N '' \ -f <path>/<file_name>$ ssh-keygen -t rsa -b 4096 -N '' \ -f <path>/<file_name>1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
~/.ssh/id_rsaなどの、SSH キーのパスおよびファイル名を指定します。
このコマンドを実行すると、指定した場所にパスワードを必要としない SSH キーが生成されます。
ssh-agentプロセスをバックグラウンドタスクとして開始します。eval "$(ssh-agent -s)" Agent pid 31874
$ eval "$(ssh-agent -s)" Agent pid 31874Copy to Clipboard Copied! Toggle word wrap Toggle overflow SSH プライベートキーを
ssh-agentに追加します。ssh-add <path>/<file_name> Identity added: /home/<you>/<path>/<file_name> (<computer_name>)
$ ssh-add <path>/<file_name>1 Identity added: /home/<you>/<path>/<file_name> (<computer_name>)Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
~/.ssh/id_rsaなどの、SSH プライベートキーのパスおよびファイル名を指定します。
次のステップ
- OpenShift Container Platform をインストールする際に、SSH パブリックキーをインストールプログラムに指定します。クラスターを独自にプロビジョニングするインフラストラクチャーにインストールする場合は、このキーをクラスターのマシンに指定する必要があります。
1.5.5. AWS のインストール設定ファイルの作成 リンクのコピーリンクがクリップボードにコピーされました!
ユーザーによってプロビジョニングされるインフラストラクチャー を使用して OpenShift Container Platform を Amazon Web Services (AWS) にインストールするには、インストールプログラムがクラスターをデプロイするために必要なファイルを生成し、クラスターが使用するマシンのみを作成するようにそれらのファイルを変更する必要があります。install-config.yaml ファイル、Kubernetes マニフェスト、および Ignition 設定ファイルを生成し、カスタマイズします。
1.5.5.1. インストール設定ファイルの作成 リンクのコピーリンクがクリップボードにコピーされました!
インストールプログラムがクラスターをデプロイするために必要なインストール設定ファイルを生成し、カスタマイズします。
前提条件
- 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! 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 リージョンを選択します。
- クラスターに設定した Route53 サービスのベースドメインを選択します。
- クラスターの記述名を入力します。
- Red Hat OpenShift Cluster Manager サイトの「Pull Secret」ページから取得したプルシークレットを貼り付けます。
install-config.yamlファイルを編集し、以下のcomputeスタンザに示されるようにコンピュートレプリカ (ワーカーレプリカとしても知られる) の数を0に設定します。compute: - hyperthreading: Enabled name: worker platform: {} replicas: 0compute: - hyperthreading: Enabled name: worker platform: {} replicas: 0Copy to Clipboard Copied! Toggle word wrap Toggle overflow オプション:
install-config.yamlファイルをバックアップします。重要install-config.yamlファイルはインストールプロセス時に使用されます。このファイルを再利用する必要がある場合は、この段階でこれをバックアップしてください。
1.5.5.2. インストール時のクラスター全体のプロキシーの設定 リンクのコピーリンクがクリップボードにコピーされました!
実稼働環境では、インターネットへの直接アクセスを拒否し、代わりに HTTP または HTTPS プロキシーを使用することができます。プロキシー設定を install-config.yaml ファイルで行うことにより、新規の OpenShift Container Platform クラスターをプロキシーを使用するように設定できます。
前提条件
-
既存の
install-config.yamlファイル。 クラスターがアクセスする必要のあるサイトを確認し、プロキシーをバイパスする必要があるかどうかを判別する。デフォルトで、すべてのクラスター egress トラフィック (クラスターをホストするクラウドについてのクラウドプロバイダー API に対する呼び出しを含む) はプロキシーされます。プロキシーオブジェクトの
spec.noProxyフィールドにサイトを追加し、必要に応じてプロキシーをバイパスします。注記プロキシーオブジェクトの
status.noProxyフィールドは、デフォルトでインスタンスメタデータエンドポイント (169.254.169.254) およびインストール設定のnetworking.machineCIDR、networking.clusterNetwork.cidr、およびnetworking.serviceNetworkフィールドの値で設定されます。
手順
install-config.yamlファイルを編集し、プロキシー設定を追加します。以下は例になります。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- クラスター外の HTTP 接続を作成するために使用するプロキシー URL。URL スキームは
httpである必要があります。 - 2
- クラスター外で HTTPS 接続を作成するために使用するプロキシー URL。このフィールドが指定されていない場合、HTTP および HTTPS 接続の両方に
httpProxyが使用されます。URL スキームはhttpである必要があります。httpsは現在サポートされていません。 - 3
- プロキシーを除外するための宛先ドメイン名、ドメイン、IP アドレス、または他のネットワーク CIDR のカンマ区切りの一覧。ドメインのすべてのサブドメインを組み込むために、ドメインの前に
.を入力します。*を使用し、すべての宛先のプロキシーをバイパスします。 - 4
- 指定されている場合、インストールプログラムは HTTPS 接続のプロキシーに必要な 1 つ以上の追加の CA 証明書が含まれる
user-ca-bundleという名前の ConfigMap をopenshift-confignamespace に生成します。次に、Cluster Network Operator は 3 つのコンテンツを Red Hat Enterprise Linux CoreOS (RHCOS) 信頼バンドルにマージするtrusted-ca-bundleConfigMap を作成し、この ConfigMap はプロキシーオブジェクトのtrustedCAフィールドで参照されます。additionalTrustBundleフィールドは、プロキシーのアイデンティティー証明書が RHCOS 信頼バンドルからの認証局によって署名されない限り必要になります。
注記インストールプログラムは、プロキシーの
readinessEndpointsフィールドをサポートしません。- ファイルを保存し、OpenShift Container Platform のインストール時にこれを参照します。
インストールプログラムは、指定の install-config.yaml ファイルのプロキシー設定を使用する cluster という名前のクラスター全体のプロキシーを作成します。プロキシー設定が指定されていない場合、 cluster のプロキシーオブジェクトが依然として作成されますが、これには spec がありません。
cluster という名前のプロキシーオブジェクトのみがサポートされ、追加のプロキシーを作成することはできません。
1.5.5.3. Kubernetes マニフェストおよび Ignition 設定ファイルの作成 リンクのコピーリンクがクリップボードにコピーされました!
一部のクラスター定義ファイルを変更し、クラスターマシンを手動で起動する必要があるため、クラスターがマシンを作成するために必要な Kubernetes マニフェストと Ignition 設定ファイルを生成する必要があります。
インストールプログラムが生成する Ignition 設定ファイルには、24 時間が経過すると期限切れになる証明書が含まれます。最初の証明書のローテーションが正常に実行されるようにするには、クラスターのインストールを完了し、クラスターを動作が低下していない状態で 24 時間実行し続ける必要があります。
前提条件
- OpenShift Container Platform インストールプログラムを取得します。
-
install-config.yamlインストール設定ファイルを作成します。
手順
クラスターの Kubernetes マニフェストを生成します。
./openshift-install create manifests --dir=<installation_directory> WARNING There are no compute nodes specified. The cluster will not fully initialize without compute nodes. INFO Consuming "Install Config" from target directory
$ ./openshift-install create manifests --dir=<installation_directory>1 WARNING There are no compute nodes specified. The cluster will not fully initialize without compute nodes. INFO Consuming "Install Config" from target directoryCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<installation_directory>については、作成したinstall-config.yamlファイルが含まれるインストールディレクトリーを指定します。
インストールプロセスの後の部分で独自のコンピュートマシンを作成するため、この警告を無視しても問題がありません。
コントロールプレーンマシンを定義する Kubernetes マニフェストファイルを削除します。
rm -f openshift/99_openshift-cluster-api_master-machines-*.yaml
$ rm -f openshift/99_openshift-cluster-api_master-machines-*.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow これらのファイルを削除することで、クラスターがコントロールプレーンマシンを自動的に生成するのを防ぐことができます。
ワーカーマシンを定義する Kubernetes マニフェストファイルを削除します。
rm -f openshift/99_openshift-cluster-api_worker-machineset-*.yaml
$ rm -f openshift/99_openshift-cluster-api_worker-machineset-*.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow ワーカーマシンは独自に作成し、管理するため、これらのマシンを初期化する必要はありません。
manifests/cluster-scheduler-02-config.ymlKubernetes マニフェストファイルを変更し、Pod がコントロールプレーンマシンにスケジュールされないようにします。-
manifests/cluster-scheduler-02-config.ymlファイルを開きます。 -
mastersSchedulableパラメーターを見つけ、その値をFalseに設定します。 - ファイルを保存し、終了します。
注記現時点では、Kubernetes の制限により、コントロールプレーンマシンで実行されるルーター Pod に Ingress ロードバランサーがアクセスすることができません。この手順は、OpenShift Container Platform の今後のマイナーバージョンで不要になる可能性があります。
-
オプション: Ingress Operator を DNS レコードを作成するよう設定する必要がない場合は、
manifests/cluster-dns-02-config.ymlDNS 設定ファイルからprivateZoneおよびpublicZoneセクションを削除します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow これを実行する場合、後のステップで Ingress DNS レコードを手動で追加する必要があります。
Ignition 設定ファイルを取得します。
./openshift-install create ignition-configs --dir=<installation_directory>
$ ./openshift-install create ignition-configs --dir=<installation_directory>1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<installation_directory>については、同じインストールディレクトリーを指定します。
以下のファイルはディレクトリーに生成されます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.5.6. インフラストラクチャー名の抽出 リンクのコピーリンクがクリップボードにコピーされました!
Ignition 設定には、Amazon Web Services (AWS) でクラスターを一意に識別するために使用できる一意のクラスター ID が含まれます。提供される CloudFormation テンプレートにはこのインフラストラクチャー名の参照が含まれるため、これを抽出する必要があります。
前提条件
- OpenShift Container Platform インストールプログラム、およびクラスターのプルシークレットを取得します。
- クラスターの Ignition 設定ファイルを生成します。
-
jqパッケージのインストール。
手順
Ignition 設定ファイルメタデータからインフラストラクチャー名を抽出し、表示するには、以下のコマンドを実行します。
jq -r .infraID /<installation_directory>/metadata.json openshift-vw9j6
$ jq -r .infraID /<installation_directory>/metadata.json1 openshift-vw9j62 Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.5.7. AWS での VPC の作成 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform クラスターで使用する VPC を Amazon Web Services (AWS) で作成する必要があります。VPN およびルートテーブルを含む、各種要件を満たすように VPC をカスタマイズできます。VPC を作成するための最も簡単な方法として、提供される CloudFormation テンプレートを変更することができます。
提供される CloudFormation テンプレートを使用して AWS インフラストラクチャーを使用しない場合、提供される情報を確認し、インフラストラクチャーを手動で作成する必要があります。クラスターが適切に初期化されない場合、インストールログを用意して Red Hat サポートに問い合わせする必要がある可能性があります。
前提条件
- AWS アカウントを設定します。
- クラスターの Ignition 設定ファイルを生成します。
手順
テンプレートが必要とするパラメーター値が含まれる JSON ファイルを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - このトピックの「VPC の CloudFormation テンプレート」セクションからテンプレートをコピーし、これをコンピューター上に YAML ファイルとして保存します。このテンプレートは、クラスターに必要な VPC について記述しています。
テンプレートを起動します。
重要単一行にコマンドを入力してください。
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>.yaml2 --parameters file://<parameters>.json3 Copy 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。
1.5.7.1. VPC の CloudFormation テンプレート リンクのコピーリンクがクリップボードにコピーされました!
以下の CloudFormation テンプレートを使用し、OpenShift Container Platform クラスターに必要な VPC をデプロイすることができます。
1.5.8. AWS でのネットワークおよび負荷分散コンポーネントの作成 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform クラスターで使用するネットワークおよび負荷分散 (classic または network) を Amazon Web Services (AWS) で設定する必要があります。これらのコンポーネントを作成するための最も簡単な方法として、提供される CloudFormation テンプレートを変更することができます。 これにより、ホストゾーンおよびサブネットのタグも作成されます。
単一 VPC 内でテンプレートを複数回実行することができます。
提供される CloudFormation テンプレートを使用して AWS インフラストラクチャーを使用しない場合、提供される情報を確認し、インフラストラクチャーを手動で作成する必要があります。クラスターが適切に初期化されない場合、インストールログを用意して Red Hat サポートに問い合わせする必要がある可能性があります。
前提条件
- AWS アカウントを設定します。
- クラスターの Ignition 設定ファイルを生成します。
- AWS で VPC および関連するサブネットを作成し、設定します。
手順
クラスターの
install-config.yamlファイルに指定した Route53 ゾーンのホストゾーン ID を取得します。この ID は、AWS コンソールから、または以下のコマンドを実行して取得できます。重要単一行にコマンドを入力してください。
aws route53 list-hosted-zones-by-name | jq --arg name "<route53_domain>." \ -r '.HostedZones | .[] | select(.Name=="\($name)") | .Id'$ aws route53 list-hosted-zones-by-name | jq --arg name "<route53_domain>." \1 -r '.HostedZones | .[] | select(.Name=="\($name)") | .Id'Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<route53_domain>について、クラスターのinstall-config.yamlファイルを生成した時に作成した Route53 ベースドメインを指定します。
テンプレートが必要とするパラメーター値が含まれる JSON ファイルを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- ホスト名などに使用するクラスターを表す短いクラスターの名前。
- 2
- クラスターの
install-config.yamlファイルを生成した時に使用したクラスター名を指定します。 - 3
- クラスターの Ingition 設定ファイルでエンコードされるクラスターインフラストラクチャーの名前。
- 4
- 形式が
<cluster-name>-<random-string>の Ignition 設定ファイルから抽出したインフラストラクチャー名を指定します。 - 5
- ターゲットの登録に使用する Route53 パブリックトゾーン ID。
- 6
Z21IXYZABCZ2A4に類する形式の Route53 パブリックゾーン ID を指定します。この値は AWS コンソールから取得できます。- 7
- ターゲットの登録に使用する Route53 ゾーン。
- 8
- クラスターの
install-config.yamlファイルを生成した時に使用した Route53 ベースドメインを指定します。AWS コンソールに表示される末尾のピリド (.) は含めないでください。 - 9
- VPC 用に作成したパブリックサブネット。
- 10
- VPC の CloudFormation テンプレートの出力から
PublicSubnetIds値を指定します。 - 11
- VPC 用に作成したプライベートサブネット。
- 12
- VPC の CloudFormation テンプレートの出力から
PrivateSubnetIds値を指定します。 - 13
- クラスター用に作成した VPC。
- 14
- VPC の CloudFormation テンプレートの出力から
VpcId値を指定します。
- このトピックの「ネットワークおよびロードバランサーの CloudFormation テンプレート」セクションからテンプレートをコピーし、これをコンピューター上に YAML ファイルとして保存します。このテンプレートは、クラスターに必要なネットワークおよび負荷分散オブジェクトについて記述しています。
テンプレートを起動します。
重要単一行にコマンドを入力してください。
aws cloudformation create-stack --stack-name <name> --template-body file://<template>.yaml --parameters file://<parameters>.json --capabilities CAPABILITY_NAMED_IAM$ aws cloudformation create-stack --stack-name <name>1 --template-body file://<template>.yaml2 --parameters file://<parameters>.json3 --capabilities CAPABILITY_NAMED_IAMCopy 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 テンプレートに指定する必要があります。PrivateHostedZoneIdプライベート DNS のホストゾーン ID。
ExternalApiLoadBalancerName外部 API ロードバランサーのフルネーム。
InternalApiLoadBalancerName内部 API ロードバランサーのフルネーム。
ApiServerDnsNameAPI サーバーの完全ホスト名。
RegisterNlbIpTargetsLambdaこれらのロードバランサーの登録/登録解除に役立つ Lambda ARN。
ExternalApiTargetGroupArn外部 API ターゲットグループの ARN。
InternalApiTargetGroupArn内部 API ターゲットグループの ARN。
InternalServiceTargetGroupArn内部サービスターゲットグループの ARN。
1.5.8.1. ネットワークおよびロードバランサーの CloudFormation テンプレート リンクのコピーリンクがクリップボードにコピーされました!
以下の CloudFormation テンプレートを使用し、OpenShift Container Platform クラスターに必要なネットワークオブジェクトおよびロードバランサーをデプロイすることができます。
1.5.9. AWS でのセキュリティーグループおよびロールの作成 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform クラスターで使用するセキュリティーグループおよびロールを Amazon Web Services (AWS) で作成する必要があります。これらのコンポーネントを作成するための最も簡単な方法として、提供される CloudFormation テンプレートを変更することができます。
提供される CloudFormation テンプレートを使用して AWS インフラストラクチャーを使用しない場合、提供される情報を確認し、インフラストラクチャーを手動で作成する必要があります。クラスターが適切に初期化されない場合、インストールログを用意して Red Hat サポートに問い合わせする必要がある可能性があります。
前提条件
- AWS アカウントを設定します。
- クラスターの Ignition 設定ファイルを生成します。
- AWS で VPC および関連するサブネットを作成し、設定します。
手順
テンプレートが必要とするパラメーター値が含まれる JSON ファイルを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- クラスターの Ingition 設定ファイルでエンコードされるクラスターインフラストラクチャーの名前。
- 2
- 形式が
<cluster-name>-<random-string>の Ignition 設定ファイルから抽出したインフラストラクチャー名を指定します。 - 3
- VPC の CIDR ブロック。
- 4
x.x.x.x/16-24の形式で定義した VPC に使用した CIDR ブロックパラメーターを指定します。- 5
- VPC 用に作成したプライベートサブネット。
- 6
- VPC の CloudFormation テンプレートの出力から
PrivateSubnetIds値を指定します。 - 7
- クラスター用に作成した VPC。
- 8
- VPC の CloudFormation テンプレートの出力から
VpcId値を指定します。
- このトピックの「セキュリティーオブジェクトの CloudFormation テンプレート」セクションからテンプレートをコピーし、これをコンピューター上に YAML ファイルとして保存します。このテンプレートは、クラスターに必要なセキュリティーグループおよびロールについて記述しています。
テンプレートを起動します。
重要単一行にコマンドを入力してください。
aws cloudformation create-stack --stack-name <name> --template-body file://<template>.yaml --parameters file://<parameters>.json --capabilities CAPABILITY_NAMED_IAM$ aws cloudformation create-stack --stack-name <name>1 --template-body file://<template>.yaml2 --parameters file://<parameters>.json3 --capabilities CAPABILITY_NAMED_IAMCopy 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 テンプレートに指定する必要があります。MasterSecurityGroupIdマスターセキュリティーグループ ID
WorkerSecurityGroupIdワーカーセキュリティーグループ ID
MasterInstanceProfileマスター IAM インスタンスプロファイル
WorkerInstanceProfileワーカー IAM インスタンスプロファイル
1.5.9.1. セキュリティーオブジェクトの CloudFormation テンプレート リンクのコピーリンクがクリップボードにコピーされました!
以下の CloudFormation テンプレートを使用し、OpenShift Container Platform クラスターに必要なセキュリティーオブジェクトをデプロイすることができます。
1.5.10. AWS インフラストラクチャーの RHCOS AMI リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform ノードについて、Amazon Web Services (AWS) ゾーンの有効な Red Hat Enterprise Linux CoreOS (RHCOS) AMI を使用する必要があります。
| AWS ゾーン | AWS AMI |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1.5.11. AWS でのブートストラップノードの作成 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform クラスターの初期化で使用するブートストラップノードを Amazon Web Services (AWS) で作成する必要があります。このノードを作成するための最も簡単な方法として、提供される CloudFormation テンプレートを変更することができます。
提供される CloudFormation テンプレートを使用してブートストラップノードを作成しない場合、提供される情報を確認し、インフラストラクチャーを手動で作成する必要があります。クラスターが適切に初期化されない場合、インストールログを用意して Red Hat サポートに問い合わせする必要がある可能性があります。
前提条件
- AWS アカウントを設定します。
- クラスターの Ignition 設定ファイルを生成します。
- AWS で VPC および関連するサブネットを作成し、設定します。
- AWS で DNS、ロードバランサー、およびリスナーを作成し、設定します。
- コントロールプレーンおよびコンピュートロールを作成します。
手順
bootstrap.ignIgnition 設定ファイルをクラスターに送るための場所を指定します。このファイルはインストールディレクトリーに置かれます。これを実行するための 1 つの方法として、クラスターのリージョンに S3 バケットを作成し、Ignition 設定ファイルをこれにアップロードします。重要提供される CloudFormation テンプレートでは、クラスターの Ignition 設定ファイルは S3 バケットから送られることを前提としています。このファイルを別の場所から送ることを選択する場合は、テンプレートを変更する必要があります。
注記ブートストラップ Ignition 設定ファイルには、X.509 キーのようなシークレットが含まれません。以下の手順では、S3 バケットの基本的なセキュリティーを提供します。追加のセキュリティーを提供するには、OpenShift IAM ユーザーなどの特定のユーザーのみがバケットに含まれるオブジェクトにアクセスできるように S3 バケットポリシーを有効にできます。S3 を完全に回避し、ブートストラップマシンが到達できるアドレスからブートストラップ Ignition 設定ファイルを送ることができます。
バケットを作成します。
aws s3 mb s3://<cluster-name>-infra
$ aws s3 mb s3://<cluster-name>-infra1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<cluster-name>-infraはバケット名です。
bootstrap.ignIgnition 設定ファイルをバケットにアップロードします。aws s3 cp bootstrap.ign s3://<cluster-name>-infra/bootstrap.ign
$ aws s3 cp bootstrap.ign s3://<cluster-name>-infra/bootstrap.ignCopy to Clipboard Copied! Toggle word wrap Toggle overflow ファイルがアップロードされていることを確認します。
aws s3 ls s3://<cluster-name>-infra/ 2019-04-03 16:15:16 314878 bootstrap.ign
$ aws s3 ls s3://<cluster-name>-infra/ 2019-04-03 16:15:16 314878 bootstrap.ignCopy to Clipboard Copied! Toggle word wrap Toggle overflow
テンプレートが必要とするパラメーター値が含まれる JSON ファイルを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- クラスターの Ingition 設定ファイルでエンコードされるクラスターインフラストラクチャーの名前。
- 2
- 形式が
<cluster-name>-<random-string>の Ignition 設定ファイルから抽出したインフラストラクチャー名を指定します。 - 3
- ブートストラップノードに使用する最新の Red Hat Enterprise Linux CoreOS (RHCOS) AMI。
- 4
- 有効な
AWS::EC2::Image::Id値を指定します。 - 5
- ブートストラップノードへの SSH アクセスを許可する CIDR ブロック。
- 6
x.x.x.x/16-24形式で CIDR ブロックを指定します。- 7
- ブートストラップを起動するために VPC に関連付けられるパブリックサブネット。
- 8
- VPC の CloudFormation テンプレートの出力から
PublicSubnetIds値を指定します。 - 9
- マスターセキュリティーグループ ID (一時ルールの登録用)
- 10
- セキュリティーグループおよびロールの CloudFormation テンプレートから
MasterSecurityGroupId値を指定します。 - 11
- 作成されたリソースが属する VPC。
- 12
- VPC の CloudFormation テンプレートの出力から
VpcId値を指定します。 - 13
- ブートストラップの Ignition 設定ファイルをフェッチする場所。
- 14
- ブートストラップファイルの場所を指定します。
s3://<bucket_name>/bootstrap.ignの形式で S3 バケットおよびファイル名を入力します。 - 15
- ネットワークロードバランサー (NLB) を登録するかどうか。
- 16
yesまたはnoを指定します。yesを指定する場合、Lambda Amazon Resource Name (ARN) の値を指定する必要があります。- 17
- NLB IP ターゲット登録 lambda グループの ARN。
- 18
- DNS および負荷分散の CloudFormation テンプレートの出力から
RegisterNlbIpTargetsLambda値を指定します。 - 19
- 外部 API ロードバランサーのターゲットグループの ARN。
- 20
- DNS および負荷分散の CloudFormation テンプレートの出力から
ExternalApiTargetGroupArn値を指定します。 - 21
- 内部 API ロードバランサーのターゲットグループの ARN。
- 22
- DNS および負荷分散の CloudFormation テンプレートの出力から
InternalApiTargetGroupArn値を指定します。 - 23
- 内部サービスバランサーのターゲットグループの ARN。
- 24
- DNS および負荷分散の CloudFormation テンプレートの出力から
InternalServiceTargetGroupArn値を指定します。
- このトピックの「ブートストラップマシンの CloudFormation テンプレート」セクションからテンプレートをコピーし、これをコンピューター上に YAML ファイルとして保存します。このテンプレートは、クラスターに必要なブートストラップマシンについて記述しています。
テンプレートを起動します。
重要単一行にコマンドを入力してください。
aws cloudformation create-stack --stack-name <name> --template-body file://<template>.yaml --parameters file://<parameters>.json --capabilities CAPABILITY_NAMED_IAM$ aws cloudformation create-stack --stack-name <name>1 --template-body file://<template>.yaml2 --parameters file://<parameters>.json3 --capabilities CAPABILITY_NAMED_IAMCopy 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 テンプレートに指定する必要があります。BootstrapInstanceIdブートストラップインスタンス ID。
BootstrapPublicIpブートストラップノードのパブリック IP アドレス。
BootstrapPrivateIpブートストラップノードのプライベート IP アドレス。
1.5.11.1. ブートストラップマシンの CloudFormation テンプレート リンクのコピーリンクがクリップボードにコピーされました!
以下の CloudFormation テンプレートを使用し、OpenShift Container Platform クラスターに必要なブートストラップマシンをデプロイできます。
1.5.12. AWS でのコントロールプレーンの作成 リンクのコピーリンクがクリップボードにコピーされました!
クラスターで使用するコントロールプレーンマシンを Amazon Web Services (AWS) で作成する必要があります。これらのノードを作成するための最も簡単な方法として、提供される CloudFormation テンプレートを変更することができます。
提供される CloudFormation テンプレートを使用してコントロールプレーンノードを作成しない場合、提供される情報を確認し、インフラストラクチャーを手動で作成する必要があります。クラスターが適切に初期化されない場合、インストールログを用意して Red Hat サポートに問い合わせする必要がある可能性があります。
前提条件
- AWS アカウントを設定します。
- クラスターの Ignition 設定ファイルを生成します。
- AWS で VPC および関連するサブネットを作成し、設定します。
- AWS で DNS、ロードバランサー、およびリスナーを作成し、設定します。
- コントロールプレーンおよびコンピュートロールを作成します。
- ブートストラップマシンを作成します。
手順
テンプレートが必要とするパラメーター値が含まれる JSON ファイルを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- クラスターの Ingition 設定ファイルでエンコードされるクラスターインフラストラクチャーの名前。
- 2
- 形式が
<cluster-name>-<random-string>の Ignition 設定ファイルから抽出したインフラストラクチャー名を指定します。 - 3
- コントロールプレーンマシンに使用する最新の Red Hat Enterprise Linux CoreOS (RHCOS) AMI。
- 4
AWS::EC2::Image::Id値を指定します。- 5
- DNS etcd 登録を実行するかどうか。
- 6
yesまたはnoを指定します。yesを指定する場合、ホストゾーンの情報を指定する必要があります。- 7
- etcd ターゲットの登録に使用する Route53 プライベートゾーン ID。
- 8
- DNS および負荷分散の CloudFormation テンプレートの出力から
PrivateHostedZoneId値を指定します。 - 9
- ターゲットの登録に使用する Route53 ゾーン。
- 10
<cluster_name>.<domain_name>を指定します。ここで、<domain_name>はクラスターのinstall-config.yamlファイルの生成時に使用した Route53 ベースドメインです。AWS コンソールに表示される末尾のピリド (.) は含めないでください。- 11 13 15
- コントロールプレーンマシンの起動に使用するサブネット (プライベートが望ましい)。
- 12 14 16
- DNS および負荷分散の CloudFormation テンプレートの出力から
PrivateSubnets値のサブネットを指定します。 - 17
- マスターノードに関連付けるマスターセキュリティーグループ ID。
- 18
- セキュリティーグループおよびロールの CloudFormation テンプレートから
MasterSecurityGroupId値を指定します。 - 19
- コントロールプレーンの Ignition 設定ファイルをフェッチする場所。
- 20
- 生成される Ignition 設定ファイルの場所を指定します (
https://api-int.<cluster_name>.<domain_name>:22623/config/master)。 - 21
- 使用する base64 でエンコードされた認証局の文字列。
- 22
- インストールディレクトリーにある
master.ignファイルから値を指定します。この値は、data:text/plain;charset=utf-8;base64,ABC…xYz==形式の長い文字列です。 - 23
- マスターロールに関連付ける IAM プロファイル。
- 24
- セキュリティーグループおよびロールの CloudFormation テンプレートの出力から
MasterInstanceProfileパラメーターの値を指定します。 - 25
- コントロールプレーンマシンに使用する AWS インスタンスのタイプ。
- 26
- 許可される値:
-
m4.xlarge -
m4.2xlarge -
m4.4xlarge -
m4.8xlarge -
m4.10xlarge -
m4.16xlarge -
c4.2xlarge -
c4.4xlarge -
c4.8xlarge -
r4.xlarge -
r4.2xlarge -
r4.4xlarge -
r4.8xlarge r4.16xlarge重要m4インスタンスタイプがeu-west-3などのリージョンで利用可能ではない場合、m5.xlargeなどのようにm5タイプを代わりに使用します。
-
- 27
- ネットワークロードバランサー (NLB) を登録するかどうか。
- 28
yesまたはnoを指定します。yesを指定する場合、Lambda Amazon Resource Name (ARN) の値を指定する必要があります。- 29
- NLB IP ターゲット登録 lambda グループの ARN。
- 30
- DNS および負荷分散の CloudFormation テンプレートの出力から
RegisterNlbIpTargetsLambda値を指定します。 - 31
- 外部 API ロードバランサーのターゲットグループの ARN。
- 32
- DNS および負荷分散の CloudFormation テンプレートの出力から
ExternalApiTargetGroupArn値を指定します。 - 33
- 内部 API ロードバランサーのターゲットグループの ARN。
- 34
- DNS および負荷分散の CloudFormation テンプレートの出力から
InternalApiTargetGroupArn値を指定します。 - 35
- 内部サービスバランサーのターゲットグループの ARN。
- 36
- DNS および負荷分散の CloudFormation テンプレートの出力から
InternalServiceTargetGroupArn値を指定します。
- このトピックの「コントロールプレーンマシンの CloudFormation テンプレート」セクションからテンプレートをコピーし、これをコンピューター上に YAML ファイルとして保存します。このテンプレートは、クラスターに必要なコントロールプレーンのマシンについて記述しています。
-
m5インスタンスタイプをMasterInstanceTypeの値として指定している場合、そのインスタンスタイプを CloudFormation テンプレートのMasterInstanceType.AllowedValuesパラメーターに追加します。 テンプレートを起動します。
重要単一行にコマンドを入力してください。
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>.yaml2 --parameters file://<parameters>.json3 Copy 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
1.5.12.1. コントロールプレーンマシンの CloudFormation テンプレート リンクのコピーリンクがクリップボードにコピーされました!
以下の CloudFormation テンプレートを使用し、OpenShift Container Platform クラスターに必要なコントロールプレーンマシンをデプロイすることができます。
1.5.13. ユーザーによってプロビジョニングされるインフラストラクチャーでの AWS でのブートストラップノードの初期化 リンクのコピーリンクがクリップボードにコピーされました!
Amazon Web Services (AWS) ですべての必要なインフラストラクチャーを作成した後に、クラスターをインストールできます。
前提条件
- AWS アカウントを設定します。
- クラスターの Ignition 設定ファイルを生成します。
- AWS で VPC および関連するサブネットを作成し、設定します。
- AWS で DNS、ロードバランサー、およびリスナーを作成し、設定します。
- コントロールプレーンおよびコンピュートロールを作成します。
- ブートストラップマシンを作成します。
- コントロールプレーンマシンを作成します。
- ワーカーマシンを手動で管理する予定の場合には、ワーカーマシンを作成します。
手順
インストールプログラムが含まれるディレクトリーに切り替え、以下のコマンドを実行します。
./openshift-install wait-for bootstrap-complete --dir=<installation_directory> \ --log-level=info$ ./openshift-install wait-for bootstrap-complete --dir=<installation_directory> \1 --log-level=info2 Copy to Clipboard Copied! Toggle word wrap Toggle overflow コマンドが
FATAL警告を出さずに終了する場合、実稼働用のコントロールプレーンは初期化されています。
1.5.13.1. AWS でのワーカーノードの作成 リンクのコピーリンクがクリップボードにコピーされました!
クラスターで使用するワーカーノードを Amazon Web Services (AWS) で作成できます。これらのノードを作成するための最も簡単な方法として、提供される CloudFormation テンプレートを変更することができます。
CloudFormation テンプレートは、1 つのワーカーマシンを表すスタックを作成します。それぞれのワーカーマシンにスタックを作成する必要があります。
提供される CloudFormation テンプレートを使用してワーカーノードを作成しない場合、提供される情報を確認し、インフラストラクチャーを手動で作成する必要があります。クラスターが適切に初期化されない場合、インストールログを用意して Red Hat サポートに問い合わせする必要がある可能性があります。
前提条件
- AWS アカウントを設定します。
- クラスターの Ignition 設定ファイルを生成します。
- AWS で VPC および関連するサブネットを作成し、設定します。
- AWS で DNS、ロードバランサー、およびリスナーを作成し、設定します。
- コントロールプレーンおよびコンピュートロールを作成します。
- ブートストラップマシンを作成します。
- コントロールプレーンマシンを作成します。
手順
CloudFormation テンプレートが必要とするパラメーター値が含まれる JSON ファイルを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- クラスターの Ingition 設定ファイルでエンコードされるクラスターインフラストラクチャーの名前。
- 2
- 形式が
<cluster-name>-<random-string>の Ignition 設定ファイルから抽出したインフラストラクチャー名を指定します。 - 3
- ワーカーノードに使用する最新の Red Hat Enterprise Linux CoreOS(RHCOS)AMI。
- 4
AWS::EC2::Image::Id値を指定します。- 5
- ワーカーノードを起動するサブネット (プライベートが望ましい)。
- 6
- DNS および負荷分散の CloudFormation テンプレートの出力から
PrivateSubnets値のサブネットを指定します。 - 7
- ワーカーノードに関連付けるワーカーセキュリティーグループ ID。
- 8
- セキュリティーグループおよびロールの CloudFormation テンプレートの出力から
WorkerSecurityGroupId値を指定します。 - 9
- ブートストラップの Ignition 設定ファイルをフェッチする場所。
- 10
- 生成される Ignition 設定の場所を指定します。
https://api-int.<cluster_name>.<domain_name>:22623/config/worker - 11
- 使用する base64 でエンコードされた認証局の文字列。
- 12
- インストールディレクトリーにある
worker.ignファイルから値を指定します。この値は、data:text/plain;charset=utf-8;base64,ABC…xYz==形式の長い文字列です。 - 13
- ワーカーロールに関連付ける IAM プロファイル。
- 14
- セキュリティーグループおよびロールの CloudFormation テンプレートの出力から
WokerInstanceProfileパラメーターの値を指定します。 - 15
- コントロールプレーンマシンに使用する AWS インスタンスのタイプ。
- 16
- 許可される値:
-
m4.large -
m4.xlarge -
m4.2xlarge -
m4.4xlarge -
m4.8xlarge -
m4.10xlarge -
m4.16xlarge -
c4.large -
c4.xlarge -
c4.2xlarge -
c4.4xlarge -
c4.8xlarge -
r4.large -
r4.xlarge -
r4.2xlarge -
r4.4xlarge -
r4.8xlarge r4.16xlarge重要m4インスタンスがeu-west-3などのリージョンで利用可能ではない場合、m5タイプを代わりに使用します。
-
- このトピックの「ワーカーマシンの CloudFormation テンプレート」セクションからテンプレートをコピーし、これをコンピューター上に YAML ファイルとして保存します。このテンプレートは、クラスターに必要なネットワークオブジェクトおよびロードバランサーについて記述しています。
-
m5インスタンスタイプをWorkerInstanceTypeの値として指定している場合、そのインスタンスタイプを CloudFormation テンプレートのWorkerInstanceType.AllowedValuesパラメーターに追加します。 ワーカースタックを作成します。
テンプレートを起動します。
重要単一行にコマンドを入力してください。
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 テンプレートのコンポーネントが存在することを確認します。
aws cloudformation describe-stacks --stack-name <name>
$ aws cloudformation describe-stacks --stack-name <name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
クラスターに作成するワーカーマシンが十分な数に達するまでワーカースタックの作成を継続します。
重要2 つ以上のワーカーマシンを作成する必要があるため、この CloudFormation テンプレートを使用する 2 つ以上のスタックを作成する必要があります。
1.5.13.1.1. ワーカーマシンの CloudFormation テンプレート リンクのコピーリンクがクリップボードにコピーされました!
以下の CloudFormation テンプレートを使用し、OpenShift Container Platform クラスターに必要なワーカーマシンをデプロイすることができます。
1.5.14. CLI のインストール リンクのコピーリンクがクリップボードにコピーされました!
コマンドラインインターフェースを使用して OpenShift Container Platform と対話するために CLI をインストールすることができます。
以前のバージョンの oc をインストールしている場合、これを使用して OpenShift Container Platform 4.2 のすべてのコマンドを実行することはできません。新規バージョンの ocをダウンロードし、インストールします。
手順
- Red Hat OpenShift Cluster Manager サイトの Infrastructure Provider ページから、選択するインストールタイプのページに移動し、Download Command-line Tools をクリックします。
オペレーティングシステムおよびアーキテクチャーのフォルダーをクリックしてから、圧縮されたファイルをクリックします。
注記ocは Linux、Windows、または macOS にインストールできます。- ファイルをファイルシステムに保存します。
- 圧縮ファイルを展開します。
-
これを
PATHにあるディレクトリーに配置します。
CLI のインストール後は、oc コマンドを使用して利用できます。
oc <command>
$ oc <command>
1.5.15. クラスターへのログイン リンクのコピーリンクがクリップボードにコピーされました!
クラスター 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 system:admin
$ oc whoami system:adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow
1.5.16. マシンの CSR の承認 リンクのコピーリンクがクリップボードにコピーされました!
マシンをクラスターに追加する際に、追加したそれぞれのマシンについて 2 つの保留状態の証明書署名要求 (CSR) が生成されます。これらの CSR が承認されていることを確認するか、または必要な場合はそれらを承認してください。
前提条件
- マシンをクラスターに追加していること。
手順
クラスターがマシンを認識していることを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力には作成したすべてのマシンが一覧表示されます。
保留中の証明書署名要求 (CSR) を確認し、クラスターに追加したそれぞれのマシンのクライアントおよびサーバー要求に
PendingまたはApprovedステータスが表示されていることを確認します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow この例では、2 つのマシンがクラスターに参加しています。この一覧にはさらに多くの承認された CSR が表示される可能性があります。
追加したマシンの保留中の CSR すべてが
Pendingステータスになった後に CSR が承認されない場合には、クラスターマシンの CSR を承認します。注記CSR のローテーションは自動的に実行されるため、クラスターにマシンを追加後 1 時間以内に CSR を承認してください。1 時間以内に承認しない場合には、証明書のローテーションが行われ、各ノードに 3 つ以上の証明書が存在するようになります。これらの証明書すべてを承認する必要があります。最初の CSR の承認後、後続のノードクライアント CSR はクラスターの
kube-controller-mangerによって自動的に承認されます。kubelet 提供証明書の要求を自動的に承認する方法を実装する必要があります。それらを個別に承認するには、それぞれの有効な CSR について以下のコマンドを実行します。
oc adm certificate approve <csr_name>
$ oc adm certificate approve <csr_name>1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<csr_name>は、現行の CSR の一覧からの CSR の名前です。
すべての保留中の CSR を承認するには、以下のコマンドを実行します。
oc get csr -o go-template='{{range .items}}{{if not .status}}{{.metadata.name}}{{"\n"}}{{end}}{{end}}' | xargs oc adm certificate approve$ oc get csr -o go-template='{{range .items}}{{if not .status}}{{.metadata.name}}{{"\n"}}{{end}}{{end}}' | xargs oc adm certificate approveCopy to Clipboard Copied! Toggle word wrap Toggle overflow
1.5.17. Operator の初期設定 リンクのコピーリンクがクリップボードにコピーされました!
コントロールプレーンの初期化後に、一部の Operator を利用可能にするためにそれらをすぐに設定する必要があります。
前提条件
- コントロールプレーンが初期化されていること。
手順
クラスターコンポーネントがオンラインになることを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 利用不可の Operator を設定します。
1.5.17.1. イメージレジストリーストレージの設定 リンクのコピーリンクがクリップボードにコピーされました!
image-registry Operator が利用できない場合、そのストレージを設定する必要があります。実稼働クラスターに必要な PersistentVolume の設定方法と、実稼働用ではないクラスターにのみ使用できる空のディレクトリーをストレージの場所として設定する方法が表示されます。
1.5.17.1.1. ユーザーによってプロビジョニングされるインフラストラクチャーで AWS のレジストリーストレージを設定する リンクのコピーリンクがクリップボードにコピーされました!
インストール時に、S3 バケットを作成するにはクラウド認証情報を使用でき、レジストリー Operator がストレージを自動的に設定します。
レジストリー Operator が S3 バケットを作成できず、ストレージを自動的に設定する場合、以下の手順により S3 バケットを作成し、ストレージを設定することができます。
前提条件
- ユーザーによってプロビジョニングされるインフラストラクチャーでの AWS 上のクラスター
AWS ストレージの S3 の場合、シークレットには以下のキーが含まれることが予想されます。
-
REGISTRY_STORAGE_S3_ACCESSKEY -
REGISTRY_STORAGE_S3_SECRETKEY
-
手順
レジストリー Operator が S3 バケットを作成できず、ストレージを自動的に設定する場合は、以下の手順を使用してください。
- バケットライフサイクルポリシーを設定し、1 日以上経過している未完了のマルチパートアップロードを中止します。
configs.imageregistry.operator.openshift.io/clusterにストレージ設定を入力します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
AWS でレジストリーイメージのセキュリティーを保護するには、S3 バケットに対してパブリックアクセスのブロックを実行します。
1.5.17.1.2. 実稼働以外のクラスターでのイメージレジストリーのストレージの設定 リンクのコピーリンクがクリップボードにコピーされました!
イメージレジストリー Operator のストレージを設定する必要があります。実稼働用以外のクラスターの場合、イメージレジストリーは空のディレクトリーに設定することができます。これを実行する場合、レジストリーを再起動するとすべてのイメージが失われます。
手順
イメージレジストリーストレージを空のディレクトリーに設定するには、以下を実行します。
oc patch configs.imageregistry.operator.openshift.io cluster --type merge --patch '{"spec":{"storage":{"emptyDir":{}}}}'$ oc patch configs.imageregistry.operator.openshift.io cluster --type merge --patch '{"spec":{"storage":{"emptyDir":{}}}}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 警告実稼働用以外のクラスターにのみこのオプションを設定します。
イメージレジストリー Operator がそのコンポーネントを初期化する前にこのコマンドを実行する場合、
oc patchコマンドは以下のエラーを出して失敗します。Error from server (NotFound): configs.imageregistry.operator.openshift.io "cluster" not found
Error from server (NotFound): configs.imageregistry.operator.openshift.io "cluster" not foundCopy to Clipboard Copied! Toggle word wrap Toggle overflow 数分待機した後に、このコマンドを再び実行します。
1.5.18. ブートストラップリソースの削除 リンクのコピーリンクがクリップボードにコピーされました!
クラスターの初期 Operator 設定の完了後に、Amazon Web Services (AWS) からブートストラップリソースを削除します。
前提条件
- クラスターの初期 Operator 設定を完了している。
1.5.19. Ingress DNS レコードの作成 リンクのコピーリンクがクリップボードにコピーされました!
DNS ゾーン設定を削除した場合には、Ingress ロードバランサーを参照する DNS レコードを手動で作成します。ワイルドカードレコードまたは特定のレコードのいずれかを作成できます。以下の手順では A レコードを使用しますが、CNAME やエイリアスなどの必要な他のレコードタイプを使用できます。
前提条件
- 独自にプロビジョニングしたインフラストラクチャーを使用する OpenShift Container Platform クラスターを Amazon Web Services (AWS) にデプロイしている。
-
ocとして知られる OpenShift コマンドラインインターフェース (CLI) のインストール。 -
jqパッケージのインストール。 - AWS CLI をダウンロードし、これをコンピューターにインストールします。「Install the AWS CLI Using the Bundled Installer (Linux, macOS, or Unix)」を参照してください。
手順
作成するルートを決定します。
-
ワイルドカードレコードを作成するには、
*.apps.<cluster_name>.<domain_name>を使用します。ここで、<cluster_name>はクラスター名で、<domain_name>は OpenShift Container Platform クラスターの Route53 ベースドメインです。 特定のレコードを作成するには、以下のコマンドの出力にあるように、クラスターが使用する各ルートにレコードを作成する必要があります。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
ワイルドカードレコードを作成するには、
Ingress Operator ロードバランサーのステータスを取得し、使用する外部 IP アドレスの値をメモします。これは
EXTERNAL-IP列に表示されます。oc -n openshift-ingress get service router-default NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE router-default LoadBalancer 172.30.62.215 ab3...28.us-east-2.elb.amazonaws.com 80:31499/TCP,443:30693/TCP 5m
$ oc -n openshift-ingress get service router-default NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE router-default LoadBalancer 172.30.62.215 ab3...28.us-east-2.elb.amazonaws.com 80:31499/TCP,443:30693/TCP 5mCopy to Clipboard Copied! Toggle word wrap Toggle overflow ロードバランサーのホストゾーン ID を見つけます。
aws elb describe-load-balancers | jq -r '.LoadBalancerDescriptions[] | select(.DNSName == "<external_ip>").CanonicalHostedZoneNameID' Z3AADJGX6KTTL2
$ aws elb describe-load-balancers | jq -r '.LoadBalancerDescriptions[] | select(.DNSName == "<external_ip>").CanonicalHostedZoneNameID'1 Z3AADJGX6KTTL2Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<external_ip>については、取得した Ingress Operator ロードバランサーの外部 IP アドレスの値を指定します。
このコマンドの出力は、ロードバランサーのホストゾーン ID です。
クラスターのドメインのパブリックホストゾーン ID を取得します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ドメインのパブリックホストゾーン ID がコマンド出力に表示されます。この例では、これは
Z3URY6TWQ91KVVになります。プライベートゾーンにエイリアスレコードを追加します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<private_hosted_zone_id>については、DNS および負荷分散の CloudFormation テンプレートの出力から値を指定します。- 2
<cluster_domain>については、OpenShift Container Platform クラスターで使用するドメインまたはサブドメインを指定します。- 3
<hosted_zone_id>については、取得したロードバランサーのパブリックホストゾーン ID を指定します。- 4
<external_ip>については、Ingress Operator ロードバランサーの外部 IP アドレスの値を指定します。このパラメーターの値に末尾のピリオド (.) が含まれていることを確認します。
パブリックゾーンにレコードを追加します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<public_hosted_zone_id>については、ドメインのパブリックホストゾーンを指定します。- 2
<cluster_domain>については、OpenShift Container Platform クラスターで使用するドメインまたはサブドメインを指定します。- 3
<hosted_zone_id>については、取得したロードバランサーのパブリックホストゾーン ID を指定します。- 4
<external_ip>については、Ingress Operator ロードバランサーの外部 IP アドレスの値を指定します。このパラメーターの値に末尾のピリオド (.) が含まれていることを確認します。
1.5.20. ユーザーによってプロビジョニングされるインフラストラクチャーでの AWS インストールの実行 リンクのコピーリンクがクリップボードにコピーされました!
Amazon Web Service (AWS) のユーザーによってプロビジョニングされるインフラストラクチャーで OpenShift Container Platform のインストールを開始した後に、デプロイメントを完了するまでモニターします。
前提条件
- OpenShift Container Platform クラスターのブートストラップノードを、ユーザーによってプロビジョニングされた AWS インフラストラクチャーで削除していること。
-
ocCLI のインストールおよびログイン。
手順
クラスターのインストールを完了します。
./openshift-install --dir=<installation_directory> wait-for install-complete INFO Waiting up to 30m0s for the cluster to initialize...
$ ./openshift-install --dir=<installation_directory> wait-for install-complete1 INFO Waiting up to 30m0s for the cluster to initialize...Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<installation_directory>については、インストールファイルを保存したディレクトリーへのパスを指定します。
重要インストールプログラムが生成する Ignition 設定ファイルには、24 時間が経過すると期限切れになる証明書が含まれます。最初の証明書のローテーションが正常に実行されるようにするには、クラスターを動作が低下していない状態で 24 時間実行し続ける必要があります。
次のステップ
- クラスターをカスタマイズします。
- 必要な場合は、リモートの健全性レポートをオプトアウトすることができます。
1.6. ミラーリングされたインストールコンテンツを使用するクラスターの AWS へのインストール リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform バージョン 4.2 では、各自でプロビジョニングするインフラストラクチャーおよびインストールリリースコンテンツの内部ミラーを使用して、クラスターを Amazon Web Services (AWS) にインストールできます
ミラーリングされたインストールリリースのコンテンツを使用して OpenShift Container Platform クラスターをインストールすることは可能ですが、クラスターが AWS API を使用するにはインターネットへのアクセスが必要になります。
このインフラストラクチャーを作成する 1 つの方法として、提供される CloudFormation テンプレートを使用できます。テンプレートを変更してインフラストラクチャーをカスタマイズしたり、それらに含まれる情報を使用し、所属する会社のポリシーに基づいて AWS オブジェクトを作成したりできます。
前提条件
bastion ホストでミラーレジストリーを作成し、OpenShift Container Platform の使用しているバージョン用の
imageContentSourcesデータを取得します。重要インストールメディアは bastion ホストにあるため、そのコンピューターを使用してすべてのインストール手順を完了します。
- OpenShift Container Platform のインストールおよび更新プロセスについての詳細を確認します。
AWS アカウントを設定してクラスターをホストします。
重要AWS プロファイルがご使用のコンピューターに保存されている場合、マルチファクター認証デバイスを使用中に生成した一時的なセッショントークンを使用することはできません。クラスターは継続的に現行の AWS 認証情報を使用して、クラスターの有効期間全体にわたって AWS リソースを作成するため、キーをベースとした有効期間の長い認証情報を使用する必要があります。適切なキーを生成するには、AWS ドキュメントの「Managing Access Keys for IAM Users」を参照してください。キーは、インストールプログラムの実行時に指定できます。
- AWS CLI をダウンロードし、これをコンピューターにインストールします。AWS ドキュメントの「Install the AWS CLI Using the Bundled Installer (Linux, macOS, or Unix)」を参照してください。
ファイアウォールを使用し、Telemetry を使用する予定がある場合は、クラスターがアクセスする必要のあるサイトを許可するようにファイアウォールを設定する必要があります。
注記プロキシーを設定する場合は、このサイト一覧も確認してください。
1.6.1. ネットワークが制限された環境でのインストールについて リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform 4.2 では、ソフトウェアコンポーネントを取得するためにインターネットへのアクティブな接続を必要としないインストールを実行できます。インストールプログラムでプロビジョニングされるインフラストラクチャーではなく、ユーザーによってプロビジョニングされるインフラストラクチャー上でのみネットワークが制限された環境でのインストールを実行します。そのため、プラットフォームの選択は制限されます。
クラウドプラットフォーム上でネットワークが制限されたインストールの実行を選択した場合でも、そのクラウド API へのアクセスが必要になります。Amazon Web Service の IAM サービスなどの一部のクラウド機能はインターネットアクセスを必要とするため、インターネットアクセスが依然として必要になる場合があります。ネットワークによっては、ベアメタルハードウェアまたは VMware vSphere へのインストールには、インターネットアクセスが必要になる場合があります。
ネットワークが制限されたインストールを完了するには、OpenShift Container Platform レジストリーのコンテンツをミラーリングし、インストールメディアを含むレジストリーを作成する必要があります。このミラーは、インターネットと制限されたネットワークの両方にアクセスできる bastion ホストで、または制限に対応する他の方法を使用して作成できます。
ネットワークが制限されたインストールはユーザーによってプロビジョニングされるインフラストラクチャーを常に使用します。ユーザーによってプロビジョニングされるインストールの設定は複雑であるため、ネットワークが制限されたインストールを試行する前に、標準的なユーザーによってプロビジョニングされるインフラストラクチャーを実行することを検討してください。このテストが完了すると、ネットワークが制限されたインストール時に発生する可能性のある問題の切り分けやトラブルシューティングがより容易になります。
1.6.1.1. その他の制限 リンクのコピーリンクがクリップボードにコピーされました!
ネットワークが制限された環境のクラスターには、以下の追加の制限および制約があります。
-
ClusterVersion ステータスには
Unable to retrieve available updatesエラーが含まれます。 - デフォルトで、開発者カタログのコンテンツは、必要とされる ImageStreamTag にアクセスできないために使用できません。
1.6.2. OpenShift Container Platform のインターネットアクセスおよび Telemetry アクセス リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform 4.2 では、クラスターをインストールするためにインターネットアクセスが必要になります。クラスターの健全性および正常に実行された更新についてのメトリクスを提供するためにデフォルトで実行される Telemetry サービスにもインターネットアクセスが必要です。クラスターがインターネットに接続されている場合、Telemetry は自動的に実行され、クラスターは Red Hat OpenShift Cluster Manager (OCM) に登録されます。
Red Hat OpenShift Cluster Manager インベントリーが Telemetry によって自動的に維持されるか、または OCM を手動で使用しているかのいずれによって正常であることを確認した後に、subscription watch を使用して、アカウントまたはマルチクラスターレベルで OpenShift Container Platform サブスクリプションを追跡します。
インターネットへのアクセスは以下を実行するために必要です。
- Red Hat OpenShift Cluster Manager ページにアクセスし、インストールプログラムをダウンロードし、サブスクリプション管理を実行します。クラスターにインターネットアクセスがあり、Telemetry を無効にしない場合、そのサービスは有効なサブスクリプションでクラスターを自動的に使用します。
- クラスターのインストールに必要なパッケージを取得するために Quay.io にアクセスします。
- クラスターの更新を実行するために必要なパッケージを取得します。
クラスターでインターネットに直接アクセスできない場合、プロビジョニングする一部のタイプのインフラストラクチャーでネットワークが制限されたインストールを実行できます。このプロセスで、必要なコンテンツをダウンロードし、これを使用してミラーレジストリーにクラスターのインストールおよびインストールプログラムの生成に必要なパッケージを設定します。 インストールタイプによっては、クラスターのインストール環境でインターネットアクセスが不要となる場合があります。クラスターを更新する前に、ミラーレジストリーのコンテンツを更新します。
1.6.3. 必要な AWS インフラストラクチャーコンポーネント リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform を Amazon Web Services (AWS) のユーザーによってプロビジョニングされるインフラストラクチャーにインストールするには、マシンとサポートするインフラストラクチャーの両方を手動で作成する必要があります。
各種プラットフォームの統合テストの詳細については、「 OpenShift Container Platform 4.x Tested Integrations」のページを参照してください。
提供される CloudFormation テンプレートを使用してこのインフラストラクチャーを作成でき、コンポーネントを手動で作成するか、またはクラスターの要件を満たす既存のインフラストラクチャーを再利用できます。コンポーネントの相互関係についての詳細は、CloudFormation テンプレートを参照してください。
1.6.3.1. クラスターマシン リンクのコピーリンクがクリップボードにコピーされました!
以下のマシンには AWS::EC2::Instance オブジェクトが必要になります。
- ブートストラップマシン。このマシンはインストール時に必要ですが、クラスターのデプロイ後に除去することができます。
- 3 つ以上のコントロールプレーンマシン。コントロールプレーンマシンは MachineSet によって制御されません。
- コンピュートマシン。インストール時に 2 つ以上のコンピュートマシン (ワーカーマシンとしても知られる) を作成する必要があります。これらのマシンは MachineSet によって制御されません。
提供される CloudFormation テンプレートを使用して、クラスターマシンの以下のインスタンスタイプを使用できます。
m4 インスタンスが eu-west-3 などのリージョンで利用可能ではない場合、m5 タイプを代わりに使用します。
| インスタンスタイプ | ブートストラップ | コントロールプレーン | コンピュート |
|---|---|---|---|
|
| x | ||
|
| x | ||
|
| x | x | |
|
| x | x | |
|
| x | x | |
|
| x | x | |
|
| x | x | |
|
| x | x | |
|
| x | ||
|
| x | ||
|
| x | x | |
|
| x | x | |
|
| x | x | |
|
| x | ||
|
| x | x | |
|
| x | x | |
|
| x | x | |
|
| x | x | |
|
| x | x |
これらのインスタンスタイプの仕様に対応する他のインスタンスタイプを使用できる場合もあります。
1.6.3.2. 証明書署名要求の管理 リンクのコピーリンクがクリップボードにコピーされました!
ユーザーがプロビジョニングするインフラストラクチャーを使用する場合、クラスターの自動マシン管理へのアクセスは制限されるため、インストール後にクラスターの証明書署名要求 (CSR) のメカニズムを提供する必要があります。kube-controller-manager は kubelet クライアント CSR のみを承認します。machine-approver は、kubelet 認証情報を使用して要求される提供証明書の有効性を保証できません。適切なマシンがこの要求を発行したかどうかを確認できないためです。kubelet 提供証明書の要求の有効性を検証し、それらを承認する方法を判別し、実装する必要があります。
1.6.3.3. 他のインフラストラクチャーコンポーネント リンクのコピーリンクがクリップボードにコピーされました!
- 1 つの VPC
- DNS エントリー
- ロードバランサー(classic または network)およびリスナー
- パブリックおよびプライベート Route53 ゾーン
- セキュリティーグループ
- IAM ロール
- S3 バケット
必要な VPC コンポーネント
お使いのマシンとの通信を可能にする適切な VPC およびサブネットを指定する必要があります。
| コンポーネント | AWS タイプ | 説明 | |
|---|---|---|---|
| VPC |
| 使用するクラスターのパブリック VPC を指定する必要があります。VPC は、各サブネットのルートテーブルを参照するエンドポイントを使用して、S3 でホストされているレジストリーとの通信を強化します。 | |
| パブリックサブネット |
| VPC には 1 から 3 のアベイラビリティーゾーンのパブリックサブネットが必要であり、それらを適切な Ingress ルールに関連付ける必要があります。 | |
| インターネットゲートウェイ |
| VPC に割り当てられたパブリックルートを持つパブリックインターネットゲートウェイが必要です。提供されるテンプレートでは、各パブリックサブネットに EIP アドレスと NAT ゲートウェイがあります。これらの NAT ゲートウェイは、プライベートサブネットインスタンスなどのクラスターリソースがインターネットに到達できるようにするもので、一部のネットワークが制限された環境またはプロキシーのシナリオでは必要ありません。 | |
| ネットワークアクセス制御 |
| VPC が以下のポートにアクセスできるようにする必要があります。 | |
| ポート | 理由 | ||
|
| インバウンド HTTP トラフィック | ||
|
| インバウンド HTTPS トラフィック | ||
|
| インバウンド SSH トラフィック | ||
|
| インバウンド一時 (ephemeral) トラフィック | ||
|
| アウトバウンド一時 (ephemeral) トラフィック | ||
| プライベートサブネット |
| VPC にはプライベートサブネットを使用できます。提供される CloudFormation テンプレートは 1 から 3 アベイラビリティーゾーンのプライベートサブネットを作成できます。プライベートサブネットを使用できる場合は、それらの適切なルートおよびテーブルを指定する必要があります。 | |
必要な DNS および負荷分散コンポーネント
DNS およびロードバランサー設定では、パブリックホストゾーンを使用する必要があり、クラスターのインフラストラクチャーをプロビジョニングする場合にインストールプログラムが使用するものと同様のプライベートホストゾーンを使用できます。ロードバランサーに解決する DNS エントリーを作成する必要があります。api.<cluster_name>.<domain> のエントリーは外部ロードバランサーを参照し、api-int.<cluster_name>.<domain> のエントリーは内部ロードバランサーを参照する必要があります。
またクラスターには、Kubernetes API とその拡張に必要なポート 6443、および新規マシンの Ignition 設定ファイルに必要なポート 22623 のロードバランサーおよびリスナーが必要です。ターゲットはマスターノードになります。ポート 6443 はクラスター外のクライアントとクラスター内のノードからもアクセスできる必要があります。ポート 22623 はクラスター内のノードからアクセスできる必要があります。
| コンポーネント | AWS タイプ | 説明 |
|---|---|---|
| DNS |
| 内部 DNS のホストゾーン。 |
| etcd レコードセット |
| コントロールプレーンマシンの etcd の登録レコード。 |
| パブリックロードバランサー |
| パブリックサブネットのロードバランサー。 |
| 外部 API サーバーレコード |
| 外部 API サーバーのエイリアスレコード。 |
| 外部リスナー |
| 外部ロードバランサー用のポート 6443 のリスナー。 |
| 外部ターゲットグループ |
| 外部ロードバランサーのターゲットグループ。 |
| プライベートロードバランサー |
| プライベートサブネットのロードバランサー。 |
| 内部 API サーバーレコード |
| 内部 API サーバーのエイリアスレコード。 |
| 内部リスナー |
| 内部ロードバランサー用のポート 22623 のリスナー。 |
| 内部ターゲットグループ |
| 内部ロードバランサーのターゲットグループ。 |
| 内部リスナー |
| 内部ロードバランサーのポート 6443 のリスナー。 |
| 内部ターゲットグループ |
| 内部ロードバランサーのターゲットグループ。 |
セキュリティーグループ
コントロールプレーンおよびワーカーマシンには、以下のポートへのアクセスが必要です。
| グループ | タイプ | IP プロトコル | ポート範囲 |
|---|---|---|---|
| MasterSecurityGroup |
|
|
|
|
|
| ||
|
|
| ||
|
|
| ||
| WorkerSecurityGroup |
|
|
|
|
|
| ||
| BootstrapSecurityGroup |
|
|
|
|
|
|
コントロールプレーンの Ingress
コントロールプレーンマシンには、以下の Ingress グループが必要です。それぞれの Ingress グループは AWS::EC2::SecurityGroupIngress リソースになります。
| Ingress グループ | 説明 | IP プロトコル | ポート範囲 |
|---|---|---|---|
|
| etcd |
|
|
|
| Vxlan パケット |
|
|
|
| Vxlan パケット |
|
|
|
| 内部クラスター通信および Kubernetes プロキシーメトリクス |
|
|
|
| 内部クラスター通信 |
|
|
|
| Kubernetes kubelet、スケジューラーおよびコントローラーマネージャー |
|
|
|
| Kubernetes kubelet、スケジューラーおよびコントローラーマネージャー |
|
|
|
| Kubernetes Ingress サービス |
|
|
|
| Kubernetes Ingress サービス |
|
|
ワーカーの Ingress
ワーカーマシンには、以下の Ingress グループが必要です。それぞれの Ingress グループは AWS::EC2::SecurityGroupIngress リソースになります。
| Ingress グループ | 説明 | IP プロトコル | ポート範囲 |
|---|---|---|---|
|
| Vxlan パケット |
|
|
|
| Vxlan パケット |
|
|
|
| 内部クラスター通信 |
|
|
|
| 内部クラスター通信 |
|
|
|
| Kubernetes kubelet、スケジューラーおよびコントローラーマネージャー |
|
|
|
| Kubernetes kubelet、スケジューラーおよびコントローラーマネージャー |
|
|
|
| Kubernetes Ingress サービス |
|
|
|
| Kubernetes Ingress サービス |
|
|
ロールおよびインスタンスプロファイル
マシンには、AWS でのパーミッションを付与する必要があります。提供される CloudFormation テンプレートはマシンに対し、以下の AWS::IAM::Role オブジェクトについてのパーミッションを付与し、それぞれのロールセットに AWS::IAM::InstanceProfile を指定します。テンプレートを使用しない場合、マシンには以下の広範囲のパーミッションまたは個別のパーミッションを付与することができます。
| ロール | 結果 | アクション | リソース |
|---|---|---|---|
| マスター |
|
|
|
|
|
|
| |
|
|
|
| |
|
|
|
| |
| ワーカー |
|
|
|
| ブートストラップ |
|
|
|
|
|
|
| |
|
|
|
|
1.6.3.4. 必要な AWS パーミッション リンクのコピーリンクがクリップボードにコピーされました!
AdministratorAccess ポリシーを、作成する IAM ユーザーに割り当てる場合、そのユーザーには必要なパーミッションすべてを付与します。OpenShift Container Platform クラスターをデプロイするために、IAM ユーザーに以下のパーミッションが必要になります。
インストールに必要な EC2 パーミッション
-
ec2:AllocateAddress -
ec2:AssociateAddress -
ec2:AssociateDhcpOptions -
ec2:AssociateRouteTable -
ec2:AttachInternetGateway -
ec2:AuthorizeSecurityGroupEgress -
ec2:AuthorizeSecurityGroupIngress -
ec2:CopyImage -
ec2:CreateDhcpOptions -
ec2:CreateInternetGateway -
ec2:CreateNatGateway -
ec2:CreateNetworkInterface -
ec2:CreateRoute -
ec2:CreateRouteTable -
ec2:CreateSecurityGroup -
ec2:CreateSubnet -
ec2:CreateTags -
ec2:CreateVpc -
ec2:CreateVpcEndpoint -
ec2:CreateVolume -
ec2:DeleteSnapshot -
ec2:DeregisterImage -
ec2:DescribeAccountAttributes -
ec2:DescribeAddresses -
ec2:DescribeAvailabilityZones -
ec2:DescribeDhcpOptions -
ec2:DescribeImages -
ec2:DescribeInstanceAttribute -
ec2:DescribeInstanceCreditSpecifications -
ec2:DescribeInstances -
ec2:DescribeInternetGateways -
ec2:DescribeKeyPairs -
ec2:DescribeNatGateways -
ec2:DescribeNetworkAcls -
ec2:DescribePrefixLists -
ec2:DescribeRegions -
ec2:DescribeRouteTables -
ec2:DescribeSecurityGroups -
ec2:DescribeSubnets -
ec2:DescribeTags -
ec2:DescribeVpcEndpoints -
ec2:DescribeVpcs -
ec2:DescribeVpcAttribute -
ec2:DescribeVolumes -
ec2:DescribeVpcClassicLink -
ec2:DescribeVpcClassicLinkDnsSupport -
ec2:ModifyInstanceAttribute -
ec2:ModifySubnetAttribute -
ec2:ModifyVpcAttribute -
ec2:RevokeSecurityGroupEgress -
ec2:RunInstances -
ec2:TerminateInstances -
ec2:DeleteDhcpOptions -
ec2:DeleteRoute -
ec2:RevokeSecurityGroupIngress -
ec2:DisassociateRouteTable -
ec2:ReplaceRouteTableAssociation -
ec2:DeleteRouteTable -
ec2:DeleteSubnet -
ec2:DescribeNetworkInterfaces -
ec2:ModifyNetworkInterfaceAttribute -
ec2:DeleteNatGateway -
ec2:DeleteSecurityGroup -
ec2:DetachInternetGateway -
ec2:DeleteInternetGateway -
ec2:ReleaseAddress -
ec2:DeleteVpc
インストールに必要な Elasticloadbalancing パーミッション
-
elasticloadbalancing:AddTags -
elasticloadbalancing:ApplySecurityGroupsToLoadBalancer -
elasticloadbalancing:AttachLoadBalancerToSubnets -
elasticloadbalancing:CreateListener -
elasticloadbalancing:CreateLoadBalancer -
elasticloadbalancing:CreateLoadBalancerListeners -
elasticloadbalancing:CreateTargetGroup -
elasticloadbalancing:ConfigureHealthCheck -
elasticloadbalancing:DeleteLoadBalancer -
elasticloadbalancing:DeregisterInstancesFromLoadBalancer -
elasticloadbalancing:DeregisterTargets -
elasticloadbalancing:DescribeInstanceHealth -
elasticloadbalancing:DescribeListeners -
elasticloadbalancing:DescribeLoadBalancers -
elasticloadbalancing:DescribeLoadBalancerAttributes -
elasticloadbalancing:DescribeTags -
elasticloadbalancing:DescribeTargetGroupAttributes -
elasticloadbalancing:DescribeTargetHealth -
elasticloadbalancing:ModifyLoadBalancerAttributes -
elasticloadbalancing:ModifyTargetGroup -
elasticloadbalancing:ModifyTargetGroupAttributes -
elasticloadbalancing:RegisterTargets -
elasticloadbalancing:RegisterInstancesWithLoadBalancer -
elasticloadbalancing:SetLoadBalancerPoliciesOfListener
インストールに必要な IAM パーミッション
-
iam:AddRoleToInstanceProfile -
iam:CreateInstanceProfile -
iam:CreateRole -
iam:DeleteInstanceProfile -
iam:DeleteRole -
iam:DeleteRolePolicy -
iam:GetInstanceProfile -
iam:GetRole -
iam:GetRolePolicy -
iam:GetUser -
iam:ListInstanceProfilesForRole -
iam:ListRoles -
iam:ListUsers -
iam:PassRole -
iam:PutRolePolicy -
iam:RemoveRoleFromInstanceProfile -
iam:SimulatePrincipalPolicy -
iam:TagRole
インストールに必要な Route53 パーミッション
-
route53:ChangeResourceRecordSets -
route53:ChangeTagsForResource -
route53:GetChange -
route53:GetHostedZone -
route53:CreateHostedZone -
route53:DeleteHostedZone -
route53:ListHostedZones -
route53:ListHostedZonesByName -
route53:ListResourceRecordSets -
route53:ListTagsForResource -
route53:UpdateHostedZoneComment
インストールに必要な S3 パーミッション
-
s3:CreateBucket -
s3:DeleteBucket -
s3:GetAccelerateConfiguration -
s3:GetBucketCors -
s3:GetBucketLocation -
s3:GetBucketLogging -
s3:GetBucketObjectLockConfiguration -
s3:GetBucketReplication -
s3:GetBucketRequestPayment -
s3:GetBucketTagging -
s3:GetBucketVersioning -
s3:GetBucketWebsite -
s3:GetEncryptionConfiguration -
s3:GetLifecycleConfiguration -
s3:GetReplicationConfiguration -
s3:ListBucket -
s3:PutBucketAcl -
s3:PutBucketTagging -
s3:PutEncryptionConfiguration
クラスター Operator が必要とする S3 パーミッション
-
s3:PutObject -
s3:PutObjectAcl -
s3:PutObjectTagging -
s3:GetObject -
s3:GetObjectAcl -
s3:GetObjectTagging -
s3:GetObjectVersion -
s3:DeleteObject
クラスターのアンインストールに必要な追加のすべてのパーミッション
-
autoscaling:DescribeAutoScalingGroups -
ec2:DeleteNetworkInterface -
ec2:DeleteVolume -
ec2:DeleteVpcEndpoints -
elasticloadbalancing:DescribeTargetGroups -
elasticloadbalancing:DeleteTargetGroup -
iam:ListInstanceProfiles -
iam:ListRolePolicies -
iam:ListUserPolicies -
tag:GetResources
マニフェストの作成に必要な追加の IAM および S3 パーミッション
-
iam:CreateAccessKey -
iam:CreateUser -
iam:DeleteAccessKey -
iam:DeleteUser -
iam:DeleteUserPolicy -
iam:GetUserPolicy -
iam:ListAccessKeys -
iam:PutUserPolicy -
iam:TagUser -
iam:GetUserPolicy -
iam:ListAccessKeys -
s3:PutBucketPublicAccessBlock -
s3:GetBucketPublicAccessBlock -
s3:PutLifecycleConfiguration -
s3:HeadBucket -
s3:ListBucketMultipartUploads -
s3:AbortMultipartUpload
1.6.4. SSH プライベートキーの生成およびエージェントへの追加 リンクのコピーリンクがクリップボードにコピーされました!
クラスターでインストールのデバッグまたは障害復旧を実行する必要がある場合、ssh-agent とインストールプログラムの両方に SSH キーを指定する必要があります。
実稼働環境では、障害復旧およびデバッグが必要です。
このキーを使用して、ユーザー core としてマスターノードに対して SSH を実行できます。クラスターをデプロイする際に、キーは core ユーザーの ~/.ssh/authorized_keys 一覧に追加されます。
AWS キーペアなどのプラットフォームに固有の方法で設定したキーではなく、ローカルキーを使用する必要があります。
手順
パスワードなしの認証に設定されている SSH キーがコンピューター上にない場合は、これを作成します。たとえば、Linux オペレーティングシステムを使用するコンピューターで以下のコマンドを実行します。
ssh-keygen -t rsa -b 4096 -N '' \ -f <path>/<file_name>$ ssh-keygen -t rsa -b 4096 -N '' \ -f <path>/<file_name>1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
~/.ssh/id_rsaなどの、SSH キーのパスおよびファイル名を指定します。
このコマンドを実行すると、指定した場所にパスワードを必要としない SSH キーが生成されます。
ssh-agentプロセスをバックグラウンドタスクとして開始します。eval "$(ssh-agent -s)" Agent pid 31874
$ eval "$(ssh-agent -s)" Agent pid 31874Copy to Clipboard Copied! Toggle word wrap Toggle overflow SSH プライベートキーを
ssh-agentに追加します。ssh-add <path>/<file_name> Identity added: /home/<you>/<path>/<file_name> (<computer_name>)
$ ssh-add <path>/<file_name>1 Identity added: /home/<you>/<path>/<file_name> (<computer_name>)Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
~/.ssh/id_rsaなどの、SSH プライベートキーのパスおよびファイル名を指定します。
次のステップ
- OpenShift Container Platform をインストールする際に、SSH パブリックキーをインストールプログラムに指定します。クラスターを独自にプロビジョニングするインフラストラクチャーにインストールする場合は、このキーをクラスターのマシンに指定する必要があります。
1.6.5. AWS のインストール設定ファイルの作成 リンクのコピーリンクがクリップボードにコピーされました!
ユーザーによってプロビジョニングされるインフラストラクチャー を使用して OpenShift Container Platform を Amazon Web Services (AWS) にインストールするには、インストールプログラムがクラスターをデプロイするために必要なファイルを生成し、クラスターが使用するマシンのみを作成するようにそれらのファイルを変更する必要があります。install-config.yaml ファイル、Kubernetes マニフェスト、および Ignition 設定ファイルを生成し、カスタマイズします。
1.6.5.1. インストール設定ファイルの作成 リンクのコピーリンクがクリップボードにコピーされました!
インストールプログラムがクラスターをデプロイするために必要なインストール設定ファイルを生成し、カスタマイズします。
前提条件
- OpenShift Container Platform インストールプログラム、およびクラスターのプルシークレットを取得します。ネットワークが制限されたインストールでは、これらのファイルが bastion ホスト上に置かれます。
手順
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 リージョンを選択します。
- クラスターに設定した Route53 サービスのベースドメインを選択します。
- クラスターの記述名を入力します。
- Red Hat OpenShift Cluster Manager サイトの「Pull Secret」ページから取得したプルシークレットを貼り付けます。
install-config.yamlファイルを編集し、以下のcomputeスタンザに示されるようにコンピュートレプリカ (ワーカーレプリカとしても知られる) の数を0に設定します。compute: - hyperthreading: Enabled name: worker platform: {} replicas: 0compute: - hyperthreading: Enabled name: worker platform: {} replicas: 0Copy to Clipboard Copied! Toggle word wrap Toggle overflow install-config.yamlファイルを編集し、ネットワークが制限された環境でのインストールに必要な追加の情報を提供します。pullSecretの値を更新して、レジストリーの認証情報を追加します。pullSecret: '{"auths":{"<bastion_host_name>:5000": {"auth": "<credentials>","email": "you@example.com"}}}'pullSecret: '{"auths":{"<bastion_host_name>:5000": {"auth": "<credentials>","email": "you@example.com"}}}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow bastion_host_nameの場合、ミラーレジストリーの証明書で指定したレジストリードメイン名を指定し、<credentials>の場合は、ミラーレジストリーの base64 でエンコードされたユーザー名およびパスワードを指定します。additionalTrustBundleパラメーターおよび値を追加します。この値は、ミラーレジストリーに使用した証明書ファイルの内容である必要があります。これはミラーレジストリー用に生成した既存の、信頼される認証局または自己署名証明書である可能性があります。additionalTrustBundle: | -----BEGIN CERTIFICATE----- ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ -----END CERTIFICATE-----
additionalTrustBundle: | -----BEGIN CERTIFICATE----- ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ -----END CERTIFICATE-----Copy to Clipboard Copied! Toggle word wrap Toggle overflow イメージコンテンツリソースを追加します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow リポジトリーをミラーリングするには、コマンドの出力の
imageContentSourcesセクションを使用します。
オプション:
install-config.yamlファイルをバックアップします。重要install-config.yamlファイルはインストールプロセス時に使用されます。このファイルを再利用する必要がある場合は、この段階でこれをバックアップしてください。
1.6.5.2. インストール時のクラスター全体のプロキシーの設定 リンクのコピーリンクがクリップボードにコピーされました!
実稼働環境では、インターネットへの直接アクセスを拒否し、代わりに HTTP または HTTPS プロキシーを使用することができます。プロキシー設定を install-config.yaml ファイルで行うことにより、新規の OpenShift Container Platform クラスターをプロキシーを使用するように設定できます。
前提条件
-
既存の
install-config.yamlファイル。 クラスターがアクセスする必要のあるサイトを確認し、プロキシーをバイパスする必要があるかどうかを判別する。デフォルトで、すべてのクラスター egress トラフィック (クラスターをホストするクラウドについてのクラウドプロバイダー API に対する呼び出しを含む) はプロキシーされます。プロキシーオブジェクトの
spec.noProxyフィールドにサイトを追加し、必要に応じてプロキシーをバイパスします。注記プロキシーオブジェクトの
status.noProxyフィールドは、デフォルトでインスタンスメタデータエンドポイント (169.254.169.254) およびインストール設定のnetworking.machineCIDR、networking.clusterNetwork.cidr、およびnetworking.serviceNetworkフィールドの値で設定されます。
手順
install-config.yamlファイルを編集し、プロキシー設定を追加します。以下は例になります。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- クラスター外の HTTP 接続を作成するために使用するプロキシー URL。URL スキームは
httpである必要があります。 - 2
- クラスター外で HTTPS 接続を作成するために使用するプロキシー URL。このフィールドが指定されていない場合、HTTP および HTTPS 接続の両方に
httpProxyが使用されます。URL スキームはhttpである必要があります。httpsは現在サポートされていません。 - 3
- プロキシーを除外するための宛先ドメイン名、ドメイン、IP アドレス、または他のネットワーク CIDR のカンマ区切りの一覧。ドメインのすべてのサブドメインを組み込むために、ドメインの前に
.を入力します。*を使用し、すべての宛先のプロキシーをバイパスします。 - 4
- 指定されている場合、インストールプログラムは HTTPS 接続のプロキシーに必要な 1 つ以上の追加の CA 証明書が含まれる
user-ca-bundleという名前の ConfigMap をopenshift-confignamespace に生成します。次に、Cluster Network Operator は 3 つのコンテンツを Red Hat Enterprise Linux CoreOS (RHCOS) 信頼バンドルにマージするtrusted-ca-bundleConfigMap を作成し、この ConfigMap はプロキシーオブジェクトのtrustedCAフィールドで参照されます。additionalTrustBundleフィールドは、プロキシーのアイデンティティー証明書が RHCOS 信頼バンドルからの認証局によって署名されない限り必要になります。
注記インストールプログラムは、プロキシーの
readinessEndpointsフィールドをサポートしません。- ファイルを保存し、OpenShift Container Platform のインストール時にこれを参照します。
インストールプログラムは、指定の install-config.yaml ファイルのプロキシー設定を使用する cluster という名前のクラスター全体のプロキシーを作成します。プロキシー設定が指定されていない場合、 cluster のプロキシーオブジェクトが依然として作成されますが、これには spec がありません。
cluster という名前のプロキシーオブジェクトのみがサポートされ、追加のプロキシーを作成することはできません。
1.6.5.3. Kubernetes マニフェストおよび Ignition 設定ファイルの作成 リンクのコピーリンクがクリップボードにコピーされました!
一部のクラスター定義ファイルを変更し、クラスターマシンを手動で起動する必要があるため、クラスターがマシンを作成するために必要な Kubernetes マニフェストと Ignition 設定ファイルを生成する必要があります。
インストールプログラムが生成する Ignition 設定ファイルには、24 時間が経過すると期限切れになる証明書が含まれます。最初の証明書のローテーションが正常に実行されるようにするには、クラスターのインストールを完了し、クラスターを動作が低下していない状態で 24 時間実行し続ける必要があります。
前提条件
- OpenShift Container Platform インストールプログラムを取得します。ネットワークが制限されたインストールでは、これらのファイルが bastion ホスト上に置かれます。
-
install-config.yamlインストール設定ファイルを作成します。
手順
クラスターの Kubernetes マニフェストを生成します。
./openshift-install create manifests --dir=<installation_directory> WARNING There are no compute nodes specified. The cluster will not fully initialize without compute nodes. INFO Consuming "Install Config" from target directory
$ ./openshift-install create manifests --dir=<installation_directory>1 WARNING There are no compute nodes specified. The cluster will not fully initialize without compute nodes. INFO Consuming "Install Config" from target directoryCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<installation_directory>については、作成したinstall-config.yamlファイルが含まれるインストールディレクトリーを指定します。
インストールプロセスの後の部分で独自のコンピュートマシンを作成するため、この警告を無視しても問題がありません。
コントロールプレーンマシンを定義する Kubernetes マニフェストファイルを削除します。
rm -f openshift/99_openshift-cluster-api_master-machines-*.yaml
$ rm -f openshift/99_openshift-cluster-api_master-machines-*.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow これらのファイルを削除することで、クラスターがコントロールプレーンマシンを自動的に生成するのを防ぐことができます。
ワーカーマシンを定義する Kubernetes マニフェストファイルを削除します。
rm -f openshift/99_openshift-cluster-api_worker-machineset-*.yaml
$ rm -f openshift/99_openshift-cluster-api_worker-machineset-*.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow ワーカーマシンは独自に作成し、管理するため、これらのマシンを初期化する必要はありません。
manifests/cluster-scheduler-02-config.ymlKubernetes マニフェストファイルを変更し、Pod がコントロールプレーンマシンにスケジュールされないようにします。-
manifests/cluster-scheduler-02-config.ymlファイルを開きます。 -
mastersSchedulableパラメーターを見つけ、その値をFalseに設定します。 - ファイルを保存し、終了します。
注記現時点では、Kubernetes の制限により、コントロールプレーンマシンで実行されるルーター Pod に Ingress ロードバランサーがアクセスすることができません。この手順は、OpenShift Container Platform の今後のマイナーバージョンで不要になる可能性があります。
-
オプション: Ingress Operator を DNS レコードを作成するよう設定する必要がない場合は、
manifests/cluster-dns-02-config.ymlDNS 設定ファイルからprivateZoneおよびpublicZoneセクションを削除します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow これを実行する場合、後のステップで Ingress DNS レコードを手動で追加する必要があります。
Ignition 設定ファイルを取得します。
./openshift-install create ignition-configs --dir=<installation_directory>
$ ./openshift-install create ignition-configs --dir=<installation_directory>1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<installation_directory>については、同じインストールディレクトリーを指定します。
以下のファイルはディレクトリーに生成されます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.6.6. インフラストラクチャー名の抽出 リンクのコピーリンクがクリップボードにコピーされました!
Ignition 設定には、Amazon Web Services (AWS) でクラスターを一意に識別するために使用できる一意のクラスター ID が含まれます。提供される CloudFormation テンプレートにはこのインフラストラクチャー名の参照が含まれるため、これを抽出する必要があります。
前提条件
- OpenShift Container Platform インストールプログラム、およびクラスターのプルシークレットを取得します。
- クラスターの Ignition 設定ファイルを生成します。
-
jqパッケージのインストール。
手順
Ignition 設定ファイルメタデータからインフラストラクチャー名を抽出し、表示するには、以下のコマンドを実行します。
jq -r .infraID /<installation_directory>/metadata.json openshift-vw9j6
$ jq -r .infraID /<installation_directory>/metadata.json1 openshift-vw9j62 Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.6.7. AWS での VPC の作成 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform クラスターで使用する VPC を Amazon Web Services (AWS) で作成する必要があります。VPN およびルートテーブルを含む、各種要件を満たすように VPC をカスタマイズできます。VPC を作成するための最も簡単な方法として、提供される CloudFormation テンプレートを変更することができます。
提供される CloudFormation テンプレートを使用して AWS インフラストラクチャーを使用しない場合、提供される情報を確認し、インフラストラクチャーを手動で作成する必要があります。クラスターが適切に初期化されない場合、インストールログを用意して Red Hat サポートに問い合わせする必要がある可能性があります。
前提条件
- AWS アカウントを設定します。
- クラスターの Ignition 設定ファイルを生成します。
手順
テンプレートが必要とするパラメーター値が含まれる JSON ファイルを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - このトピックの「VPC の CloudFormation テンプレート」セクションからテンプレートをコピーし、これをコンピューター上に YAML ファイルとして保存します。このテンプレートは、クラスターに必要な VPC について記述しています。
テンプレートを起動します。
重要単一行にコマンドを入力してください。
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>.yaml2 --parameters file://<parameters>.json3 Copy 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。
1.6.7.1. VPC の CloudFormation テンプレート リンクのコピーリンクがクリップボードにコピーされました!
以下の CloudFormation テンプレートを使用し、OpenShift Container Platform クラスターに必要な VPC をデプロイすることができます。
1.6.8. AWS でのネットワークおよび負荷分散コンポーネントの作成 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform クラスターで使用するネットワークおよび負荷分散 (classic または network) を Amazon Web Services (AWS) で設定する必要があります。これらのコンポーネントを作成するための最も簡単な方法として、提供される CloudFormation テンプレートを変更することができます。 これにより、ホストゾーンおよびサブネットのタグも作成されます。
単一 VPC 内でテンプレートを複数回実行することができます。
提供される CloudFormation テンプレートを使用して AWS インフラストラクチャーを使用しない場合、提供される情報を確認し、インフラストラクチャーを手動で作成する必要があります。クラスターが適切に初期化されない場合、インストールログを用意して Red Hat サポートに問い合わせする必要がある可能性があります。
前提条件
- AWS アカウントを設定します。
- クラスターの Ignition 設定ファイルを生成します。
- AWS で VPC および関連するサブネットを作成し、設定します。
手順
クラスターの
install-config.yamlファイルに指定した Route53 ゾーンのホストゾーン ID を取得します。この ID は、AWS コンソールから、または以下のコマンドを実行して取得できます。重要単一行にコマンドを入力してください。
aws route53 list-hosted-zones-by-name | jq --arg name "<route53_domain>." \ -r '.HostedZones | .[] | select(.Name=="\($name)") | .Id'$ aws route53 list-hosted-zones-by-name | jq --arg name "<route53_domain>." \1 -r '.HostedZones | .[] | select(.Name=="\($name)") | .Id'Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<route53_domain>について、クラスターのinstall-config.yamlファイルを生成した時に作成した Route53 ベースドメインを指定します。
テンプレートが必要とするパラメーター値が含まれる JSON ファイルを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- ホスト名などに使用するクラスターを表す短いクラスターの名前。
- 2
- クラスターの
install-config.yamlファイルを生成した時に使用したクラスター名を指定します。 - 3
- クラスターの Ingition 設定ファイルでエンコードされるクラスターインフラストラクチャーの名前。
- 4
- 形式が
<cluster-name>-<random-string>の Ignition 設定ファイルから抽出したインフラストラクチャー名を指定します。 - 5
- ターゲットの登録に使用する Route53 パブリックトゾーン ID。
- 6
Z21IXYZABCZ2A4に類する形式の Route53 パブリックゾーン ID を指定します。この値は AWS コンソールから取得できます。- 7
- ターゲットの登録に使用する Route53 ゾーン。
- 8
- クラスターの
install-config.yamlファイルを生成した時に使用した Route53 ベースドメインを指定します。AWS コンソールに表示される末尾のピリド (.) は含めないでください。 - 9
- VPC 用に作成したパブリックサブネット。
- 10
- VPC の CloudFormation テンプレートの出力から
PublicSubnetIds値を指定します。 - 11
- VPC 用に作成したプライベートサブネット。
- 12
- VPC の CloudFormation テンプレートの出力から
PrivateSubnetIds値を指定します。 - 13
- クラスター用に作成した VPC。
- 14
- VPC の CloudFormation テンプレートの出力から
VpcId値を指定します。
- このトピックの「ネットワークおよびロードバランサーの CloudFormation テンプレート」セクションからテンプレートをコピーし、これをコンピューター上に YAML ファイルとして保存します。このテンプレートは、クラスターに必要なネットワークおよび負荷分散オブジェクトについて記述しています。
テンプレートを起動します。
重要単一行にコマンドを入力してください。
aws cloudformation create-stack --stack-name <name> --template-body file://<template>.yaml --parameters file://<parameters>.json --capabilities CAPABILITY_NAMED_IAM$ aws cloudformation create-stack --stack-name <name>1 --template-body file://<template>.yaml2 --parameters file://<parameters>.json3 --capabilities CAPABILITY_NAMED_IAMCopy 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 テンプレートに指定する必要があります。PrivateHostedZoneIdプライベート DNS のホストゾーン ID。
ExternalApiLoadBalancerName外部 API ロードバランサーのフルネーム。
InternalApiLoadBalancerName内部 API ロードバランサーのフルネーム。
ApiServerDnsNameAPI サーバーの完全ホスト名。
RegisterNlbIpTargetsLambdaこれらのロードバランサーの登録/登録解除に役立つ Lambda ARN。
ExternalApiTargetGroupArn外部 API ターゲットグループの ARN。
InternalApiTargetGroupArn内部 API ターゲットグループの ARN。
InternalServiceTargetGroupArn内部サービスターゲットグループの ARN。
1.6.8.1. ネットワークおよびロードバランサーの CloudFormation テンプレート リンクのコピーリンクがクリップボードにコピーされました!
以下の CloudFormation テンプレートを使用し、OpenShift Container Platform クラスターに必要なネットワークオブジェクトおよびロードバランサーをデプロイすることができます。
1.6.9. AWS でのセキュリティーグループおよびロールの作成 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform クラスターで使用するセキュリティーグループおよびロールを Amazon Web Services (AWS) で作成する必要があります。これらのコンポーネントを作成するための最も簡単な方法として、提供される CloudFormation テンプレートを変更することができます。
提供される CloudFormation テンプレートを使用して AWS インフラストラクチャーを使用しない場合、提供される情報を確認し、インフラストラクチャーを手動で作成する必要があります。クラスターが適切に初期化されない場合、インストールログを用意して Red Hat サポートに問い合わせする必要がある可能性があります。
前提条件
- AWS アカウントを設定します。
- クラスターの Ignition 設定ファイルを生成します。
- AWS で VPC および関連するサブネットを作成し、設定します。
手順
テンプレートが必要とするパラメーター値が含まれる JSON ファイルを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- クラスターの Ingition 設定ファイルでエンコードされるクラスターインフラストラクチャーの名前。
- 2
- 形式が
<cluster-name>-<random-string>の Ignition 設定ファイルから抽出したインフラストラクチャー名を指定します。 - 3
- VPC の CIDR ブロック。
- 4
x.x.x.x/16-24の形式で定義した VPC に使用した CIDR ブロックパラメーターを指定します。- 5
- VPC 用に作成したプライベートサブネット。
- 6
- VPC の CloudFormation テンプレートの出力から
PrivateSubnetIds値を指定します。 - 7
- クラスター用に作成した VPC。
- 8
- VPC の CloudFormation テンプレートの出力から
VpcId値を指定します。
- このトピックの「セキュリティーオブジェクトの CloudFormation テンプレート」セクションからテンプレートをコピーし、これをコンピューター上に YAML ファイルとして保存します。このテンプレートは、クラスターに必要なセキュリティーグループおよびロールについて記述しています。
テンプレートを起動します。
重要単一行にコマンドを入力してください。
aws cloudformation create-stack --stack-name <name> --template-body file://<template>.yaml --parameters file://<parameters>.json --capabilities CAPABILITY_NAMED_IAM$ aws cloudformation create-stack --stack-name <name>1 --template-body file://<template>.yaml2 --parameters file://<parameters>.json3 --capabilities CAPABILITY_NAMED_IAMCopy 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 テンプレートに指定する必要があります。MasterSecurityGroupIdマスターセキュリティーグループ ID
WorkerSecurityGroupIdワーカーセキュリティーグループ ID
MasterInstanceProfileマスター IAM インスタンスプロファイル
WorkerInstanceProfileワーカー IAM インスタンスプロファイル
1.6.9.1. セキュリティーオブジェクトの CloudFormation テンプレート リンクのコピーリンクがクリップボードにコピーされました!
以下の CloudFormation テンプレートを使用し、OpenShift Container Platform クラスターに必要なセキュリティーオブジェクトをデプロイすることができます。
1.6.10. AWS インフラストラクチャーの RHCOS AMI リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform ノードについて、Amazon Web Services (AWS) ゾーンの有効な Red Hat Enterprise Linux CoreOS (RHCOS) AMI を使用する必要があります。
| AWS ゾーン | AWS AMI |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1.6.11. AWS でのブートストラップノードの作成 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform クラスターの初期化で使用するブートストラップノードを Amazon Web Services (AWS) で作成する必要があります。このノードを作成するための最も簡単な方法として、提供される CloudFormation テンプレートを変更することができます。
提供される CloudFormation テンプレートを使用してブートストラップノードを作成しない場合、提供される情報を確認し、インフラストラクチャーを手動で作成する必要があります。クラスターが適切に初期化されない場合、インストールログを用意して Red Hat サポートに問い合わせする必要がある可能性があります。
前提条件
- AWS アカウントを設定します。
- クラスターの Ignition 設定ファイルを生成します。
- AWS で VPC および関連するサブネットを作成し、設定します。
- AWS で DNS、ロードバランサー、およびリスナーを作成し、設定します。
- コントロールプレーンおよびコンピュートロールを作成します。
手順
bootstrap.ignIgnition 設定ファイルをクラスターに送るための場所を指定します。このファイルはインストールディレクトリーに置かれます。これを実行するための 1 つの方法として、クラスターのリージョンに S3 バケットを作成し、Ignition 設定ファイルをこれにアップロードします。ネットワークが制限されたインストールの場合、Ignition 設定ファイルを S3 バケットにアップロードする場合、事前に署名された URL を使用してこれにアクセスする必要があります。HTTP プロトコルを使用してファイルにアクセスする場合は、これを VPC 内の場所にアップロードします。重要提供される CloudFormation テンプレートでは、クラスターの Ignition 設定ファイルは S3 バケットから送られることを前提としています。このファイルを別の場所から送ることを選択する場合は、テンプレートを変更する必要があります。
注記ブートストラップ Ignition 設定ファイルには、X.509 キーのようなシークレットが含まれません。以下の手順では、S3 バケットの基本的なセキュリティーを提供します。追加のセキュリティーを提供するには、OpenShift IAM ユーザーなどの特定のユーザーのみがバケットに含まれるオブジェクトにアクセスできるように S3 バケットポリシーを有効にできます。S3 を完全に回避し、ブートストラップマシンが到達できるアドレスからブートストラップ Ignition 設定ファイルを送ることができます。
AWS Signature Version 4 の AWS プロファイルを設定します。
aws configure set default.s3.signature_version s3v4
$ aws configure set default.s3.signature_version s3v4Copy to Clipboard Copied! Toggle word wrap Toggle overflow バケットを作成します。
aws s3 mb s3://<cluster-name>-infra
$ aws s3 mb s3://<cluster-name>-infra1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<cluster-name>-infraはバケット名です。
bootstrap.ignIgnition 設定ファイルをバケットにアップロードします。aws s3 cp bootstrap.ign s3://<cluster-name>-infra/bootstrap.ign
$ aws s3 cp bootstrap.ign s3://<cluster-name>-infra/bootstrap.ignCopy to Clipboard Copied! Toggle word wrap Toggle overflow ファイルがアップロードされていることを確認します。
aws s3 ls s3://<cluster-name>-infra/ 2019-04-03 16:15:16 314878 bootstrap.ign
$ aws s3 ls s3://<cluster-name>-infra/ 2019-04-03 16:15:16 314878 bootstrap.ignCopy to Clipboard Copied! Toggle word wrap Toggle overflow HTTPS プロトコルを使用してアップロードしたイメージにアクセスするための事前に署名された URL を生成します。
aws s3 presign s3://<cluster-name>-infra/bootstrap.ign --region <s3_bucket_region> --expires-in <time_in_seconds>
$ aws s3 presign s3://<cluster-name>-infra/bootstrap.ign --region <s3_bucket_region> --expires-in <time_in_seconds>1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<time_in_seconds>については、事前に署名された URL が有効である期間を秒単位で指定します。
コマンド出力には、署名された URL が含まれます。
https://<cluster-name>-infra/bootstrap.ign?AWSAccessKeyId=AKIAEXAMPLEACCESSKEY&Signature=EXHCcBe%EXAMPLEKnz3r8O0AgEXAMPLE&Expires=1556132848
https://<cluster-name>-infra/bootstrap.ign?AWSAccessKeyId=AKIAEXAMPLEACCESSKEY&Signature=EXHCcBe%EXAMPLEKnz3r8O0AgEXAMPLE&Expires=1556132848Copy to Clipboard Copied! Toggle word wrap Toggle overflow
テンプレートが必要とするパラメーター値が含まれる JSON ファイルを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- クラスターの Ingition 設定ファイルでエンコードされるクラスターインフラストラクチャーの名前。
- 2
- 形式が
<cluster-name>-<random-string>の Ignition 設定ファイルから抽出したインフラストラクチャー名を指定します。 - 3
- ブートストラップノードに使用する最新の Red Hat Enterprise Linux CoreOS (RHCOS) AMI。
- 4
- 有効な
AWS::EC2::Image::Id値を指定します。 - 5
- ブートストラップノードへの SSH アクセスを許可する CIDR ブロック。
- 6
x.x.x.x/16-24形式で CIDR ブロックを指定します。- 7
- ブートストラップを起動するために VPC に関連付けられるパブリックサブネット。
- 8
- VPC の CloudFormation テンプレートの出力から
PublicSubnetIds値を指定します。 - 9
- マスターセキュリティーグループ ID (一時ルールの登録用)
- 10
- セキュリティーグループおよびロールの CloudFormation テンプレートから
MasterSecurityGroupId値を指定します。 - 11
- 作成されたリソースが属する VPC。
- 12
- VPC の CloudFormation テンプレートの出力から
VpcId値を指定します。 - 13
- ブートストラップの Ignition 設定ファイルをフェッチする場所。
- 14
- ブートストラップファイルの場所を指定します。生成した事前に署名されたイメージ URL、または
s3://<bucket_name>/bootstrap.ign形式の S3 バケットおよびファイル名のいずれかを入力します。 - 15
- ネットワークロードバランサー (NLB) を登録するかどうか。
- 16
yesまたはnoを指定します。yesを指定する場合、Lambda Amazon Resource Name (ARN) の値を指定する必要があります。- 17
- NLB IP ターゲット登録 lambda グループの ARN。
- 18
- DNS および負荷分散の CloudFormation テンプレートの出力から
RegisterNlbIpTargetsLambda値を指定します。 - 19
- 外部 API ロードバランサーのターゲットグループの ARN。
- 20
- DNS および負荷分散の CloudFormation テンプレートの出力から
ExternalApiTargetGroupArn値を指定します。 - 21
- 内部 API ロードバランサーのターゲットグループの ARN。
- 22
- DNS および負荷分散の CloudFormation テンプレートの出力から
InternalApiTargetGroupArn値を指定します。 - 23
- 内部サービスバランサーのターゲットグループの ARN。
- 24
- DNS および負荷分散の CloudFormation テンプレートの出力から
InternalServiceTargetGroupArn値を指定します。
- このトピックの「ブートストラップマシンの CloudFormation テンプレート」セクションからテンプレートをコピーし、これをコンピューター上に YAML ファイルとして保存します。このテンプレートは、クラスターに必要なブートストラップマシンについて記述しています。
テンプレートを起動します。
重要単一行にコマンドを入力してください。
aws cloudformation create-stack --stack-name <name> --template-body file://<template>.yaml --parameters file://<parameters>.json --capabilities CAPABILITY_NAMED_IAM$ aws cloudformation create-stack --stack-name <name>1 --template-body file://<template>.yaml2 --parameters file://<parameters>.json3 --capabilities CAPABILITY_NAMED_IAMCopy 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 テンプレートに指定する必要があります。BootstrapInstanceIdブートストラップインスタンス ID。
BootstrapPublicIpブートストラップノードのパブリック IP アドレス。
BootstrapPrivateIpブートストラップノードのプライベート IP アドレス。
1.6.11.1. ブートストラップマシンの CloudFormation テンプレート リンクのコピーリンクがクリップボードにコピーされました!
以下の CloudFormation テンプレートを使用し、OpenShift Container Platform クラスターに必要なブートストラップマシンをデプロイできます。
1.6.12. AWS でのコントロールプレーンの作成 リンクのコピーリンクがクリップボードにコピーされました!
クラスターで使用するコントロールプレーンマシンを Amazon Web Services (AWS) で作成する必要があります。これらのノードを作成するための最も簡単な方法として、提供される CloudFormation テンプレートを変更することができます。
提供される CloudFormation テンプレートを使用してコントロールプレーンノードを作成しない場合、提供される情報を確認し、インフラストラクチャーを手動で作成する必要があります。クラスターが適切に初期化されない場合、インストールログを用意して Red Hat サポートに問い合わせする必要がある可能性があります。
前提条件
- AWS アカウントを設定します。
- クラスターの Ignition 設定ファイルを生成します。
- AWS で VPC および関連するサブネットを作成し、設定します。
- AWS で DNS、ロードバランサー、およびリスナーを作成し、設定します。
- コントロールプレーンおよびコンピュートロールを作成します。
- ブートストラップマシンを作成します。
手順
テンプレートが必要とするパラメーター値が含まれる JSON ファイルを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- クラスターの Ingition 設定ファイルでエンコードされるクラスターインフラストラクチャーの名前。
- 2
- 形式が
<cluster-name>-<random-string>の Ignition 設定ファイルから抽出したインフラストラクチャー名を指定します。 - 3
- コントロールプレーンマシンに使用する最新の Red Hat Enterprise Linux CoreOS (RHCOS) AMI。
- 4
AWS::EC2::Image::Id値を指定します。- 5
- DNS etcd 登録を実行するかどうか。
- 6
yesまたはnoを指定します。yesを指定する場合、ホストゾーンの情報を指定する必要があります。- 7
- etcd ターゲットの登録に使用する Route53 プライベートゾーン ID。
- 8
- DNS および負荷分散の CloudFormation テンプレートの出力から
PrivateHostedZoneId値を指定します。 - 9
- ターゲットの登録に使用する Route53 ゾーン。
- 10
<cluster_name>.<domain_name>を指定します。ここで、<domain_name>はクラスターのinstall-config.yamlファイルの生成時に使用した Route53 ベースドメインです。AWS コンソールに表示される末尾のピリド (.) は含めないでください。- 11 13 15
- コントロールプレーンマシンの起動に使用するサブネット (プライベートが望ましい)。
- 12 14 16
- DNS および負荷分散の CloudFormation テンプレートの出力から
PrivateSubnets値のサブネットを指定します。 - 17
- マスターノードに関連付けるマスターセキュリティーグループ ID。
- 18
- セキュリティーグループおよびロールの CloudFormation テンプレートから
MasterSecurityGroupId値を指定します。 - 19
- コントロールプレーンの Ignition 設定ファイルをフェッチする場所。
- 20
- 生成される Ignition 設定ファイルの場所を指定します (
https://api-int.<cluster_name>.<domain_name>:22623/config/master)。 - 21
- 使用する base64 でエンコードされた認証局の文字列。
- 22
- インストールディレクトリーにある
master.ignファイルから値を指定します。この値は、data:text/plain;charset=utf-8;base64,ABC…xYz==形式の長い文字列です。 - 23
- マスターロールに関連付ける IAM プロファイル。
- 24
- セキュリティーグループおよびロールの CloudFormation テンプレートの出力から
MasterInstanceProfileパラメーターの値を指定します。 - 25
- コントロールプレーンマシンに使用する AWS インスタンスのタイプ。
- 26
- 許可される値:
-
m4.xlarge -
m4.2xlarge -
m4.4xlarge -
m4.8xlarge -
m4.10xlarge -
m4.16xlarge -
c4.2xlarge -
c4.4xlarge -
c4.8xlarge -
r4.xlarge -
r4.2xlarge -
r4.4xlarge -
r4.8xlarge r4.16xlarge重要m4インスタンスタイプがeu-west-3などのリージョンで利用可能ではない場合、m5.xlargeなどのようにm5タイプを代わりに使用します。
-
- 27
- ネットワークロードバランサー (NLB) を登録するかどうか。
- 28
yesまたはnoを指定します。yesを指定する場合、Lambda Amazon Resource Name (ARN) の値を指定する必要があります。- 29
- NLB IP ターゲット登録 lambda グループの ARN。
- 30
- DNS および負荷分散の CloudFormation テンプレートの出力から
RegisterNlbIpTargetsLambda値を指定します。 - 31
- 外部 API ロードバランサーのターゲットグループの ARN。
- 32
- DNS および負荷分散の CloudFormation テンプレートの出力から
ExternalApiTargetGroupArn値を指定します。 - 33
- 内部 API ロードバランサーのターゲットグループの ARN。
- 34
- DNS および負荷分散の CloudFormation テンプレートの出力から
InternalApiTargetGroupArn値を指定します。 - 35
- 内部サービスバランサーのターゲットグループの ARN。
- 36
- DNS および負荷分散の CloudFormation テンプレートの出力から
InternalServiceTargetGroupArn値を指定します。
- このトピックの「コントロールプレーンマシンの CloudFormation テンプレート」セクションからテンプレートをコピーし、これをコンピューター上に YAML ファイルとして保存します。このテンプレートは、クラスターに必要なコントロールプレーンのマシンについて記述しています。
-
m5インスタンスタイプをMasterInstanceTypeの値として指定している場合、そのインスタンスタイプを CloudFormation テンプレートのMasterInstanceType.AllowedValuesパラメーターに追加します。 テンプレートを起動します。
重要単一行にコマンドを入力してください。
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>.yaml2 --parameters file://<parameters>.json3 Copy 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
1.6.12.1. コントロールプレーンマシンの CloudFormation テンプレート リンクのコピーリンクがクリップボードにコピーされました!
以下の CloudFormation テンプレートを使用し、OpenShift Container Platform クラスターに必要なコントロールプレーンマシンをデプロイすることができます。
1.6.13. ユーザーによってプロビジョニングされるインフラストラクチャーでの AWS でのブートストラップノードの初期化 リンクのコピーリンクがクリップボードにコピーされました!
Amazon Web Services (AWS) ですべての必要なインフラストラクチャーを作成した後に、クラスターをインストールできます。
前提条件
- AWS アカウントを設定します。
- クラスターの Ignition 設定ファイルを生成します。
- AWS で VPC および関連するサブネットを作成し、設定します。
- AWS で DNS、ロードバランサー、およびリスナーを作成し、設定します。
- コントロールプレーンおよびコンピュートロールを作成します。
- ブートストラップマシンを作成します。
- コントロールプレーンマシンを作成します。
- ワーカーマシンを手動で管理する予定の場合には、ワーカーマシンを作成します。
手順
インストールプログラムが含まれるディレクトリーに切り替え、以下のコマンドを実行します。
./openshift-install wait-for bootstrap-complete --dir=<installation_directory> \ --log-level=info$ ./openshift-install wait-for bootstrap-complete --dir=<installation_directory> \1 --log-level=info2 Copy to Clipboard Copied! Toggle word wrap Toggle overflow コマンドが
FATAL警告を出さずに終了する場合、実稼働用のコントロールプレーンは初期化されています。
1.6.13.1. AWS でのワーカーノードの作成 リンクのコピーリンクがクリップボードにコピーされました!
クラスターで使用するワーカーノードを Amazon Web Services (AWS) で作成できます。これらのノードを作成するための最も簡単な方法として、提供される CloudFormation テンプレートを変更することができます。
CloudFormation テンプレートは、1 つのワーカーマシンを表すスタックを作成します。それぞれのワーカーマシンにスタックを作成する必要があります。
提供される CloudFormation テンプレートを使用してワーカーノードを作成しない場合、提供される情報を確認し、インフラストラクチャーを手動で作成する必要があります。クラスターが適切に初期化されない場合、インストールログを用意して Red Hat サポートに問い合わせする必要がある可能性があります。
前提条件
- AWS アカウントを設定します。
- クラスターの Ignition 設定ファイルを生成します。
- AWS で VPC および関連するサブネットを作成し、設定します。
- AWS で DNS、ロードバランサー、およびリスナーを作成し、設定します。
- コントロールプレーンおよびコンピュートロールを作成します。
- ブートストラップマシンを作成します。
- コントロールプレーンマシンを作成します。
手順
CloudFormation テンプレートが必要とするパラメーター値が含まれる JSON ファイルを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- クラスターの Ingition 設定ファイルでエンコードされるクラスターインフラストラクチャーの名前。
- 2
- 形式が
<cluster-name>-<random-string>の Ignition 設定ファイルから抽出したインフラストラクチャー名を指定します。 - 3
- ワーカーノードに使用する最新の Red Hat Enterprise Linux CoreOS(RHCOS)AMI。
- 4
AWS::EC2::Image::Id値を指定します。- 5
- ワーカーノードを起動するサブネット (プライベートが望ましい)。
- 6
- DNS および負荷分散の CloudFormation テンプレートの出力から
PrivateSubnets値のサブネットを指定します。 - 7
- ワーカーノードに関連付けるワーカーセキュリティーグループ ID。
- 8
- セキュリティーグループおよびロールの CloudFormation テンプレートの出力から
WorkerSecurityGroupId値を指定します。 - 9
- ブートストラップの Ignition 設定ファイルをフェッチする場所。
- 10
- 生成される Ignition 設定の場所を指定します。
https://api-int.<cluster_name>.<domain_name>:22623/config/worker - 11
- 使用する base64 でエンコードされた認証局の文字列。
- 12
- インストールディレクトリーにある
worker.ignファイルから値を指定します。この値は、data:text/plain;charset=utf-8;base64,ABC…xYz==形式の長い文字列です。 - 13
- ワーカーロールに関連付ける IAM プロファイル。
- 14
- セキュリティーグループおよびロールの CloudFormation テンプレートの出力から
WokerInstanceProfileパラメーターの値を指定します。 - 15
- コントロールプレーンマシンに使用する AWS インスタンスのタイプ。
- 16
- 許可される値:
-
m4.large -
m4.xlarge -
m4.2xlarge -
m4.4xlarge -
m4.8xlarge -
m4.10xlarge -
m4.16xlarge -
c4.large -
c4.xlarge -
c4.2xlarge -
c4.4xlarge -
c4.8xlarge -
r4.large -
r4.xlarge -
r4.2xlarge -
r4.4xlarge -
r4.8xlarge r4.16xlarge重要m4インスタンスがeu-west-3などのリージョンで利用可能ではない場合、m5タイプを代わりに使用します。
-
- このトピックの「ワーカーマシンの CloudFormation テンプレート」セクションからテンプレートをコピーし、これをコンピューター上に YAML ファイルとして保存します。このテンプレートは、クラスターに必要なネットワークオブジェクトおよびロードバランサーについて記述しています。
-
m5インスタンスタイプをWorkerInstanceTypeの値として指定している場合、そのインスタンスタイプを CloudFormation テンプレートのWorkerInstanceType.AllowedValuesパラメーターに追加します。 ワーカースタックを作成します。
テンプレートを起動します。
重要単一行にコマンドを入力してください。
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 テンプレートのコンポーネントが存在することを確認します。
aws cloudformation describe-stacks --stack-name <name>
$ aws cloudformation describe-stacks --stack-name <name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
クラスターに作成するワーカーマシンが十分な数に達するまでワーカースタックの作成を継続します。
重要2 つ以上のワーカーマシンを作成する必要があるため、この CloudFormation テンプレートを使用する 2 つ以上のスタックを作成する必要があります。
1.6.13.1.1. ワーカーマシンの CloudFormation テンプレート リンクのコピーリンクがクリップボードにコピーされました!
以下の CloudFormation テンプレートを使用し、OpenShift Container Platform クラスターに必要なワーカーマシンをデプロイすることができます。
1.6.14. クラスターへのログイン リンクのコピーリンクがクリップボードにコピーされました!
クラスター 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 system:admin
$ oc whoami system:adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow
1.6.15. マシンの CSR の承認 リンクのコピーリンクがクリップボードにコピーされました!
マシンをクラスターに追加する際に、追加したそれぞれのマシンについて 2 つの保留状態の証明書署名要求 (CSR) が生成されます。これらの CSR が承認されていることを確認するか、または必要な場合はそれらを承認してください。
前提条件
- マシンをクラスターに追加していること。
手順
クラスターがマシンを認識していることを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力には作成したすべてのマシンが一覧表示されます。
保留中の証明書署名要求 (CSR) を確認し、クラスターに追加したそれぞれのマシンのクライアントおよびサーバー要求に
PendingまたはApprovedステータスが表示されていることを確認します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow この例では、2 つのマシンがクラスターに参加しています。この一覧にはさらに多くの承認された CSR が表示される可能性があります。
追加したマシンの保留中の CSR すべてが
Pendingステータスになった後に CSR が承認されない場合には、クラスターマシンの CSR を承認します。注記CSR のローテーションは自動的に実行されるため、クラスターにマシンを追加後 1 時間以内に CSR を承認してください。1 時間以内に承認しない場合には、証明書のローテーションが行われ、各ノードに 3 つ以上の証明書が存在するようになります。これらの証明書すべてを承認する必要があります。最初の CSR の承認後、後続のノードクライアント CSR はクラスターの
kube-controller-mangerによって自動的に承認されます。kubelet 提供証明書の要求を自動的に承認する方法を実装する必要があります。それらを個別に承認するには、それぞれの有効な CSR について以下のコマンドを実行します。
oc adm certificate approve <csr_name>
$ oc adm certificate approve <csr_name>1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<csr_name>は、現行の CSR の一覧からの CSR の名前です。
すべての保留中の CSR を承認するには、以下のコマンドを実行します。
oc get csr -o go-template='{{range .items}}{{if not .status}}{{.metadata.name}}{{"\n"}}{{end}}{{end}}' | xargs oc adm certificate approve$ oc get csr -o go-template='{{range .items}}{{if not .status}}{{.metadata.name}}{{"\n"}}{{end}}{{end}}' | xargs oc adm certificate approveCopy to Clipboard Copied! Toggle word wrap Toggle overflow
1.6.16. Operator の初期設定 リンクのコピーリンクがクリップボードにコピーされました!
コントロールプレーンの初期化後に、一部の Operator を利用可能にするためにそれらをすぐに設定する必要があります。
前提条件
- コントロールプレーンが初期化されていること。
手順
クラスターコンポーネントがオンラインになることを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 利用不可の Operator を設定します。
1.6.16.1. イメージレジストリーストレージの設定 リンクのコピーリンクがクリップボードにコピーされました!
image-registry Operator が利用できない場合、そのストレージを設定する必要があります。実稼働クラスターに必要な PersistentVolume の設定方法と、実稼働用ではないクラスターにのみ使用できる空のディレクトリーをストレージの場所として設定する方法が表示されます。
1.6.16.1.1. ユーザーによってプロビジョニングされるインフラストラクチャーで AWS のレジストリーストレージを設定する リンクのコピーリンクがクリップボードにコピーされました!
インストール時に、S3 バケットを作成するにはクラウド認証情報を使用でき、レジストリー Operator がストレージを自動的に設定します。
レジストリー Operator が S3 バケットを作成できず、ストレージを自動的に設定する場合、以下の手順により S3 バケットを作成し、ストレージを設定することができます。
前提条件
- ユーザーによってプロビジョニングされるインフラストラクチャーでの AWS 上のクラスター
AWS ストレージの S3 の場合、シークレットには以下のキーが含まれることが予想されます。
-
REGISTRY_STORAGE_S3_ACCESSKEY -
REGISTRY_STORAGE_S3_SECRETKEY
-
手順
レジストリー Operator が S3 バケットを作成できず、ストレージを自動的に設定する場合は、以下の手順を使用してください。
- バケットライフサイクルポリシーを設定し、1 日以上経過している未完了のマルチパートアップロードを中止します。
configs.imageregistry.operator.openshift.io/clusterにストレージ設定を入力します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
AWS でレジストリーイメージのセキュリティーを保護するには、S3 バケットに対してパブリックアクセスのブロックを実行します。
1.6.16.1.2. 実稼働以外のクラスターでのイメージレジストリーのストレージの設定 リンクのコピーリンクがクリップボードにコピーされました!
イメージレジストリー Operator のストレージを設定する必要があります。実稼働用以外のクラスターの場合、イメージレジストリーは空のディレクトリーに設定することができます。これを実行する場合、レジストリーを再起動するとすべてのイメージが失われます。
手順
イメージレジストリーストレージを空のディレクトリーに設定するには、以下を実行します。
oc patch configs.imageregistry.operator.openshift.io cluster --type merge --patch '{"spec":{"storage":{"emptyDir":{}}}}'$ oc patch configs.imageregistry.operator.openshift.io cluster --type merge --patch '{"spec":{"storage":{"emptyDir":{}}}}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 警告実稼働用以外のクラスターにのみこのオプションを設定します。
イメージレジストリー Operator がそのコンポーネントを初期化する前にこのコマンドを実行する場合、
oc patchコマンドは以下のエラーを出して失敗します。Error from server (NotFound): configs.imageregistry.operator.openshift.io "cluster" not found
Error from server (NotFound): configs.imageregistry.operator.openshift.io "cluster" not foundCopy to Clipboard Copied! Toggle word wrap Toggle overflow 数分待機した後に、このコマンドを再び実行します。
1.6.17. ブートストラップリソースの削除 リンクのコピーリンクがクリップボードにコピーされました!
クラスターの初期 Operator 設定の完了後に、Amazon Web Services (AWS) からブートストラップリソースを削除します。
前提条件
- クラスターの初期 Operator 設定を完了している。
1.6.18. Ingress DNS レコードの作成 リンクのコピーリンクがクリップボードにコピーされました!
DNS ゾーン設定を削除した場合には、Ingress ロードバランサーを参照する DNS レコードを手動で作成します。ワイルドカードレコードまたは特定のレコードのいずれかを作成できます。以下の手順では A レコードを使用しますが、CNAME やエイリアスなどの必要な他のレコードタイプを使用できます。
前提条件
- 独自にプロビジョニングしたインフラストラクチャーを使用する OpenShift Container Platform クラスターを Amazon Web Services (AWS) にデプロイしている。
-
ocとして知られる OpenShift コマンドラインインターフェース (CLI) のインストール。 -
jqパッケージのインストール。 - AWS CLI をダウンロードし、これをコンピューターにインストールします。「Install the AWS CLI Using the Bundled Installer (Linux, macOS, or Unix)」を参照してください。
手順
作成するルートを決定します。
-
ワイルドカードレコードを作成するには、
*.apps.<cluster_name>.<domain_name>を使用します。ここで、<cluster_name>はクラスター名で、<domain_name>は OpenShift Container Platform クラスターの Route53 ベースドメインです。 特定のレコードを作成するには、以下のコマンドの出力にあるように、クラスターが使用する各ルートにレコードを作成する必要があります。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
ワイルドカードレコードを作成するには、
Ingress Operator ロードバランサーのステータスを取得し、使用する外部 IP アドレスの値をメモします。これは
EXTERNAL-IP列に表示されます。oc -n openshift-ingress get service router-default NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE router-default LoadBalancer 172.30.62.215 ab3...28.us-east-2.elb.amazonaws.com 80:31499/TCP,443:30693/TCP 5m
$ oc -n openshift-ingress get service router-default NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE router-default LoadBalancer 172.30.62.215 ab3...28.us-east-2.elb.amazonaws.com 80:31499/TCP,443:30693/TCP 5mCopy to Clipboard Copied! Toggle word wrap Toggle overflow ロードバランサーのホストゾーン ID を見つけます。
aws elb describe-load-balancers | jq -r '.LoadBalancerDescriptions[] | select(.DNSName == "<external_ip>").CanonicalHostedZoneNameID' Z3AADJGX6KTTL2
$ aws elb describe-load-balancers | jq -r '.LoadBalancerDescriptions[] | select(.DNSName == "<external_ip>").CanonicalHostedZoneNameID'1 Z3AADJGX6KTTL2Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<external_ip>については、取得した Ingress Operator ロードバランサーの外部 IP アドレスの値を指定します。
このコマンドの出力は、ロードバランサーのホストゾーン ID です。
クラスターのドメインのパブリックホストゾーン ID を取得します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ドメインのパブリックホストゾーン ID がコマンド出力に表示されます。この例では、これは
Z3URY6TWQ91KVVになります。プライベートゾーンにエイリアスレコードを追加します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<private_hosted_zone_id>については、DNS および負荷分散の CloudFormation テンプレートの出力から値を指定します。- 2
<cluster_domain>については、OpenShift Container Platform クラスターで使用するドメインまたはサブドメインを指定します。- 3
<hosted_zone_id>については、取得したロードバランサーのパブリックホストゾーン ID を指定します。- 4
<external_ip>については、Ingress Operator ロードバランサーの外部 IP アドレスの値を指定します。このパラメーターの値に末尾のピリオド (.) が含まれていることを確認します。
パブリックゾーンにレコードを追加します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<public_hosted_zone_id>については、ドメインのパブリックホストゾーンを指定します。- 2
<cluster_domain>については、OpenShift Container Platform クラスターで使用するドメインまたはサブドメインを指定します。- 3
<hosted_zone_id>については、取得したロードバランサーのパブリックホストゾーン ID を指定します。- 4
<external_ip>については、Ingress Operator ロードバランサーの外部 IP アドレスの値を指定します。このパラメーターの値に末尾のピリオド (.) が含まれていることを確認します。
1.6.19. ユーザーによってプロビジョニングされるインフラストラクチャーでの AWS インストールの実行 リンクのコピーリンクがクリップボードにコピーされました!
Amazon Web Service (AWS) のユーザーによってプロビジョニングされるインフラストラクチャーで OpenShift Container Platform のインストールを開始した後に、デプロイメントを完了するまでモニターします。
前提条件
- OpenShift Container Platform クラスターのブートストラップノードを、ユーザーによってプロビジョニングされた AWS インフラストラクチャーで削除していること。
-
ocCLI のインストールおよびログイン。
手順
クラスターのインストールを完了します。
./openshift-install --dir=<installation_directory> wait-for install-complete INFO Waiting up to 30m0s for the cluster to initialize...
$ ./openshift-install --dir=<installation_directory> wait-for install-complete1 INFO Waiting up to 30m0s for the cluster to initialize...Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<installation_directory>については、インストールファイルを保存したディレクトリーへのパスを指定します。
重要インストールプログラムが生成する Ignition 設定ファイルには、24 時間が経過すると期限切れになる証明書が含まれます。最初の証明書のローテーションが正常に実行されるようにするには、クラスターを動作が低下していない状態で 24 時間実行し続ける必要があります。
- 「Cluster registration」ページでクラスターを登録します。
次のステップ
- クラスターをカスタマイズします。
- 必要な場合は、リモートの健全性レポートをオプトアウトすることができます。
1.7. AWS でのクラスターのアンインストール リンクのコピーリンクがクリップボードにコピーされました!
Amazon Web Services (AWS) にデプロイしたクラスターは削除することができます。
1.7.1. インストーラーでプロビジョニングされるインフラストラクチャーを使用するクラスターの削除 リンクのコピーリンクがクリップボードにコピーされました!
インストーラーでプロビジョニングされるインフラストラクチャーを使用するクラスターは、クラウドから削除できます。
前提条件
- クラスターをデプロイするために使用したインストールプログラムのコピーがあること。
- クラスター作成時にインストールプログラムが生成したファイルがあること。
手順
クラスターをインストールするために使用したコンピューターから、以下のコマンドを実行します。
./openshift-install destroy cluster \ --dir=<installation_directory> --log-level=info
$ ./openshift-install destroy cluster \ --dir=<installation_directory> --log-level=info1 2 Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記クラスターのクラスター定義ファイルが含まれるディレクトリーを指定する必要があります。クラスターを削除するには、インストールプログラムでこのディレクトリーにある
metadata.jsonファイルが必要になります。-
オプション:
<installation_directory>ディレクトリーおよび OpenShift Container Platform インストールプログラムを削除します。
Legal Notice
リンクのコピーリンクがクリップボードにコピーされました!
Copyright © 2025 Red Hat
OpenShift documentation is licensed under the Apache License 2.0 (https://www.apache.org/licenses/LICENSE-2.0).
Modified versions must remove all Red Hat trademarks.
Portions adapted from https://github.com/kubernetes-incubator/service-catalog/ with modifications by Red Hat.
Red Hat, Red Hat Enterprise Linux, the Red Hat logo, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation’s permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.