2022年5月28日土曜日

Azure Arc Resource Bridgeの仮想ネットワーク設定(仮想スイッチ指定)を間違えて環境を壊した

Azure PortalからAzure Stack HCIへAzure Arc VMを展開する その2 うまくいきましたよ

に書いていた

※別環境のセットアップに関して、
Azure Resource Manager で Azure Stack HCI 上に仮想マシンを作成する
に記載されている「$vnetName は HCI クラスタ上に存在する仮想スイッチの名前にする必要があります」が参考になりましたので、この場をお借りして御礼申し上げます。
→最初の環境は、「$vnetName は HCI クラスタ上に存在する仮想スイッチの名前にする必要があります」ではないのですが、仮想マシンの展開前までなぜうまくいったのか不明。。。
 →最初の環境を一度解体し、「$vnetName は HCI クラスタ上に存在する仮想スイッチの名前にする必要があります」となるようおいおい確認してみます。

が思わぬことを招いていました。。。$vnetName は HCI クラスタ上に存在する仮想スイッチの名前にしなかったため、クラスターの全ノードで仮想スイッチもう一つできる事態に。
※ちゃんと公式ドキュメントを読みましょう…

そしてその仮想スイッチ上にマネジメント的なVNICもできてました。
※NIC名は、GUIDになっていますが、ノードごとに異なるGUIDでした。

IPアドレス設定も吹っ飛んでました。。。

VNICと仮想スイッチを削除したところ、(当該環境はDHCPも運用しているので)IPアドレスが当該サブネットの物になりました。。。

ここから本来の仮想スイッチ"SET25"にVNICを作り直し、元のIPアドレスを設定して解消させました。なるほど、Azure Stack HCIがAzureと同期しなかったのもこれが原因だったんですね。。。

2022年5月27日金曜日

Azure PortalからAzure Stack HCIへAzure Arc VMを展開する その2 うまくいきましたよ

Azure PortalからAzure Stack HCIへAzure Arc VMを展開する

まで説明していた環境とは、別の環境を用意しました。

※別環境のセットアップに際して、
Azure Resource Manager で Azure Stack HCI 上に仮想マシンを作成する
に記載されている「$vnetName は HCI クラスタ上に存在する仮想スイッチの名前にする必要があります」が参考になりましたので、この場をお借りして御礼申し上げます。
→最初の環境は、「$vnetName は HCI クラスタ上に存在する仮想スイッチの名前にする必要があります」ではないのですが、仮想マシンの展開前までなぜうまくいったのか不明。。。
 →最初の環境を一度解体し、「$vnetName は HCI クラスタ上に存在する仮想スイッチの名前にする必要があります」となるようおいおい確認してみます。

では、実際の動きを見ていきます。

Azure Arc 仮想マシン (プレビュー)をクリックし、[作成]をクリックします。



サブスクリプション、リソースグループを選択。仮想マシン名、カスタムの場所(カスタムロケーション)を選択。仮想マシンイメージ、仮想CPU、メモリ量と種類を指定。
続いて、アカウント情報を設定します。
ディスクの追加、ネットワークの設定がなければ、ここで[確認および作成]をクリックしてデプロイを開始できます。今回は、ネットワーク設定を行うので[次へ:ディスク]をクリックします。

こちらの画面で、(データ)ディスクを追加できます。今回はスキップするので[次へ:ネットワーク]をクリックします。


[ネットワークインタフェースの追加]をクリックして、ネットワーク設定を入力できます。[名前]、[ネットワーク]を設定できます。[ネットワーク]は、仮想スイッチ名と同義になっています。なお、IPv4の設定は、"動的"で固定されていますね。

設定出来たら[追加]をクリックします。
ネットワークを追加した画面は下記の通り。
ネットワーク設定が終わったら、[次へ:タグ]をクリックします。

タグを設定する場合は、こちらで行います。今回は、入力せず[次へ:確認および作成]をクリックします。

