このクイック スタートでは、Azure CLI または Azure portal を使用して Azure Red Hat OpenShift クラスターを作成する方法について説明します。 Azure Red Hat OpenShift は、クラスターをデプロイおよび管理できるマネージド OpenShift サービスです。
[前提条件]
Azure CLI バージョン 2.67.0 以上を使用していることを確認します。 az --version
を使用して、インストールされているバージョンの Azure CLI を見つけます。 インストールまたはアップグレードが必要な場合は、Azure CLI のインストールを参照してください。
Azure Red Hat OpenShift では、OpenShift クラスターを作成するために少なくとも 44 コアが必要です。 新しい Azure サブスクリプションの既定の Azure リソース クォータは、この要件を満たしていません。 リソースの制限の引き上げを依頼するには、「VM ファミリの vCPU クォータの引き上げ」を参照してください。
44 コアは次のように使用されます。
- ブートストラップ マシン: 8 コア
- コントロール プレーン (マスター マシン): 24 コア
- コンピューティング (ワーカー マシン): 12 コア
インストールが完了すると、ブートストラップ マシンが削除され、クラスターで合計 36 コアが使用されます。 詳細については、「 Azure へのインストール」を参照してください。
次のコマンドを実行して、az aro create
コマンドの既定の仮想マシン サイズである Standard DSv5 仮想マシン サイズに対する Azure サブスクリプションのクォータを確認します。
LOCATION=eastus
az vm list-usage -l $LOCATION \
--query "[?contains(name.value, 'standardDSv5Family')]" \
--output table
アクセス許可を確認する
この記事では、クラスターの仮想ネットワークを含むリソース グループを作成します。 共同作成者とユーザー アクセス管理者のアクセス許可または所有者のアクセス許可が必要です。仮想ネットワーク上、またはそれを含むリソース グループまたはサブスクリプションで直接アクセスできます。
また、クラスターのアプリケーションとサービス プリンシパルを作成するために、ツールに対する十分な Microsoft Entra アクセス許可 (テナントのメンバー ユーザー、またはアプリケーション管理者ロールが割り当てられたゲスト) も必要になります。 詳細については、「 メンバーとゲスト」および 「 Microsoft Entra ID を持つユーザーに管理者ロールと非管理者ロールを割り当てる」を参照してください。
リソース プロバイダーを登録する
次のリソース プロバイダーを Azure サブスクリプションに登録する必要があります。
Microsoft.RedHatOpenShift
Microsoft.Compute
Microsoft.Storage
Microsoft.Authorization
複数の Azure サブスクリプションがある場合は、適切なサブスクリプション ID を指定します。
az account set --subscription <SUBSCRIPTION ID>
リソース プロバイダーが登録されているかどうかを確認するには、リソース プロバイダー名と共に次のコマンドを使用します。 このコマンドは、 Microsoft.RedHatOpenShift
リソース プロバイダーを確認し、 Registered
または NotRegistered
の値を返します。
az provider list --query "[?namespace=='Microsoft.RedHatOpenShift'].registrationState" \
--output table
リソース プロバイダーを登録する必要がある場合は、次のコマンドを使用します。
Microsoft.RedHatOpenShift
リソース プロバイダーを登録します。az provider register --namespace Microsoft.RedHatOpenShift --wait
Microsoft.Compute
リソース プロバイダーを登録します。az provider register --namespace Microsoft.Compute --wait
Microsoft.Storage
リソース プロバイダーを登録します。az provider register --namespace Microsoft.Storage --wait
Microsoft.Authorization
リソース プロバイダーを登録します。az provider register --namespace Microsoft.Authorization --wait
Red Hat プル シークレットを取得する (省略可能)
注
ARO プル シークレットでは、ARO の Red Hat OpenShift ライセンスのコストは変更されません。
Red Hat プル シークレットを使用すると、クラスターは 、OperatorHub のオペレーターなどの他のコンテンツと共に Red Hat コンテナー レジストリにアクセスできます。 この手順は省略可能ですが、実施することをお勧めします。 後でプル シークレットを追加する場合は、このガイダンスに従います。 pull-secret に cloud.openshift.com
フィールドが含まれている場合でも、このフィールドはシークレットから削除されます。 このフィールドにより、RedHat にデータを送信する追加の監視機能が有効になるので、既定では無効になっています。 この機能を有効にするには、「 リモート正常性レポートの有効化」を参照してください。
Red Hat OpenShift クラスター マネージャー ポータルに移動し、サインインします。
Red Hat アカウントにサインインするか、ビジネス用メールで新しい Red Hat アカウントを作成し、使用条件に同意する必要があります。
[Download pull secret] (プル シークレットのダウンロード) を選択し、ARO クラスターで使用するプル シークレットをダウンロードします。
保存済みの
pull-secret.txt
ファイルは安全な場所に保管してください。 Red Hat または認定パートナーのサンプルまたはオペレーターを含むクラスターを作成する必要がある場合は、各クラスター作成でこのファイルが使用されます。az aro create
コマンドを実行する場合は、--pull-secret @pull-secret.txt
パラメーターを使用してプル シークレットを参照できます。pull-secret.txt
ファイルを格納したディレクトリからaz aro create
を実行します。 それ以外の場合は、@pull-secret.txt
を@/path/to/my/pull-secret.txt
で置き換えます。プル シークレットをコピーする場合や他のスクリプトで参照する場合は、プル シークレットを有効な JSON 文字列として書式設定する必要があります。
クラスターのカスタム ドメインを準備する (省略可能)
az aro create
コマンドを実行するときに、--___domain foo.example.com
パラメーターを使用してクラスターのカスタム ドメインを指定することができます。
注
Azure CLI を使用してクラスターを作成する場合、ドメイン名の追加は任意ですが、ポータルを通じてクラスターを追加する際には、OpenShift コンソールおよび API サーバーの自動生成される DNS 名の一部として使われるドメイン名またはプレフィックスが必要です。 詳細については、この記事の Azure portal タブを参照してください。
クラスターのカスタム ドメインを指定する場合は、次の点に注意してください。
- クラスターを作成した後、指定した
A
の DNS サーバーに 2 つの DNS--___domain
レコードを作成する必要があります。- api - API サーバーの IP アドレスを指す
- *.apps - イングレス IP アドレスを指します
- クラスターの作成後に次のコマンドを実行して、これらの値を取得します:
az aro show -n -g --query '{api:apiserverProfile.ip, ingress:ingressProfiles[0].ip}'
。
- OpenShift コンソールは、組み込みのドメイン
https://console-openshift-console.apps.example.com
ではなく、https://console-openshift-console.apps.<random>.<___location>.aroapp.io
などの URL で使用できます。 - OpenShift では、既定で、
*.apps.example.com
カスタム ドメインに作成されたすべてのルートに自己署名証明書が使用されます。 クラスターへの接続後にカスタム DNS を使用する場合は、OpenShift のドキュメントに従って 、イングレス コントローラー用のカスタム CA と API サーバー用のカスタム CA を構成する必要があります。
2 つの空のサブネットを含む仮想ネットワークを作成する
次に、2 つの空のサブネットを含む仮想ネットワークを作成します。 要件を満たす仮想ネットワークが既にある場合は、この手順を省略できます。
ネットワークと要件の詳細については、「 Azure Red Hat OpenShift のネットワーク」を参照してください。
az
コマンドを実行するシェル環境で、次の変数を設定します。LOCATION=eastus # the ___location of your cluster RESOURCEGROUP=aro-rg # the name of the resource group where you want to create your cluster CLUSTER=cluster # the name of your cluster VIRTUALNETWORK=aro-vnet # the name of the virtual network
リソース グループを作成する。
Azure リソース グループは、Azure リソースが展開され管理される論理グループです。 リソース グループを作成する際は、場所を指定するよう求められます。 この場所は、リソース グループメタデータが格納される場所であり、リソースの作成時に別のリージョンを指定しない場合は、リソースが Azure で実行される場所でもあります。 az group create コマンドを使用して、リソース グループを作成します。
注
Azure Red Hat OpenShift は、Azure リソース グループを作成できるすべてのリージョンで使用できるわけではありません。 Azure Red Hat OpenShift がサポートされている場所については、「使用可能なリージョン」を参照してください。
az group create \ --name $RESOURCEGROUP \ --___location $LOCATION
次の出力例では、正常に作成されたリソース グループが示されています。
{ "id": "/subscriptions/<guid>/resourceGroups/aro-rg", "___location": "eastus", "name": "aro-rg", "properties": { "provisioningState": "Succeeded" }, "type": "Microsoft.Resources/resourceGroups" }
仮想ネットワークを作成します。
OpenShift 4 を実行する Azure Red Hat OpenShift クラスターでは、マスター ノードとワーカー ノード用の 2 つの空のサブネットを持つ仮想ネットワークが必要です。 このクラスターの新しい仮想ネットワークを作成するか、既存の仮想ネットワークを使用できます。
先ほど作成したのと同じリソース グループ内に新しい仮想ネットワークを作成します。
az network vnet create \ --resource-group $RESOURCEGROUP \ --name $VIRTUALNETWORK \ --address-prefixes 10.0.0.0/22
次の出力例では、正常に作成された仮想ネットワークが示されています。
{ "newVNet": { "addressSpace": { "addressPrefixes": [ "10.0.0.0/22" ] }, "dhcpOptions": { "dnsServers": [] }, "id": "/subscriptions/<guid>/resourceGroups/aro-rg/providers/Microsoft.Network/virtualNetworks/aro-vnet", "___location": "eastus", "name": "aro-vnet", "provisioningState": "Succeeded", "resourceGroup": "aro-rg", "type": "Microsoft.Network/virtualNetworks" } }
マスター ノードの空のサブネットを追加します。
az network vnet subnet create \ --resource-group $RESOURCEGROUP \ --vnet-name $VIRTUALNETWORK \ --name master-subnet \ --address-prefixes 10.0.0.0/23
ワーカー ノードの空のサブネットを追加します。
az network vnet subnet create \ --resource-group $RESOURCEGROUP \ --vnet-name $VIRTUALNETWORK \ --name worker-subnet \ --address-prefixes 10.0.2.0/23
クラスターを作成する
クラスターを作成するには、次のコマンドを実行します。 次のいずれかのオプションを使用する場合は、必要に応じてコマンドを変更してください。
- 必要に応じて、Red Hat プル シークレットを渡して、クラスターが他のコンテンツと共に Red Hat コンテナー レジストリにアクセスできるよう設定できます。
--pull-secret @pull-secret.txt
引数をコマンドに追加します。 - 必要に応じて、カスタム ドメインを使用することもできます。
--___domain foo.example.com
引数をコマンドに追加し、foo.example.com
を独自のカスタム ドメインで置き換えます。 - 既定のマスター仮想マシンのサイズは
Standard D8s_v5
です。 別の仮想マシン サイズが必要な場合は、--master-vm-size
パラメーターを使用します。 たとえば、--master-vm-size Standard_D8s_v3
のようにします。 - 既定のワーカー仮想マシンのサイズは
Standard D4s_v5
です。 別の仮想マシン サイズが必要な場合は、--worker-vm-size
パラメーターを使用します。 たとえば、--worker-vm-size Standard_D4s_v3
のようにします。 - バージョンを指定する必要がある場合は、 別の ARO バージョンの選択を参照してください。
- クラスターを作成するコマンドの詳細については、 az aro create を参照してください。
注
作成時には最大 50 のワーカー ノードを定義できます。 クラスターを作成したら、最大 250 のノードまでスケールアウトできます。
az aro create \
--resource-group $RESOURCEGROUP \
--name $CLUSTER \
--vnet $VIRTUALNETWORK \
--master-subnet master-subnet \
--worker-subnet worker-subnet
az aro create
コマンドを実行すると、通常、クラスターの作成に約 45 分かかります。
大規模な ARO クラスター
100 を超えるワーカー ノードを含む Azure Red Hat OpenShift クラスターをデプロイする必要がある場合は、「 大規模な Azure Red Hat OpenShift クラスターをデプロイする」を参照してください。
別の ARO バージョンを選択する
クラスターの作成時に、特定のバージョンの ARO を使用することを選択できます。 まず、CLI を使用して、使用可能な ARO のバージョンを調べます。
az aro get-versions --___location <region>
バージョンを選択したら、--version
コマンドで az aro create
パラメーターを使用してバージョンを指定します。
az aro create \
--resource-group $RESOURCEGROUP \
--name $CLUSTER \
--vnet $VIRTUALNETWORK \
--master-subnet master-subnet \
--worker-subnet worker-subnet \
--version <x.y.z>
[前提条件]
Azure portal にサインインします。
Microsoft.RedHatOpenShift
リソースプロバイダーを登録します。 Azure portal を使用してリソース プロバイダーを登録する手順については、「リソース プロバイダーの登録」をご覧ください。 また、 Microsoft.Compute
、 Microsoft.Storage
、および Microsoft.Authorization
が登録されていることを確認する必要があります。
Azure Red Hat OpenShift では、OpenShift クラスターを作成するために少なくとも 44 コアが必要です。 新しい Azure サブスクリプションの既定の Azure リソース クォータは、この要件を満たしていません。 リソースの制限の引き上げを依頼するには、「VM ファミリの vCPU クォータの引き上げ」を参照してください。
44 コアは次のように使用されます。
- ブートストラップ マシン: 8 コア
- コントロール プレーン (マスター マシン): 24 コア
- コンピューティング (ワーカー マシン): 12 コア
インストールが完了すると、ブートストラップ マシンが削除され、クラスターで合計 36 コアが使用されます。 詳細については、「 Azure へのインストール」を参照してください。
Azure portal では、 Standard DSv3 仮想マシンのサイズが、OpenShift クラスターを作成して実行するための既定のサイズです。
Azure Red Hat OpenShift クラスターを作成する
Azure portal メニュー上または [ホーム] ページから、左上のページで 3 つの水平バーの下にある [すべてのサービス] を選択します。
Azure Red Hat OpenShift クラスターを検索して選択します。
を選択してを作成します。
[基本] タブで次のオプションを構成します。
- プロジェクトの詳細:
- Azure サブスクリプションを選択 します。
- test-aro-rg などの Azure リソース グループを選択または作成します。
- インスタンスの詳細:
- Azure Red Hat OpenShift クラスターのリージョンを選択します。
- Testcluster などの OpenShift クラスター名を入力します。
- testdomain などのドメイン名を入力します。
- [マスター VM サイズ] と [ワーカー VM サイズ] を選択します。
- ワーカー ノード数 (作成するワーカー ノードの数) を選択します。
注
[ドメイン名] フィールドには、ランダムな文字列が事前に入力されています。 example.com などのドメイン名、または OpenShift コンソールと API サーバーの自動生成された DNS 名の一部として使用される abc のような文字列/プレフィックスを指定できます。 このプレフィックスは、リソース グループ名が指定されていない場合にクラスター VM をホストするために作成されるリソース グループの名前の一部としても使用されます。
- プロジェクトの詳細:
[認証] タブで、次のセクションに入力します。
[サービス プリンシパル情報] で、[新規作成] または [既存] を選択します。 既存のサービス プリンシパルを使用する場合は、次の情報を入力します。
- サービス プリンシパル クライアント ID は、
appId
です。 - サービス プリンシパル クライアント シークレット は、サービス プリンシパルの復号化されたシークレット値です。
注
サービス プリンシパルを作成する必要がある場合は、Azure Red Hat OpenShift クラスターでのサービス プリンシパルの作成と使用に関する記事を参照してください。
[ プル シークレット] で、 Red Hat プル シークレット (クラスターのプル シークレットの復号化された値) を入力します。 プル シークレットがない場合は、このフィールドを空白のままにします。
- サービス プリンシパル クライアント ID は、
[ネットワーク] タブで、必要なオプションを構成します。
注
OpenShift 4 を実行する Azure Red Hat OpenShift クラスターでは、2 つの空のサブネット (コントロール プレーン用に 1 つとワーカー ノード用に 1 つ) を持つ仮想ネットワークが必要です。
[タグ] タブで、リソースを整理するためにタグを追加します。
[確認および作成] を確認し、検証が完了したら、作成します。
Azure Red Hat OpenShift クラスターの作成には約 35 分から 45 分かかります。 デプロイが完了したら、次のいずれかの方法でリソースに移動します。
- [リソースに移動] を選択します。
- Azure Red Hat OpenShift クラスター リソース グループを参照し、Azure Red Hat OpenShift リソースを選択します。