Azure へのインストール
OpenShift Container Platform 4.2 Azure クラスターのインストール
概要
第1章 Azure へのインストール
1.1. Azure アカウントの設定
OpenShift Container Platform をインストールする前に、Microsoft Azure アカウントを設定する必要があります。
パブリックエンドポイントで利用可能なすべての Azure リソースはリソース名の制限を受けるため、特定の用語を使用するリソースを作成することはできません。Azure が制限する語の一覧は、Azure ドキュメントの「Resolve reserved resource name errors」 を参照してください。
1.1.1. Azure アカウントの制限
OpenShift Container Platform クラスターは数多くの Microsoft Azure コンポーネントを使用し、デフォルトの Azure サブスクリプションおよびサービス制限、クォータ、および制約は、OpenShift Container Platform クラスターをインストールする機能に影響を与えます。
デフォルトの制限は、Free Trial や Pay-As-You-Go、および DV2、F、および G などのシリーズといったカテゴリータイプによって異なります。たとえば、Enterprise Agreement サブスクリプションのデフォルトは 350 コアです。
サブスクリプションタイプの制限を確認し、必要に応じて、デフォルトのクラスターを Azure にインストールする前にアカウントのクォータ制限を引き上げます。
以下の表は、OpenShift Container Platform クラスターのインストールおよび実行機能に影響を与える可能性のある Azure コンポーネントの制限を要約しています。
Component | デフォルトで必要なコンポーネントの数 | デフォルトの Azure 制限 | 説明 | ||||||
---|---|---|---|---|---|---|---|---|---|
vCPU | 34 | リージョンごとに 20 | デフォルトのクラスターには 34 の vCPU が必要であるため、アカウントの上限を引き上げる必要があります。 デフォルトで、各クラスターは以下のインスタンスを作成します。
ブートストラップマシンは 4 vCPUS を使用する 追加のワーカーノードをデプロイし、自動スケーリングを有効にし、大規模なワークロードをデプロイするか、または異なるインスタンスタイプを使用するには、アカウントの vCPU 制限をさらに引き上げ、クラスターが必要なマシンをデプロイできるようにする必要があります。 デフォルトで、インストールプログラムはコントロールプレーンおよびコンピュートマシンを、リージョン内のすべてのアベイラビリティーゾーンに分散します。クラスターの高可用性を確保するには、少なくとも 3 つ以上のアベイラビリティーゾーンのあるリージョンを選択します。リージョンに含まれるアベイラビリティーゾーンが 3 つ未満の場合、インストールプログラムは複数のコントロールプレーンマシンを利用可能なゾーンに配置します。 | ||||||
VNet | 1 | リージョンごとに 1000 | 各デフォルトクラスターには、2 つのサブネットを含む 1 つの Virtual Network (VNet) が必要です。 | ||||||
ネットワークインターフェース | 6 | リージョンごとに 65,536 | 各デフォルトクラスターには、6 つのネットワークインターフェースが必要です。さらに多くのマシンを作成したり、デプロイしたワークロードでロードバランサーを作成する場合、クラスターは追加のネットワークインターフェースを使用します。 | ||||||
ネットワークセキュリティーグループ | 2 | 5000 | 各デフォルトクラスター。各クラスターは VNet の各サブネットにネットワークセキュリティーグループを作成します。デフォルトのクラスターは、コントロールプレーンおよびコンピュートノードのサブネットにネットワークセキュリティーグループを作成します。
| ||||||
ネットワークロードバランサー | 3 | リージョンごとに 1000 | 各クラスターは以下の ロードバランサーを作成します。
アプリケーションが追加の Kubernetes LoadBalancer サービスオブジェクトを作成すると、クラスターは追加のロードバランサーを使用します。 | ||||||
パブリック IP アドレス | 3 | 2 つのパブリックロードバランサーのそれぞれはパブリック IP アドレスを使用します。ブートストラップマシンは、インストール時のトラブルシューティングのためにマシンに SSH を実行できるようにパブリック IP アドレスも使用します。ブートストラップノードの IP アドレスは、インストール時にのみ使用されます。 | |||||||
プライベート IP アドレス | 7 | 内部ロードバランサー、3 つのコントロールプレーンマシンのそれぞれ、および 3 つのワーカーマシンのそれぞれはプライベート IP アドレスを使用します。 |
1.1.2. Azure でのパブリック DNS ゾーンの設定
OpenShift Container Platform をインストールするには、使用する Microsoft Azure アカウントに、専用のパブリックホスト DNS ゾーンが必要になります。このゾーンはドメインに対する権威を持っている必要があります。このサービスは、クラスターへの外部接続のためのクラスター DNS 解決および名前検索を提供します。
手順
ドメイン、またはサブドメイン、およびレジストラーを特定します。既存のドメインおよびレジストラーを移行するか、Azure または別のソースから新規のものを取得できます。
注記Azure 経由でドメインを購入する方法についての詳細は、Azure ドキュメントの「Buy a custom domain name for Azure App Service」を参照してください。
- 既存のドメインおよびレジストラーを使用している場合、その DNS を Azure に移行します。Azure ドキュメントの「Migrate an active DNS name to Azure App Service」を参照してください。
ドメインの DNS を設定します。Azure ドキュメントの「Tutorial: Host your domain in Azure DNS」の手順に従い、ドメインまたはサブドメインのパブリックホストゾーンを作成し、 新規の権威ネームサーバーを抽出し、ドメインが使用するネームサーバーのレジストラーレコードを更新します。
openshiftcorp.com
などのルートドメインや、clusters.openshiftcorp.com
などのサブドメインを使用します。- サブドメインを使用する場合は、所属する会社の手順に従ってその委任レコードを親ドメインに追加します。
1.1.3. Azure アカウント制限の拡張
アカウントの制限を引き上げるには、Azure ポータルでサポートをリクエストします。
サポートリクエストごとに 1 つの種類のクォータのみを増やすことができます。
手順
- Azure ポータルの左端で Help + support をクリックします。
New support request をクリックしてから必要な値を選択します。
- Issue type 一覧から、Service and subscription limits (quotas) を選択します。
- Subscription 一覧から、変更するサブスクリプションを選択します。
- Quota type 一覧から、引き上げるクォータを選択します。たとえば、Compute-VM (cores-vCPUs) subscription limit increases を選択し、クラスターのインストールに必要な vCPU の数を増やします。
- Next: Solutions をクリックします。
「PROBLEM DETAILS」ページで、クォータの引き上げについての必要な情報を指定します。
- Provide details をクリックし、「Quota details」ウィンドウに必要な詳細情報を指定します。
- 「SUPPORT METHOD and CONTACT INFO」セクションに、問題の重大度および問い合わせ先の詳細を指定します。
- Next: Review + create をクリックしてから Create をクリックします。
1.1.4. 必要な Azure ロール
Microsoft Azure アカウントには、使用するサブスクリプションについて以下のロールが必要です。
-
User Access Administrator
Azure ポータルでロールを設定するには、Azure ドキュメントの「Manage access to Azure resources using RBAC and the Azure portal」を参照します。
1.1.5. サービスプリンシパルの作成
OpenShift Container Platform およびそのインストールプログラムは Azure Resource Manager 経由で Microsoft Azure リソースを作成する必要があるため、これを表すサービスプリンシパルを作成する必要があります。
前提条件
- Azure CLI のインストールまたは更新を実行します。
-
jq
パッケージをインストールします。 - Azure アカウントには、使用するサブスクリプションに必要なロールがなければなりません。
手順
Azure CLI にログインします。
$ az login
認証情報を使用して Web コンソールで Azure にログインします。
Azure アカウントでサブスクリプションを使用している場合は、適切なサブスクリプションを使用していることを確認してください。
利用可能なアカウントの一覧を表示し、クラスターに使用するサブスクリプションの
tenantId
の値を記録します。$ az account list --refresh [ { "cloudName": "AzureCloud", "id": "9bab1460-96d5-40b3-a78e-17b15e978a80", "isDefault": true, "name": "Subscription Name", "state": "Enabled", "tenantId": "6057c7e9-b3ae-489d-a54e-de3f6bf6a8ee", "user": { "name": "you@example.com", "type": "user" } } ]
アクティブなアカウントの詳細を表示し、
tenantId
が使用するサブスクリプションと一致することを確認します。$ az account show { "environmentName": "AzureCloud", "id": "9bab1460-96d5-40b3-a78e-17b15e978a80", "isDefault": true, "name": "Subscription Name", "state": "Enabled", "tenantId": "6057c7e9-b3ae-489d-a54e-de3f6bf6a8ee", 1 "user": { "name": "you@example.com", "type": "user" } }
- 1
tenantId
パラメーターの値が適切なサブスクリプションの UUID であることを確認します。
適切なサブスクリプションを使用していない場合には、アクティブなサブスクリプションを変更します。
$ az account set -s <id> 1
- 1
- 使用する必要のあるサブスクリプションの
id
の値を<id>
の代わりに使用します。
アクティブなサブスクリプションを変更したら、アカウント情報を再度表示します。
$ az account show { "environmentName": "AzureCloud", "id": "33212d16-bdf6-45cb-b038-f6565b61edda", "isDefault": true, "name": "Subscription Name", "state": "Enabled", "tenantId": "8049c7e9-c3de-762d-a54e-dc3f6be6a7ee", "user": { "name": "you@example.com", "type": "user" } }
-
直前の出力の
tenantId
およびid
パラメーターの値を記録します。OpenShift Container Platform のインストール時にこれらの値が必要になります。 アカウントのサービスプリンシパルを作成します。
$ az ad sp create-for-rbac --role Contributor --name <service_principal> 1 Changing "<service_principal>" to a valid URI of "http://<service_principal>", which is the required format used for service principal names Retrying role assignment creation: 1/36 Retrying role assignment creation: 2/36 Retrying role assignment creation: 3/36 Retrying role assignment creation: 4/36 { "appId": "8bd0d04d-0ac2-43a8-928d-705c598c6956", "displayName": "<service_principal>", "name": "http://<service_principal>", "password": "ac461d78-bf4b-4387-ad16-7e32e328aec6", "tenant": "6048c7e9-b2ad-488d-a54e-dc3f6be6a7ee" }
- 1
<service_principal>
を、サービスプリンシパルに割り当てる名前に置き換えます。
-
直前の出力の
appId
およびpassword
パラメーターの値を記録します。OpenShift Container Platform のインストール時にこれらの値が必要になります。 サービスプリンシパルに追加パーミッションを付与します。サービスプリンシパルには、クラスターでそのコンポーネントの認証情報を割り当てられるようにレガシーの
Azure Active Directory Graph → Application.ReadWrite.OwnedBy
パーミッションおよびUser Access Administrator
ロールが必要です。User Access Administrator
ロールを割り当てるには、以下のコマンドを実行します。$ az role assignment create --role "User Access Administrator" \ --assignee-object-id $(az ad sp list --filter "appId eq '<appId>'" \ 1 | jq '.[0].objectId' -r)
- 1
<appId>
を、サービスプリンシパルのappId
パラメーター値に置き換えます。
Azure Active Directory Graph
パーミッションを割り当てるには、以下のコマンドを実行します。$ az ad app permission add --id <appId> \ 1 --api 00000002-0000-0000-c000-000000000000 \ --api-permissions 824c81eb-e3f8-4ee6-8f6d-de7f50d565b7=Role Invoking "az ad app permission grant --id 46d33abc-b8a3-46d8-8c84-f0fd58177435 --api 00000002-0000-0000-c000-000000000000" is needed to make the change effective
- 1
<appId>
を、サービスプリンシパルのappId
パラメーター値に置き換えます。
このコマンドで付与する特定のパーミッションについての詳細は、「GUID Table for Windows Azure Active Directory Permissions」を参照してください。
パーミッション要求を承認します。アカウントに Azure Active Directory テナント管理者ロールがない場合は、所属する組織のガイドラインに従い、テナント管理者にパーミッション要求を承認するようにリクエストしてください。
$ az ad app permission grant --id <appId> \ 1 --api 00000002-0000-0000-c000-000000000000
- 1
<appId>
を、サービスプリンシパルのappId
パラメーター値に置き換えます。
1.1.6. サポート対象の Azure リージョン
インストールプログラムは、サブスクリプションに基づいて利用可能な Microsoft Azure リージョンの一覧を動的に生成します。以下の Azure リージョンは OpenShift Container Platform バージョン 4.2.0 でテストされ、検証されています。
- centralus (Central US)
- eastus (East US)
- eastus2 (East US 2)
- northcentralus (North Central US)
- southcentralus (South Central US)
- westcentralus (West Central US)
- westus (West US)
- westus2 (West US 2)
- uksouth (UK South)
- ukwest (UK West)
- francecentral (France Central)
- northeurope (North Europe)
- westeurope (West Europe)
- japaneast (Japan East)
- japanwest (Japan West)
- koreacentral (Korea Central)
- koreasouth (Korea South)
- eastasia (East Asia)
- southeastasia (Southeast Asia)
- southindia (South India)
- centralindia (Central India)
- westindia (West India)
- uaenorth (UAE North)
次のステップ
- OpenShift Container Platform クラスターを Azure にインストールします。カスタマイズされたクラスターのインストール、またはデフォルトのオプションでクラスターのクイックインストールを実行できます。
1.2. クラスターの Azure へのクイックインストール
OpenShift Container Platform バージョン 4.2 では、デフォルトの設定オプションを使用してクラスターを Microsoft Azure にインストールできます。
前提条件
- OpenShift Container Platform のインストールおよび更新プロセスについての詳細を確認します。
- クラスターをホストできるように Azure アカウントを設定し、クラスターをデプロイするテスト済みの検証されたリージョンを判別します。
- ファイアウォールを使用する場合、クラスターがアクセスを必要とするサイトを許可するようにファイアウォールを設定する必要があります。
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> 1
- 1
~/.ssh/id_rsa
などの、SSH キーのパスおよびファイル名を指定します。
このコマンドを実行すると、指定した場所にパスワードを必要としない SSH キーが生成されます。
ssh-agent
プロセスをバックグラウンドタスクとして開始します。$ eval "$(ssh-agent -s)" Agent pid 31874
SSH プライベートキーを
ssh-agent
に追加します。$ ssh-add <path>/<file_name> 1 Identity added: /home/<you>/<path>/<file_name> (<computer_name>)
- 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
-
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> \ 1 --log-level=info 2
重要空のディレクトリーを指定します。ブートストラップ X.509 証明書などの一部のインストールアセットの有効期限は短く設定されているため、インストールディレクトリーを再利用することができません。別のクラスターインストールの個別のファイルを再利用する必要がある場合は、それらをディレクトリーにコピーすることができます。ただし、インストールアセットのファイル名はリリース間で変更される可能性があります。インストールファイルを以前のバージョンの OpenShift Container Platform からコピーする場合は注意してコピーを行ってください。
プロンプト時に値を指定します。
オプション: クラスターマシンにアクセスするために使用する SSH キーを選択します。
注記インストールのデバッグまたは障害復旧を実行する必要のある実稼働用の OpenShift Container Platform クラスターでは、
ssh-agent
プロセスが使用する SSH キーを指定します。- ターゲットに設定するプラットフォームとして azure を選択します。
お使いのコンピューターに Microsoft Azure プロファイルが保存されていない場合は、サブスクリプションとサービスプリンシパルに以下の Azure パラメーター値を指定します。
-
azure subscription id: クラスターに使用するサブスクリプション ID。アカウント出力に
id
値を指定します。 -
azure tenant id: テナント ID。アカウント出力に
tenantId
値を指定します。 -
azure service principal client id: サービスプリンシパルの
appId
パラメーターの値。 -
azure service principal client secret: サービスプリンシパルの
password
パラメーターの値。
-
azure subscription id: クラスターに使用するサブスクリプション ID。アカウント出力に
- クラスターをデプロイするリージョンを選択します。
- クラスターをデプロイするベースドメインを選択します。ベースドメインは、クラスターに作成した Azure DNS ゾーンに対応します。
クラスターの記述名を入力します。
重要パブリックエンドポイントで利用可能なすべての Azure リソースはリソース名の制限を受けるため、特定の用語を使用するリソースを作成することはできません。Azure が制限する語の一覧は、Azure ドキュメントの「Resolve reserved resource name errors」 を参照してください。
- Red Hat OpenShift Cluster Manager サイトの「Pull Secret」ページから取得したプルシークレットを貼り付けます。
注記ホストに設定した AWS アカウントにクラスターをデプロイするための十分なパーミッションがない場合、インストールプログラムは停止し、不足しているパーミッションが表示されます。
クラスターのデプロイメントが完了すると、Web コンソールへのリンクや
kubeadmin
ユーザーの認証情報を含む、クラスターにアクセスするための指示がターミナルに表示されます。重要インストールプログラムが生成する Ignition 設定ファイルには、24 時間が経過すると期限切れになる証明書が含まれます。最初の証明書のローテーションが正常に実行されるようにするには、クラスターを動作が低下していない状態で 24 時間実行し続ける必要があります。
重要インストールプログラム、またはインストールプログラムが作成するファイルを削除することはできません。これらはいずれもクラスターを削除するために必要になります。
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>
1.2.6. クラスターへのログイン
クラスター kubeconfig
ファイルをエクスポートし、デフォルトシステムユーザーとしてクラスターにログインできます。kubeconfig
ファイルには、クライアントを正しいクラスターおよび API サーバーに接続するために CLI で使用されるクラスターについての情報が含まれます。このファイルはクラスターに固有のファイルであり、OpenShift Container Platform のインストール時に作成されます。
前提条件
- OpenShift Container Platform クラスターのデプロイ。
-
oc
CLI のインストール。
手順
kubeadmin
認証情報をエクスポートします。$ export KUBECONFIG=<installation_directory>/auth/kubeconfig 1
- 1
<installation_directory>
には、インストールファイルを保存したディレクトリーへのパスを指定します。
エクスポートされた設定を使用して、
oc
コマンドを正常に実行できることを確認します。$ oc whoami system:admin
次のステップ
- クラスターをカスタマイズします。
- 必要な場合は、リモートの健全性レポートをオプトアウトすることができます。
1.3. カスタマイズによる Azure へのクラスターのインストール
OpenShift Container Platform バージョン 4.2 では、インストールプログラムが Microsoft Azure にプロビジョニングするインフラストラクチャーにカスタマイズされたクラスターをインストールできます。インストールをカスタマイズするには、クラスターをインストールする前に、install-config.yaml
ファイルでパラメーターを変更します。
前提条件
- OpenShift Container Platform のインストールおよび更新プロセスについての詳細を確認します。
- クラスターをホストできるように Azure アカウントを設定し、クラスターをデプロイするテスト済みの検証されたリージョンを判別します。
- ファイアウォールを使用する場合、クラスターがアクセスを必要とするサイトを許可するようにファイアウォールを設定する必要があります。
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> 1
- 1
~/.ssh/id_rsa
などの、SSH キーのパスおよびファイル名を指定します。
このコマンドを実行すると、指定した場所にパスワードを必要としない SSH キーが生成されます。
ssh-agent
プロセスをバックグラウンドタスクとして開始します。$ eval "$(ssh-agent -s)" Agent pid 31874
SSH プライベートキーを
ssh-agent
に追加します。$ ssh-add <path>/<file_name> 1 Identity added: /home/<you>/<path>/<file_name> (<computer_name>)
- 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
-
Red Hat OpenShift Cluster Manager サイトの「Pull Secret」ページから、インストールプルシークレットを
.txt
ファイルとしてダウンロードします。このプルシークレットを使用し、OpenShift Container Platform コンポーネントのコンテナーイメージを提供する Quay.io など、組み込まれた各種の認証局によって提供されるサービスで認証できます。
1.3.4. インストール設定ファイルの作成
Microsoft Azure での OpenShift Container Platform のインストールをカスタマイズできます。
前提条件
- OpenShift Container Platform インストールプログラム、およびクラスターのプルシークレットを取得します。
手順
install-config.yaml
ファイルを作成します。次のコマンドを実行します。
$ ./openshift-install create install-config --dir=<installation_directory> 1
- 1
<installation_directory>
には、インストールプログラムが作成するファイルを保存するためにディレクトリー名を指定します。
重要空のディレクトリーを指定します。ブートストラップ X.509 証明書などの一部のインストールアセットの有効期限は短く設定されているため、インストールディレクトリーを再利用することができません。別のクラスターインストールの個別のファイルを再利用する必要がある場合は、それらをディレクトリーにコピーすることができます。ただし、インストールアセットのファイル名はリリース間で変更される可能性があります。インストールファイルを以前のバージョンの OpenShift Container Platform からコピーする場合は注意してコピーを行ってください。
プロンプト時に、クラウドの設定の詳細情報を指定します。
オプション: クラスターマシンにアクセスするために使用する SSH キーを選択します。
注記インストールのデバッグまたは障害復旧を実行する必要のある実稼働用の OpenShift Container Platform クラスターでは、
ssh-agent
プロセスが使用する SSH キーを指定します。- ターゲットに設定するプラットフォームとして azure を選択します。
お使いのコンピューターに Microsoft Azure プロファイルが保存されていない場合は、サブスクリプションとサービスプリンシパルに以下の Azure パラメーター値を指定します。
-
azure subscription id: クラスターに使用するサブスクリプション ID。アカウント出力に
id
値を指定します。 -
azure tenant id: テナント ID。アカウント出力に
tenantId
値を指定します。 -
azure service principal client id: サービスプリンシパルの
appId
パラメーターの値。 -
azure service principal client secret: サービスプリンシパルの
password
パラメーターの値。
-
azure subscription id: クラスターに使用するサブスクリプション ID。アカウント出力に
- クラスターをデプロイするリージョンを選択します。
- クラスターをデプロイするベースドメインを選択します。ベースドメインは、クラスターに作成した Azure DNS ゾーンに対応します。
クラスターの記述名を入力します。
重要パブリックエンドポイントで利用可能なすべての Azure リソースはリソース名の制限を受けるため、特定の用語を使用するリソースを作成することはできません。Azure が制限する語の一覧は、Azure ドキュメントの「Resolve reserved resource name errors」 を参照してください。
- 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 などの組み込まれた各種の認証局によって提供されるサービスで認証できます。 |
{ "auths":{ "cloud.openshift.com":{ "auth":"b3Blb=", "email":"you@example.com" }, "quay.io":{ "auth":"b3Blb=", "email":"you@example.com" } } } |
パラメーター | 説明 | 値 |
---|---|---|
| クラスターマシンにアクセスするために使用する SSH キー。 注記
インストールのデバッグまたは障害復旧を実行する必要のある実稼働用の OpenShift Container Platform クラスターでは、 |
|
|
コンピュートマシンで同時マルチスレッドまたは 重要 同時スレッドを無効にする場合は、容量計画においてマシンパフォーマンスの大幅な低下が考慮に入れられていることを確認します。 |
|
| プロビジョニングするコンピュートマシン(ワーカーマシンとしても知られる)の数。 |
|
|
コントロールプレーンマシンで同時マルチスレッドまたは 重要 同時スレッドを無効にする場合は、容量計画においてマシンパフォーマンスの大幅な低下が考慮に入れられていることを確認します。 |
|
| プロビジョニングするコントロールプレーンマシンの数。 |
|
パラメーター | 説明 | 値 |
---|---|---|
| Azure VM インスタンスタイプ。 | Windows または Linux をオペレーティングシステムとして使用する仮想マシン。Azure ドキュメントの「Guest operating systems supported on Azure Stack」を参照してください。 |
| VM の Azure ディスクのサイズ。 |
GB 単位でディスクのサイズ (例: |
| ベースドメインの DNS ゾーンが含まれるリソースグループの名前。 |
文字列 (例: |
| クラスターをホストする Azure リージョンの名前。 | 有効なリージョン名。 |
| マシンを配置するアベイラビリティーゾーンの一覧。高可用性を確保するには、少なくとも 2 つのゾーンを指定します。 |
ゾーンの一覧 (例: |
Azure クラスターで、Azure アベイラビリティーゾーンのカスタマイズやタグを使用した Azure リソースの編成を実行することはできません。
1.3.4.2. Azure のカスタマイズされた install-config.yaml
ファイルのサンプル
install-config.yaml
ファイルをカスタマイズして、OpenShift Container Platform クラスターのプラットフォームについての詳細を指定するか、または必要なパラメーターの値を変更することができます。
このサンプルの YAML ファイルは参照用にのみ提供されます。インストールプログラムを使用して install-config.yaml
ファイルを取得し、これを変更する必要があります。
apiVersion: v1 baseDomain: example.com 1 controlPlane: 2 hyperthreading: Enabled 3 4 name: master platform: azure: osDisk: diskSizeGB: 512 5 type: Standard_D8s_v3 replicas: 3 compute: 6 - hyperthreading: Enabled 7 name: worker platform: azure: type: Standard_D2s_v3 osDisk: diskSizeGB: 512 8 zones: 9 - "1" - "2" - "3" replicas: 5 metadata: name: test-cluster 10 networking: clusterNetwork: - cidr: 10.128.0.0/14 hostPrefix: 23 machineCIDR: 10.0.0.0/16 networkType: OpenShiftSDN serviceNetwork: - 172.30.0.0/16 platform: azure: region: centralus 11 baseDomainResourceGroupName: resource-group 12 pullSecret: '{"auths": ...}' 13 sshKey: ssh-ed25519 AAAA... 14
- 1 10 11 13
- 必須。インストールプログラムはこの値の入力を求めるプロンプトを出します。
- 2 6
- これらのパラメーターおよび値を指定しない場合、インストールプログラムはデフォルトの値を指定します。
- 3 7
controlPlane
セクションは単一マッピングですが、コンピュートセクションはマッピングのシーケンスになります。複数の異なるデータ構造の要件を満たすには、compute
セクションの最初の行はハイフン-
で始め、controlPlane
セクションの最初の行はハイフンで始めることができません。どちらのセクションも、現時点では単一のマシンプールを定義しますが、OpenShift Container Platform の今後のバージョンでは、インストール時の複数のコンピュートプールの定義をサポートする可能性があります。1 つのコントロールプレーンプールのみが使用されます。- 4
- 同時マルチスレッドまたは
hyperthreading
を有効/無効にするかどうか。デフォルトでは、同時スレッドはマシンのコアのパフォーマンスを上げるために有効にされます。パラメーター値をDisabled
に設定するとこれを無効にすることができます。一部のクラスターマシンで同時マルチスレッドを無効にする場合は、これをすべてのクラスターマシンで無効にする必要があります。重要同時スレッドを無効にする場合は、容量計画においてマシンパフォーマンスの大幅な低下が考慮に入れられていることを確認します。同時マルチスレッドを無効にする場合は、マシンに対して
Standard_D8s_v3
などの大規模な仮想マシンタイプを使用します。 - 5 8
- 使用するディスクのサイズは、GB 単位で指定できます。
- 9
- マシンをデプロイするゾーンの一覧を指定します。高可用性を確保するには、少なくとも 2 つのゾーンを指定します。
- 12
- ベースドメインの DNS ゾーンが含まれるリソースグループの名前を指定します。
- 14
- クラスター内のマシンにアクセスするために使用する
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> \ 1 --log-level=info 2
注記ホストに設定した AWS アカウントにクラスターをデプロイするための十分なパーミッションがない場合、インストールプログラムは停止し、不足しているパーミッションが表示されます。
クラスターのデプロイメントが完了すると、Web コンソールへのリンクや
kubeadmin
ユーザーの認証情報を含む、クラスターにアクセスするための指示がターミナルに表示されます。重要インストールプログラムが生成する Ignition 設定ファイルには、24 時間が経過すると期限切れになる証明書が含まれます。最初の証明書のローテーションが正常に実行されるようにするには、クラスターを動作が低下していない状態で 24 時間実行し続ける必要があります。
重要インストールプログラム、またはインストールプログラムが作成するファイルを削除することはできません。これらはいずれもクラスターを削除するために必要になります。
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>
1.3.7. クラスターへのログイン
クラスター kubeconfig
ファイルをエクスポートし、デフォルトシステムユーザーとしてクラスターにログインできます。kubeconfig
ファイルには、クライアントを正しいクラスターおよび API サーバーに接続するために CLI で使用されるクラスターについての情報が含まれます。このファイルはクラスターに固有のファイルであり、OpenShift Container Platform のインストール時に作成されます。
前提条件
- OpenShift Container Platform クラスターのデプロイ。
-
oc
CLI のインストール。
手順
kubeadmin
認証情報をエクスポートします。$ export KUBECONFIG=<installation_directory>/auth/kubeconfig 1
- 1
<installation_directory>
には、インストールファイルを保存したディレクトリーへのパスを指定します。
エクスポートされた設定を使用して、
oc
コマンドを正常に実行できることを確認します。$ oc whoami system:admin
次のステップ
- クラスターをカスタマイズします。
- 必要な場合は、リモートの健全性レポートをオプトアウトすることができます。
1.4. ネットワークのカスタマイズによる Azure へのクラスターのインストール
OpenShift Container Platform バージョン 4.2 では、インストールプログラムが Microsoft Azure にプロビジョニングするインフラストラクチャーにカスタマイズされたネットワーク設定でクラスターをインストールできます。ネットワーク設定をカスタマイズすることにより、クラスターは環境内の既存の IP アドレスの割り当てと共存でき、既存の MTU および VXLAN 設定と統合できます。
大半のネットワーク設定パラメーターはインストール時に設定する必要があり、実行中のクラスターで変更できるのは kubeProxy
設定パラメーターのみになります。
前提条件
- OpenShift Container Platform のインストールおよび更新プロセスについての詳細を確認します。
- クラスターをホストできるように Azure アカウントを設定し、クラスターをデプロイするテスト済みの検証されたリージョンを判別します。
- ファイアウォールを使用する場合、クラスターがアクセスを必要とするサイトを許可するようにファイアウォールを設定する必要があります。
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> 1
- 1
~/.ssh/id_rsa
などの、SSH キーのパスおよびファイル名を指定します。
このコマンドを実行すると、指定した場所にパスワードを必要としない SSH キーが生成されます。
ssh-agent
プロセスをバックグラウンドタスクとして開始します。$ eval "$(ssh-agent -s)" Agent pid 31874
SSH プライベートキーを
ssh-agent
に追加します。$ ssh-add <path>/<file_name> 1 Identity added: /home/<you>/<path>/<file_name> (<computer_name>)
- 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
-
Red Hat OpenShift Cluster Manager サイトの「Pull Secret」ページから、インストールプルシークレットを
.txt
ファイルとしてダウンロードします。このプルシークレットを使用し、OpenShift Container Platform コンポーネントのコンテナーイメージを提供する Quay.io など、組み込まれた各種の認証局によって提供されるサービスで認証できます。
1.4.4. インストール設定ファイルの作成
Microsoft Azure での OpenShift Container Platform のインストールをカスタマイズできます。
前提条件
- OpenShift Container Platform インストールプログラム、およびクラスターのプルシークレットを取得します。
手順
install-config.yaml
ファイルを作成します。次のコマンドを実行します。
$ ./openshift-install create install-config --dir=<installation_directory> 1
- 1
<installation_directory>
には、インストールプログラムが作成するファイルを保存するためにディレクトリー名を指定します。
重要空のディレクトリーを指定します。ブートストラップ X.509 証明書などの一部のインストールアセットの有効期限は短く設定されているため、インストールディレクトリーを再利用することができません。別のクラスターインストールの個別のファイルを再利用する必要がある場合は、それらをディレクトリーにコピーすることができます。ただし、インストールアセットのファイル名はリリース間で変更される可能性があります。インストールファイルを以前のバージョンの OpenShift Container Platform からコピーする場合は注意してコピーを行ってください。
プロンプト時に、クラウドの設定の詳細情報を指定します。
オプション: クラスターマシンにアクセスするために使用する SSH キーを選択します。
注記インストールのデバッグまたは障害復旧を実行する必要のある実稼働用の OpenShift Container Platform クラスターでは、
ssh-agent
プロセスが使用する SSH キーを指定します。- ターゲットに設定するプラットフォームとして azure を選択します。
お使いのコンピューターに Microsoft Azure プロファイルが保存されていない場合は、サブスクリプションとサービスプリンシパルに以下の Azure パラメーター値を指定します。
-
azure subscription id: クラスターに使用するサブスクリプション ID。アカウント出力に
id
値を指定します。 -
azure tenant id: テナント ID。アカウント出力に
tenantId
値を指定します。 -
azure service principal client id: サービスプリンシパルの
appId
パラメーターの値。 -
azure service principal client secret: サービスプリンシパルの
password
パラメーターの値。
-
azure subscription id: クラスターに使用するサブスクリプション ID。アカウント出力に
- クラスターをデプロイするリージョンを選択します。
- クラスターをデプロイするベースドメインを選択します。ベースドメインは、クラスターに作成した Azure DNS ゾーンに対応します。
クラスターの記述名を入力します。
重要パブリックエンドポイントで利用可能なすべての Azure リソースはリソース名の制限を受けるため、特定の用語を使用するリソースを作成することはできません。Azure が制限する語の一覧は、Azure ドキュメントの「Resolve reserved resource name errors」 を参照してください。
- 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 などの組み込まれた各種の認証局によって提供されるサービスで認証できます。 |
{ "auths":{ "cloud.openshift.com":{ "auth":"b3Blb=", "email":"you@example.com" }, "quay.io":{ "auth":"b3Blb=", "email":"you@example.com" } } } |
パラメーター | 説明 | 値 |
---|---|---|
| クラスターマシンにアクセスするために使用する SSH キー。 注記
インストールのデバッグまたは障害復旧を実行する必要のある実稼働用の OpenShift Container Platform クラスターでは、 |
|
|
コンピュートマシンで同時マルチスレッドまたは 重要 同時スレッドを無効にする場合は、容量計画においてマシンパフォーマンスの大幅な低下が考慮に入れられていることを確認します。 |
|
| プロビジョニングするコンピュートマシン(ワーカーマシンとしても知られる)の数。 |
|
|
コントロールプレーンマシンで同時マルチスレッドまたは 重要 同時スレッドを無効にする場合は、容量計画においてマシンパフォーマンスの大幅な低下が考慮に入れられていることを確認します。 |
|
| プロビジョニングするコントロールプレーンマシンの数。 |
|
パラメーター | 説明 | 値 |
---|---|---|
| Azure VM インスタンスタイプ。 | Windows または Linux をオペレーティングシステムとして使用する仮想マシン。Azure ドキュメントの「Guest operating systems supported on Azure Stack」を参照してください。 |
| VM の Azure ディスクのサイズ。 |
GB 単位でディスクのサイズ (例: |
| ベースドメインの DNS ゾーンが含まれるリソースグループの名前。 |
文字列 (例: |
| クラスターをホストする Azure リージョンの名前。 | 有効なリージョン名。 |
| マシンを配置するアベイラビリティーゾーンの一覧。高可用性を確保するには、少なくとも 2 つのゾーンを指定します。 |
ゾーンの一覧 (例: |
Azure クラスターで、Azure アベイラビリティーゾーンのカスタマイズやタグを使用した Azure リソースの編成を実行することはできません。
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. Azure のカスタマイズされた install-config.yaml
ファイルのサンプル
install-config.yaml
ファイルをカスタマイズして、OpenShift Container Platform クラスターのプラットフォームについての詳細を指定するか、または必要なパラメーターの値を変更することができます。
このサンプルの YAML ファイルは参照用にのみ提供されます。インストールプログラムを使用して install-config.yaml
ファイルを取得し、これを変更する必要があります。
apiVersion: v1 baseDomain: example.com 1 controlPlane: 2 hyperthreading: Enabled 3 4 name: master platform: azure: osDisk: diskSizeGB: 512 5 type: Standard_D8s_v3 replicas: 3 compute: 6 - hyperthreading: Enabled 7 name: worker platform: azure: type: Standard_D2s_v3 osDisk: diskSizeGB: 512 8 zones: 9 - "1" - "2" - "3" replicas: 5 metadata: name: test-cluster 10 networking: 11 clusterNetwork: - cidr: 10.128.0.0/14 hostPrefix: 23 machineCIDR: 10.0.0.0/16 networkType: OpenShiftSDN serviceNetwork: - 172.30.0.0/16 platform: azure: region: centralus 12 baseDomainResourceGroupName: resource-group 13 pullSecret: '{"auths": ...}' 14 sshKey: ssh-ed25519 AAAA... 15
- 1 10 12 14
- 必須。インストールプログラムはこの値の入力を求めるプロンプトを出します。
- 2 6 11
- これらのパラメーターおよび値を指定しない場合、インストールプログラムはデフォルトの値を指定します。
- 3 7
controlPlane
セクションは単一マッピングですが、コンピュートセクションはマッピングのシーケンスになります。複数の異なるデータ構造の要件を満たすには、compute
セクションの最初の行はハイフン-
で始め、controlPlane
セクションの最初の行はハイフンで始めることができません。どちらのセクションも、現時点では単一のマシンプールを定義しますが、OpenShift Container Platform の今後のバージョンでは、インストール時の複数のコンピュートプールの定義をサポートする可能性があります。1 つのコントロールプレーンプールのみが使用されます。- 4
- 同時マルチスレッドまたは
hyperthreading
を有効/無効にするかどうか。デフォルトでは、同時スレッドはマシンのコアのパフォーマンスを上げるために有効にされます。パラメーター値をDisabled
に設定するとこれを無効にすることができます。一部のクラスターマシンで同時マルチスレッドを無効にする場合は、これをすべてのクラスターマシンで無効にする必要があります。重要同時スレッドを無効にする場合は、容量計画においてマシンパフォーマンスの大幅な低下が考慮に入れられていることを確認します。同時マルチスレッドを無効にする場合は、マシンに対して
Standard_D8s_v3
などの大規模な仮想マシンタイプを使用します。 - 5 8
- 使用するディスクのサイズは、GB 単位で指定できます。
- 9
- マシンをデプロイするゾーンの一覧を指定します。高可用性を確保するには、少なくとも 2 つのゾーンを指定します。
- 13
- ベースドメインの DNS ゾーンが含まれるリソースグループの名前を指定します。
- 15
- クラスター内のマシンにアクセスするために使用する
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> 1
- 1
<installation_directory>
については、クラスターのinstall-config.yaml
ファイルが含まれるディレクトリーの名前を指定します。
<installation_directory>/manifests/cluster-scheduler-02-config.yml
Kubernetes マニフェストファイルを変更し、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 1
- 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
エディターで
cluster-network-03-config.yml
ファイルを開き、必要な Operator 設定を記述する CR を入力します。apiVersion: operator.openshift.io/v1 kind: Network metadata: name: cluster spec: 1 clusterNetwork: - cidr: 10.128.0.0/14 hostPrefix: 23 serviceNetwork: - 172.30.0.0/16 defaultNetwork: type: OpenShiftSDN openshiftSDNConfig: mode: NetworkPolicy mtu: 1450 vxlanPort: 4789
- 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
apiVersion: operator.openshift.io/v1 kind: Network metadata: name: cluster spec: clusterNetwork: 1 - cidr: 10.128.0.0/14 hostPrefix: 23 serviceNetwork: 2 - 172.30.0.0/16 defaultNetwork: 3 ... kubeProxyConfig: 4 iptablesSyncPeriod: 30s 5 proxyArguments: iptables-min-sync-period: 6 - 30s
- 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 の設定パラメーターについて説明しています。
defaultNetwork: type: OpenShiftSDN 1 openshiftSDNConfig: 2 mode: NetworkPolicy 3 mtu: 1450 4 vxlanPort: 4789 5
- 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
apiVersion: operator.openshift.io/v1 kind: Network metadata: name: cluster spec: clusterNetwork: - cidr: 10.128.0.0/14 hostPrefix: 23 serviceNetwork: - 172.30.0.0/16 defaultNetwork: type: OpenShiftSDN openshiftSDNConfig: mode: NetworkPolicy mtu: 1450 vxlanPort: 4789 kubeProxyConfig: iptablesSyncPeriod: 30s proxyArguments: iptables-min-sync-period: - 30s
1.4.7. クラスターのデプロイ
互換性のあるクラウドプラットフォームに OpenShift Container Platform をインストールできます。
インストールプログラムの create cluster
コマンドは、初期インストール時に 1 回だけ実行できます。
前提条件
- クラスターをホストするクラウドプラットフォームでアカウントを設定します。
- OpenShift Container Platform インストールプログラム、およびクラスターのプルシークレットを取得します。
手順
インストールプログラムを実行します。
$ ./openshift-install create cluster --dir=<installation_directory> \ 1 --log-level=info 2
注記ホストに設定した AWS アカウントにクラスターをデプロイするための十分なパーミッションがない場合、インストールプログラムは停止し、不足しているパーミッションが表示されます。
クラスターのデプロイメントが完了すると、Web コンソールへのリンクや
kubeadmin
ユーザーの認証情報を含む、クラスターにアクセスするための指示がターミナルに表示されます。重要インストールプログラムが生成する Ignition 設定ファイルには、24 時間が経過すると期限切れになる証明書が含まれます。最初の証明書のローテーションが正常に実行されるようにするには、クラスターを動作が低下していない状態で 24 時間実行し続ける必要があります。
重要インストールプログラム、またはインストールプログラムが作成するファイルを削除することはできません。これらはいずれもクラスターを削除するために必要になります。
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>
1.4.9. クラスターへのログイン
クラスター kubeconfig
ファイルをエクスポートし、デフォルトシステムユーザーとしてクラスターにログインできます。kubeconfig
ファイルには、クライアントを正しいクラスターおよび API サーバーに接続するために CLI で使用されるクラスターについての情報が含まれます。このファイルはクラスターに固有のファイルであり、OpenShift Container Platform のインストール時に作成されます。
前提条件
- OpenShift Container Platform クラスターのデプロイ。
-
oc
CLI のインストール。
手順
kubeadmin
認証情報をエクスポートします。$ export KUBECONFIG=<installation_directory>/auth/kubeconfig 1
- 1
<installation_directory>
には、インストールファイルを保存したディレクトリーへのパスを指定します。
エクスポートされた設定を使用して、
oc
コマンドを正常に実行できることを確認します。$ oc whoami system:admin
次のステップ
- クラスターをカスタマイズします。
- 必要な場合は、リモートの健全性レポートをオプトアウトすることができます。
1.5. Azure でのクラスターのアンインストール
Microsoft Azure にデプロイしたクラスターは削除することができます。
1.5.1. インストーラーでプロビジョニングされるインフラストラクチャーを使用するクラスターの削除
インストーラーでプロビジョニングされるインフラストラクチャーを使用するクラスターは、クラウドから削除できます。
前提条件
- クラスターをデプロイするために使用したインストールプログラムのコピーがあること。
- クラスター作成時にインストールプログラムが生成したファイルがあること。
手順
クラスターをインストールするために使用したコンピューターから、以下のコマンドを実行します。
$ ./openshift-install destroy cluster \ --dir=<installation_directory> --log-level=info 1 2
注記クラスターのクラスター定義ファイルが含まれるディレクトリーを指定する必要があります。クラスターを削除するには、インストールプログラムでこのディレクトリーにある
metadata.json
ファイルが必要になります。-
オプション:
<installation_directory>
ディレクトリーおよび OpenShift Container Platform インストールプログラムを削除します。