入力内容を確認します。問題なければ[作成]をクリックします。

しばらく待つとデプロイ成功しましたー。

作成した仮想マシンの画面に移動します。ここで、起動、再起動、停止(シャットダウン)が行えますね。

2022年5月26日木曜日

Azure Arc Resource Bridgeを展開する その1.1 準備 で別のエラーが発生することがありました

別環境でのこと。
Set-MocConfigの実行時、CloudServiceCidrが足りないメッセージが出ました。

さて、CloudServiceCidrには、どういったIPアドレスを付与すべきか、Set-MocConfigのヘルプを見てもさっぱり見当がつかず。で、なんとなく$controlPlaneIPと同じにしてしまいました。下記画像でいうところの-vipPoolStart と -vipPoolEndに該当します。

しかし、これがいけなかった。。。

az arcappliance deploy hci --config-file  $csv_path\ResourceBridge\hci-appliance.yaml --outfile $env:USERPROFILE\.kube\config
の実行で、"core: Waiting for API server..."から進まずにタイムアウトでエラー。

色々調べていくうちに、Azure Arc Resource Bridge 仮想マシンのIPアドレスとCloudServiceCidrのIPアドレスが競合し、CloudServiceCidrなクラスター汎用サービスがオフラインになっているのをフェールオーバークラスターで見つけました。。。
※画像キャプチャーを忘れたので画像無し。

前段のSet-MocConfigで、CloudServiceCidrと$controlPlane IPアドレスのチェックしてないっぽい。こんな感じで指定できてしまいます。。。


CloudServiceCidrと$controlPlane IPアドレスは、分けました。

az arcappliance deploy hci --config-file  $csv_path\ResourceBridge\hci-appliance.yaml --outfile $env:USERPROFILE\.kube\config
を再実行したところ、成功しました。

以上、今回の教訓です。
  • Set-MocConfigの実行時、CloudServiceCidrが足りないメッセージが出ることがあります
  • CloudServiceCidrと$controlPlane IPアドレスは、異なるIPアドレスを別々にしましょう

2022年5月14日土曜日

Azure PortalからAzure Stack HCIへAzure Arc VMを展開する

Azure Arc Resource Bridgeを展開する その3 仮想ネットワークとVMイメージを登録 の続きです。

View your cluster in Azure portal and manage virtual machines
※2022/05/17 上記リンクが正しくなかったためリンク切れしておりました。現在は修正済みです。

に沿って、Azure Arc VMの展開を進めてみます。

下記画面で[仮想マシンの作成]をクリックします。

仮想マシンハードウェアのパラメーターを設定していきます。
ディスクを追加してみます。
仮想ハードディスクのパラメーターを設定し、[追加]をクリックします。
続いてネットワークを設定します。
ネットワークインタフェースを追加します。
ネットワークのパラメーターを設定し、[追加]をクリックします。ネットワークは、仮想ネットワークとして作成したものを使います。
タグの画面を見ておきます。
Azure Arc VMを作成するため確認しましょう。
確認出来たら、[作成]をクリックします。

残念ながら、Azure Arc VMの作成は失敗してます。

(HWもNWもより高速な)別の環境で確認してみます。

Azure PortalからAzure Stack HCIへAzure Arc VMを展開する その2 うまくいきましたよ に続く。

2022/06/04 追記 デプロイに失敗した仮想マシン削除も、当初うまくいかず。顛末を下記にまとめておきました。ご参考になれば幸いです。

Azure Stack HCIにデプロイ失敗した仮想マシンリソースがなかなか削除できなかった

Azure Arc Resource Bridgeを展開する その3 仮想ネットワークとVMイメージを登録

Azure Arc Resource Bridgeを展開する その2 カスタムロケーションを作ってAzure Arc Resource Bridgeを展開 の続きです。

本稿は、Deploy Azure Arc Resource Bridge using command line の
※2022/05/17 上記リンクが正しくなかったためリンク切れしておりました。現在は修正済みです。

