

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# インストールオプション
<a name="installation-options"></a>

Red Hat OpenShift on AWSをインストールする方法として、主に 2 つの方法があります。
+ インストーラープロビジョニングインフラストラクチャ (IPI) — ユーザーは基本情報 (コントロールプレーンマシンの数など) を提供し、ほとんどの質問はデフォルト値を選択できます。次のセクションで説明するように、Red Hat OpenShift Service on AWS コマンドラインユーティリティ (`rosa` CLI) を IPI 構造に配置することができます。
+ ユーザープロビジョニングインフラストラクチャ (UPI) — ドメインネームサーバー (DNS)、Amazon 仮想プライベートクラウド (VPC)、ブートストラップマシン、コントロールプレーンなどのインフラストラクチャコンポーネントがすべて手動で作成され、そのインフラストラクチャ上に Red Hat OpenShift がインストールされます。

どちらのセットアップでも同じインストールプログラム (`install-config.yaml`) を使用しており、ターゲットと依存関係に基づいてコンポーネントをインストールします。各ターゲットには独自の依存関係があるため、プログラムは複数のターゲットを並列にサポートして、ターゲットがクラスターを正常に実行できるようにします。次の図は、ターゲットと依存関係の一部を示しています。

![での Red Hat OpenShift のターゲットと依存関係 AWS](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/red-hat-openshift-on-aws-implementation/images/targets-dependencies.png)


## 各アプローチの利点と欠点
<a name="adv-disadv"></a>


****  

| インストーラープロビジョニングインフラストラクチャ (IPI) | ユーザープロビジョニングインフラストラクチャ (UPI) | 
| --- | --- | 
| インストールがしやすい。 | 複雑でセットアップに時間がかかる。 | 
| カスタマイズオプションが少ない。 | トポロジーとインフラストラクチャ全体をカスタマイズできる。 | 
|  AWS およびその他のパブリッククラウドオプションをサポートします。 | VMware、ベアメタルシステム、 AWS その他のクラウドオプションをサポートします。 | 
| ロードバランサーや仮想ネットワークを含むすべてのインフラストラクチャコンポーネントを作成する。 | 基盤となるプラットフォームがすべての要件を満たしていない場合に使用できる (例えば、ベアメタルシステムにロードバランサーはありません)。 | 
| 高度な自動化。 | 基盤となるインフラストラクチャをプロビジョニングするための、自動化レイヤー全体を作成する必要がある。この目的には AWS CloudFormation テンプレートを使用できます。 | 
| 前提条件の確認がしやすい。 | 前提条件は慎重に検証する必要がある。 | 

## IPI の例 - `rosa` CLI を使用
<a name="ipi-example1"></a>

