以前に以下のメモを書きました。
今回、改めて cmlutils を使って CLI から CML へ新規のイメージを追加する手順をメモしておきます。 作業環境には Ubuntu 22.04 LTS と Python 3.10.4 を使いました。
cmlutils 環境の準備
まず最初に cmlutils をインストールし、利用出来る状態にします。
インストール
venv 環境内にインストールします。
mkdir cmlutils
cd cmlutils
python3 -m venv .venv
echo 'source .venv/bin/activate' > .envrc
direnv allow
python3 -m pip install --upgrade pip cmlutils
認証情報の準備
cmlutils を利用するには認証情報を ~/.virlrc
へ記載します。 設定例は以下の通りです (アドレスやユーザ名、パスワードは環境に合わせて修正します)。
cat << 'EOF' > ~/.virlrc
VIRL_HOST="10.0.0.1"
VIRL_USERNAME="admin"
VIRL_PASSWORD="password"
CML_VERIFY_CERT=false
EOF
イメージの登録
cmlutils の準備が出来たら、CML 上で利用したいイメージを登録していきます。
イメージ定義の削除
もし事前にイメージ定義がされている場合は (二重登録を避ける為に) 削除しておきます。
イメージのダウンロード / アップロード
CML へ登録するイメージを事前に用意しておきます。 各種アプライアンスであれば評価版をダウンロードしたり、Ubuntu 22.04 LTS であれば Ubuntu Cloud Images 22.04 Daily Build からイメージをダウンロードしておきます。 下記は Ubuntu 22.04 LTS のイメージをダウンロードする例です。
curl -LO https://cloud-images.ubuntu.com/jammy/20220718/jammy-server-cloudimg-amd64.img
これを cmlutils を使い、CML へアップロードします。
cml definitions images import image-file -f jammy-server-cloudimg-amd64.img
ノード定義
ノード定義を行います。 Ubuntu であれば既存の Ubuntu 20.04 用定義を流用し、バージョンを切り替えて利用しても良いのですが、「都度、バージョンを切り替える」のが手間に感じる為、今回は (Ubuntu 20.04 とは別に)「Ubuntu 22.04 LTS」としてノード定義を追加しました。 [cml-community/node-definitions/] を探してノード定義が無ければ新規に作成する必要があります。 Ubuntu 22.04 LTS であれば実質、既存の Ubuntu 20.04 のノード定義を流用出来ますので大した手間ではありませんが、下記のように実行すれば Ubuntu 22.04 LTS のノード定義を追加することが可能です。
curl -O https://s3.sig9.org/cml2/node-definitions/ubuntu22.yaml
cml definitions nodes import --filename ubuntu22.yaml
イメージ定義
最後はイメージ定義を追加します。 イメージ定義は指定する項目自体が少ない為、新規に設定するのも簡単ですが、Ubuntu 22.04 LTS の場合は以下のように実行することでイメージ定義を追加することが出来ます。
curl -O https://s3.sig9.org/cml2/node-definitions/ubuntu22_image.yaml
cml definitions images import definition --filename ubuntu22_image.yaml
イメージ定義例は以下の通りです。
Item | Value |
---|---|
ID | ubuntu-22-04-20220503 |
Label | Ubuntu 22.04 - 03 May 2022 |
Description | Ubuntu 22.04 - 03 May 2022 |
Disk Image | jammy-server-cloudimg-amd64.img |
Node Definition | Ubuntu22 |
Ubuntu 22.04 LTS の初期設定
Ubuntu 22.04 LTS に関しては、自分 (筆者) がよく利用する初期設定をスクリプト化してあります。 以下のように実行することでインターネットから初期設定スクリプトをダウンロードして実行、初期設定が完了すると自動的に再起動されます。
curl -L https://raw.githubusercontent.com/sig9org/init-linux/master/init-ubuntu22.sh | bash -s
コメント