Create virtual network and gallery image 項を確認します。Azure Arc Resource Bridge展開の最終フェーズですね。

1.Create or add a network switch for VMs. Make sure you have an external vmswitch deployed on all hosts of the Azure Stack HCI cluster. Provide the vmswitch name that will be used for network interfaces during VM provisioning. The parameter vnetName should be the name of the virtual network from the hosts of the cluster, for example: "myvnet".

※2022/05/28 追記

環境のセットアップに関して、myvnetを指定したのは誤りです。正しくは

Azure Resource Manager で Azure Stack HCI 上に仮想マシンを作成する

に記載されている「$vnetName は HCI クラスタ上に存在する仮想スイッチの名前にする必要があります」となります。参考になりましたので、この場をお借りして御礼申し上げます。よって本環境では、仮想ネットワークとして仮想スイッチ名"SET025"を指定すべきでした。お手数ですが、画像の読み替えをお願い致します。 

仮想ネットワークを誤って指定したことで、環境が壊れます。何が起きたかは   Azure Arc Resource Bridgeの仮想ネットワーク設定(仮想スイッチ指定)を間違えて環境を壊した をご確認ください。 

 のパートです。az azurestackhci virtualnetwork createを実行したらエラー。。。

Azure Portalから見たところ、仮想ネットワークは作成失敗してました。
仮想ネットワークを削除します。
リトライしたら、成功しました。
2.Create an OS gallery image that will be used for creating VMs by running the following cmdlets, supplying the parameters described below. Make sure you have a Windows or Linux VHDX image copied locally on the host. The VHDX image must be gen-2 type and have secure-boot enabled. It should reside on a Cluster Shared Volume available to all servers in the cluster. Arc-enabled Azure Stack HCI supports Windows and Linux operating systems.

のパートです。いて、仮想マシンの仮想ハードディスクをギャラリーに登録します。

以上で、Azure Arc VMの展開ができるようになりました。

Azure PortalからAzure Stack HCIへAzure Arc VMを展開する に続く。

Azure Arc Resource Bridgeを展開する その2 カスタムロケーションを作ってAzure Arc Resource Bridgeを展開

Azure Arc Resource Bridgeを展開する その1 準備 の続きです。

本稿は、Deploy Azure Arc Resource Bridge using command line の

Create a custom location by installing Azure Arc Resource Bridge 項を確認します。

1.Provide inputs for the following, using the parameters described below.

のパートです。変数設定します。

2.Log in to your Azure subscription and get the extension and providers for Azure Arc Resource Bridge:

のパートです。Azureへのログインから順次コマンドを実行していきます。


3.Run the following cmdlets:

のパートです。$resource_nameを設定し、CSV配下にフォルダーを作成します。がすでに作成済みだった。
New-ArcHciConfigFilesを実行します。
※仮想スイッチなどの変数は、再定義してます。
az arcappliance deploy hciを実行します。
上図の赤枠にあるアプライアンスのIPアドレスは、DHCPからリースされたものが使われていますね。でもタイムアウトしてます。。。
リトライしたところ、成功しました。。。
az arcappliance create hciを実行します。

4.Verify that the Arc appliance is running. Keep running the following cmdlets until the appliance provisioning state is Succeeded and the status is Running. This operation can take up to five minutes.

のパートです。statusが、Runningになるまで待ちました。

5.Add the required extensions for VM management capabilities to be enabled via the newly deployed Arc Resource Bridge:
のパートです。

6.Verify that the extensions are installed. Keep running the following cmdlet until the extension provisioning state is Succeeded. This operation can take up to five
 minutes.
のパートです。

7.Create a custom location for the Azure Stack HCI cluster, where customloc_name is the name of the custom location, such as "HCICluster -cl":
のパートです。カスタムロケーション名は、とりあえずそのまま使ってます。
ということで、汎用サービス、Resource Bridgeの仮想マシンが出来てます。