5.14. Azure Stack Hub でのブートストラップマシンの作成
OpenShift Container Platform クラスターの初期化を実行する際に使用するブートストラップマシンを Microsoft Azure Stack Hub で作成する必要があります。このマシンを作成する方法として、提供される Azure Resource Manager (ARM) テンプレートを変更することができます。
提供されている ARM テンプレートを使用してブートストラップマシンを作成しない場合、指定される情報を確認し、インフラストラクチャーを手動で作成する必要があります。クラスターが適切に初期化されない場合、インストールログを用意して Red Hat サポートに問い合わせする必要がある可能性があります。
前提条件
- Azure アカウントを設定します。
- クラスターの Ignition 設定ファイルを生成します。
- Azure Stack Hub で VNet および関連するサブネットを作成し、設定します。
- Azure Stack Hub でネットワークおよびロードバランサーを作成し、設定します。
- コントロールプレーンおよびコンピュートロールを作成します。
手順
-
このトピックの ブートストラップマシンの ARM テンプレートセクションからテンプレートをコピーし、これを
04_bootstrap.json
としてクラスターのインストールディレクトリーに保存します。このテンプレートは、クラスターに必要なブートストラップマシンを記述しています。 ブートストラップ URL 変数をエクスポートします。
$ bootstrap_url_expiry=`date -u -d "10 hours" '+%Y-%m-%dT%H:%MZ'`
$ export BOOTSTRAP_URL=`az storage blob generate-sas -c 'files' -n 'bootstrap.ign' --https-only --full-uri --permissions r --expiry $bootstrap_url_expiry --account-name ${CLUSTER_NAME}sa --account-key ${ACCOUNT_KEY} -o tsv`
ブートストラップ Ignition 変数をエクスポートします。
ご使用の環境で公開認証局 (CA) を使用している場合は、次のコマンドを実行します。
$ export BOOTSTRAP_IGNITION=`jq -rcnM --arg v "3.2.0" --arg url ${BOOTSTRAP_URL} '{ignition:{version:$v,config:{replace:{source:$url}}}}' | base64 | tr -d '\n'`
環境で内部 CA を使用している場合は、PEM エンコードバンドルをブートストラップ Ignition スタブに追加して、ブートストラップ仮想マシンがストレージアカウントからブートストラップ Ignition をプルできるようにする必要があります。次のコマンドを実行します。これは、CA が
CA.pem
のファイルにあることを前提としています。$ export CA="data:text/plain;charset=utf-8;base64,$(cat CA.pem |base64 |tr -d '\n')"
$ export BOOTSTRAP_IGNITION=`jq -rcnM --arg v "3.2.0" --arg url "$BOOTSTRAP_URL" --arg cert "$CA" '{ignition:{version:$v,security:{tls:{certificateAuthorities:[{source:$cert}]}},config:{replace:{source:$url}}}}' | base64 | tr -d '\n'`
az
CLI を使用してデプロイメントを作成します。$ az deployment group create --verbose -g ${RESOURCE_GROUP} \ --template-file "<installation_directory>/04_bootstrap.json" \ --parameters bootstrapIgnition="${BOOTSTRAP_IGNITION}" \ 1 --parameters baseName="${INFRA_ID}" \ 2 --parameters diagnosticsStorageAccountName="${CLUSTER_NAME}sa" 3
5.14.1. ブートストラップマシンの ARM テンプレート
以下の Azure Resource Manager (ARM) テンプレートを使用し、OpenShift Container Platform クラスターに必要なブートストラップマシンをデプロイすることができます。
例5.4 04_bootstrap.json
ARM テンプレート
link:https://raw.githubusercontent.com/openshift/installer/release-4.15/upi/azurestack/04_bootstrap.json[]