この投稿は、Nutanix Meetup Hybrid 23.06 で話した「Nested Nutanix CE と Nutanix DevStation。」の補足です。
Nutanix DevStation の環境を、Windows マシンで用意してみます。Nutanix DevStation は、各種 Nutanix 関連ツールが含まれているコンテナを Visual Studio Code(VS Code)から利用するものです。ちなみに DevStation は、macOS でも利用できます。
今回の内容です。
Nutanix DevStation については、下記のあたり参考になります。
- Nutanix Dev Station: A containerized toolkit for managing Nutanix and Kubernetes – Nutanix.dev
- https://github.com/nutanixdev/nutanix-devstation
1. 前提環境の準備
今回の Windows マシンの OS は、Windows 10 Home です。
前提環境として、下記の機能 / ソフトウェアがインストールされています。
- Microsoft Visual Studio Code 1.79.2
- Docker Desktop 4.20.1 (110738)
- Linux 用 Windows サブシステム(WSL2)
- Git(GitHub からリポジトリダウンロードするだけ)
このあと DevStation の環境構築をすると、下記のような感じになります。
2. Dev Containers Extension のインストール
VS Code の「拡張機能」メニューで「Dev Containers」を検索して、インストールしておきます。
ちなみに、まだ Docker Desktop がインストールされていない場合は、Dev Container をインストールする流れで一緒にインストールできます。
下記のような画面が表示されるので「Install」をクリックすると・・・
そのまま Docker Desktop をインストールするウィザードが表示されます。
そして、必要に応じて Windows OS を再起動したり、「wsl --update」を実行して WSL の Linux カーネルを更新したりします。
3. 作業フォルダの準備
作業フォルダ(今回は dev01)を作成しておきます。
PS> mkdir ./dev01
GitHub から、DevStation のリポジトリ(nutanixdev/nutanix-devstation)をダウンロードしておきます。このとき、改行コードを変更しないように、「--config core.autocrlf=false」オプションを付与しておきます。
ちなみに、git clone ではなく .zip アーカイブをダウンロードして展開しても大丈夫だと思います。
PS> git clone https://github.com/nutanixdev/nutanix-devstation.git --config core.autocrlf=false
ダウンロードしたリポジトリから、.devcontainer フォルダと配下のファイル一式を、作業フォルダ配下にコピーします。 このフォルダには、開発コンテナ(Dev Container)の設定が記載されている devcontainer.json ファイルなどが含まれます。
PS> cp -r ./nutanix-devstation/.devcontainer ./dev01/
4. DevStation の利用開始
VS Code(code コマンド)で、作業フォルダを開きます。これは、VS Code の GUI のメニューから開いても大丈夫です。
PS> code ./dev01
このとき、VS Code の画面右下に「コンテナーで再度開く」(英語の場合は Reopen in Container)ボタンが表示されるので、クリックすると VS Code のウインドウが再度開かれます。
新しく開かれた VS Code の画面右下に表示される「ログの表示」をクリックすると、コンテナが起動される様子が見られます。
数分待つと、コンテナの起動が完了します。そして画面左下を見ると、「開発コンテナー: Nutanix DevStation (Community)」に接続(ローカルのコンテナにリモート接続)されていることがわかります。
「+」ボタンや、Ctrl + Shift + @ キーなどでターミナルを開くと、各種ツールがインストールされた Linux コンテナに接続できます。
DevStation のコンテナに含まれる各種ツールの様子はこちらをどうぞ。
以上。