0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

WSL2上のUbuntu22.04をAzure Arcを使ってAzureの管理下におく

Posted at

はじめに

最近Azureをちょこちょこ触っている&衝動買いでPCを買ってクリーンな環境が手に入ったので、WSL上のUbuntuをArc管理できるのかなーと思って試したらできた話。

背景情報

Azure Arcとは

要はオンプレの端末をAzureクラウドの管理下に置く仕組み。

ただこれには制約があって、デーモンの管理にsystemdが必要で、WSLは使えないという記載がある。

注意
Linux では、Azure Arc 対応サーバーは複数のデーモン プロセスをインストールします。 これらのプロセスの管理には systemd の使用のみがサポートされています。 一部の環境では、systemd がインストールされていない、または使用できない場合があります。その場合、ディストリビューションがサポートされている場合でも、Arc 対応サーバーはサポートされません。 これらの環境には、Linux 用 Windows サブシステム (WSL) と、Kubernetes や Docker などのほとんどのコンテナーベースのシステムが含まれます。 Azure Connected Machine エージェントは、コンテナーを実行するノードにはインストールできますが、コンテナー自体の内部にはインストールできません。

Windows Subsystem for Linux(WSL) とは

要はWindows上でLinuxを動かす仕組み。はるか昔にデュアルブートやらvirtual boxやらなにやらで大変苦労していたが、いまだとWindowsの機能で達成できるのでお手軽&安定している。

そして、このWSLは昨年からsystemdに対応している。

で、あれば実は動かせるんじゃね?ということで試してみた。

やり方

結構すんなり入ったので実はそんなに苦労していない。(最初のwindows OS updateが一番時間かかった)

環境

  • OS:Windows 11 Pro 22H2 22621.1105
powershell
>wsl --version
WSL バージョン: 1.0.3.0
カーネル バージョン: 5.15.79.1
WSLg バージョン: 1.0.47
MSRDC バージョン: 1.2.3575
Direct3D バージョン: 1.606.4
DXCore バージョン: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
Windowsバージョン: 10.0.22621.1105
bash on WSL
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
DISTRIB_DESCRIPTION="Ubuntu 22.04.1 LTS"

手順

WSLでのsystemdの有効化

手順はとても簡単で、2行分の設定ファイルを作って再起動するだけ。

systemdを有効化する設定ファイルをWSLの設定ファイルとして書く。ファイルはないので作成することになる。

bash
$ sudo nano /etc/wsl.conf
bash
$ cat /etc/wsl.conf
[boot]
systemd=true

設定を反映するためにWSLを再起動する。
Windows側でWSLをいったん落とす。

powershell
PS> wsl --shutdown

その後Ubuntuを適当に起動(スタートメニューのショートカットとか)して、systemdが起きているかテストする。

bash
$ systemctl

これでunitが見えればOK。

参考:https://crieit.net/posts/systemd-supported-in-wsl

ArcにUbuntuを参加させる

こちらもお手軽で、Azure portalにいわれたことを順番にやっていけばいい。

まずはportal上でazure arcのサーバのページに飛ぶ。
image.png

追加をクリック。

image.png

単一サーバーの追加を選択。

image.png

前提条件を確認される。
さすがにHTTPでインターネットに出れない環境でこの話はしないと思うので大丈夫だと思う。
次へをクリック。

image.png

リソースグループはなければ適当に作る。
あくまでUbuntuなのでオペレーティングシステムはLinuxを選択。
接続方法はパブリックエンドポイントにした。
※プロキシ環境化ならプロキシサーバーを選ぶ。この後生成されるスクリプトで良しなに生成してくれる。

image.png

タグは特にいじらず。

image.png

ここまでくると、Azure Arcのエージェント導入用のスクリプトが生成される。
あとはこれをUbuntu上で実行する。

image.png

さて、実行してしばらくたつと、認証用のコードがUbuntu上で表示される。

image.png

言われたとおりに認証用ページにブラウザでアクセスする。

認証コードを打ち込む。

image.png

azure portalにログインしているアカウントなどを聞かれた後、問題なければデバイスが追加される。

image.png

Ubuntu側でもこの間表示が変わり、下記みたいなログがでればよさそう。

image.png

Azure portal上でもリソースを確認できる。

image.png

以上。

おわりに

公式でWSLは使えない、と記載されている割には案外お手軽だった。
ただ、込み入ったことをするとあれこれできない可能性もあるのでその辺は試す必要があると感じた。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?