Red Hat OpenShift Service on は IPI タイプのインストール AWS を実装しますが、追加の利点があります。`rosa` CLI を使用して、 AWS クラスターとリソースで Red Hat OpenShift を管理 (更新、削除、プロビジョニング) します。詳細については、[Red Hat OpenShift のドキュメント](https://docs.openshift.com/rosa/rosa_getting_started/rosa-getting-started.html)を参照してください。

Red Hat OpenShift クラスターをプロビジョニングするには AWS、まず `rosa` CLI をインストールし、 AWS Command Line Interface (AWS CLI) が AWS アカウントを指していることを確認します。次に、以下のようなコマンドを使用して、`rosa` CLI でクラスターを検証しプロビジョニングを実行します。

```
rosa verify permissions [arguments]
rosa download oc

rosa verify quota [arguments]
rosa init --token=<token> 
rosa create cluster --cluster-name=<cluster_name>
```

クラスターがプロビジョニングされたら、OpenShift コマンドを使用してクラスターを検証することができます。

```
oc get nodes (list all nodes if connected to cluster)
oc get ns (list all namespaces)
```

詳細については、[OpenShift ドキュメント](https://docs.openshift.com/rosa/cli_reference/openshift_cli/getting-started-cli.html)を参照してください。

この方法には次のような利点があります。
+ セットアップが簡単で、 AWS上にクラスターを迅速にプロビジョニングすることができる。
+ ログ情報が提供されるため、何か問題が生じた場合にトラブルシューティングがしやすい。
+ コマンドラインを使用して前提条件を検証できる。
+ 削除やその他の操作にも使用できる。

考えられる懸念事項:
+ カスタマイズオプションは限られている場合がある。
+ `rosa` CLI AWS CLI、およびその他の基本的なセットアップが必要です。
+ IPI に関する課題はすべて、`rosa` CLI の使用にも同様に当てはまる。

## IPI の例 — `openshift-install` を使用
<a name="ipi-example2"></a>

`openshift-install` は、クラスターをすばやく作成する際に使用できるコマンドラインユーティリティです。このコマンドは、`install-config.yaml` ファイルに変更を加えることで柔軟性をもたらします。このセクションでは、ユーティリティを使用する手順の概要について説明します。詳細なインストール手順については、[OpenShift ドキュメント](https://docs.openshift.com/container-platform/4.6/installing/installing_aws/installing-aws-default.html)を参照してください。

1. [Red Hat のウェブサイト](https://console.redhat.com/openshift/install) (Red Hat のアカウントが必要です) からインストーラを入手してください。

1. パッケージを展開します。

   ```
   tar xvf openshift-install-linux.tar.gz
   ```

1. インストールディレクトリを特定し、`create cluster` コマンドを実行します。

   ```
   ./openshift-install create cluster --dir <installation_directory> --log-level=info
   ```

1. インストールをカスタマイズするには、`install-config.yaml` ファイルを生成します。

   ```
   ./openshift-install create install-config --dir <installation_directory>
   ```

以下は、サンプルの `install-config.yaml` ファイルからの抜粋を示しています。設定オプションについては、[OpenShift ドキュメント](https://docs.openshift.com/container-platform/4.7/installing/installing_aws/installing-aws-customizations.html)を参照してください。

```
      apiVersion: v1
baseDomain: sample.com 
credentialsMode: Mint 
controlPlane:   
  hyperthreading: Enabled 
  name: master
  platform:
    aws:
      zones:
      - us-east-2a
      - us-east-2b
      rootVolume:
        iops: 4000
        size: 500
        type: io1 
      type: m5.xlarge
  replicas: 3
compute: 
- hyperthreading: Enabled 
  name: worker
  platform:
    aws:
      rootVolume:
        iops: 2000
        size: 500
        type: io1 
      type: c5.4xlarge
      zones:
      - us-east-2c
  replicas: 3
metadata:
  name: sample-cluster 
networking:
  clusterNetwork:
  - cidr: 10.128.0.0/14
    hostPrefix: 23
  machineNetwork:
  - cidr: 10.0.0.0/16
  networkType: OpenShiftSDN
  serviceNetwork:
  - 172.30.0.0/16
platform:
  aws:
    region: us-west-2 
    userTags:
      adminContact: jdoe
      costCenter: 7536
    amiID: ami-96c6f8f7 
    serviceEndpoints: 
      - name: ec2
        url: https://vpce-id.ec2.us-west-2.vpce.amazonaws.com
fips: false 
sshKey: ssh-ed25519 AAAA... 
pullSecret: '{"auths": ...}'
```

## UPI の例 – ユーザーがプロビジョニングした AWS インフラストラクチャに をインストールする
<a name="upi-example"></a>

Red Hat OpenShift クラスターは、個別にプロビジョニングする既存の AWS インフラストラクチャにプロビジョニングできます。インフラストラクチャをプロビジョニングするには、 CloudFormation テンプレートを使用して VPC、ホストゾーン、DNS レコード、およびその他のコンポーネントを作成できます。詳細な手順と CloudFormation のテンプレートについては、[OpenShift ドキュメント](https://docs.redhat.com/en/documentation/openshift_container_platform/4.1/html/installing/installing-on-user-provisioned-aws)を参照してください。

クラスターがプロビジョニングされたら、ワーカーノードを `Ready` ステータスに移動するために、証明書署名リクエスト (CSR) をすべて承認する必要があります。

```
oc get nodes

NAME      STATUS    ROLES   AGE  VERSION
master-0  Ready     master  63m  v1.13.4+b626c2fe1
master-1  Ready     master  63m  v1.13.4+b626c2fe1
master-2  Ready     master  64m  v1.13.4+b626c2fe1
worker-0  NotReady  worker  76s  v1.13.4+b626c2fe1
worker-1  NotReady  worker  70s  v1.13.4+b626c2fe1
```

次のコマンドを使用すると、すべての証明書をワンステップで承認することができます。

```
    oc get csr -ojson | jq -r '.items[] | select(.status == {} ) | .metadata.name' | xargs oc adm certificate approve
```

`oc` コマンドラインを使って、または Red Hat コンソールから、すべての演算子が `Ready` ステージにあることが確認できます。

確認後、ブートストラップリソースを削除します。と`stack-name` AWS マネジメントコンソール、スタックの作成時に指定した名前から判断できます。

```
aws cloudformation delete-stack --stack-name <name> 
```

次のコマンドを使用してクラスターのプロビジョニングを終了します。

```
./openshift-install --dir=<installation_directory> wait-for install-complete 

INFO Waiting up to 30m0s for the cluster to initialize...
```

クラスターを利害関係者に配信する前に、必ずログをチェックしてエラーがないことを確認してください。