Azure

[Tips] Ubuntu 20.04 / 22.04 の WALinux Agent はバージョンアップしてから使え

Tips

Azureで公開されているUbuntu 20.04 / 22.04のイメージにインストールされているWALinux Agent のバージョンはとても古いです。なんと2020/4/25のバージョンです。22.04も古いとは・・・

バージョンが古いと一部の機能が上手く動かないことがあります。

sudo waagent -version
/usr/sbin/waagent:27: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
import imp
WALinuxAgent-2.2.46 running on ubuntu 20.04
Python: 3.8.10
Goal state agent: 2.7.1.0

なんかエラーも出ますね。

最新バージョンアップにしてください。

GitHub - Azure/WALinuxAgent: Microsoft Azure Linux Guest Agent
GitHub - Azure/WALinuxAgent: Microsoft Azure Linux Guest Agent

Microsoft Azure Linux Guest Agent . Contribute to Azure/WALinuxAgent development by creating an acco ...

github.com

他のバージョン下記で確認できます。

Ubuntu – Package Search Results -- WALinuxAgent
Ubuntu – Package Search Results -- WALinuxAgent

packages.ubuntu.com

 

アップグレードの方法

アップグレードはディストリビューションのレポジトリからのインストールを推奨していますが2.2.46が最新のようなので、個別に最新版のソースをダウンロードしインストールします。

Releases · Azure/WALinuxAgent · GitHub
Releases · Azure/WALinuxAgent · GitHub

Microsoft Azure Linux Guest Agent . Contribute to Azure/WALinuxAgent development by creating an acco ...

github.com

ダウンロードして解凍します。

wget https://github.com/Azure/WALinuxAgent/archive/refs/tags/v2.7.1.0.tar.gz
tar zxvf v2.7.1.0.tar.gz
cd WALinuxAgent-2.7.1.0/

インストールを行います。

sudo python3 setup.py install --force

Unitファイルの変更を読み込みます、そしてサービスを再起動します。Ubuntuはwalinuxagent、そのほかはwaagent です。

sudo systemctl daemon-reload
sudo systemctl restart walinuxagent

バージョンを確認します。

sudo waagent -version
WALinuxAgent-2.7.1.0 running on ubuntu 20.04
Python: 3.8.10
Goal state agent: 2.7.1.0

 

ちなみにUbuntu20.04の場合はpythonコマンドが利用できません。python3になります。

個人的にはpythonでコマンドを利用できるように下記をインストールします。

sudo apt install python-is-python3

また、プロビジョニングでアップデート行いたい場合にはCloud Initのカスタムデータとして下記を登録します。ユーザー、バージョンなどは読み代えてください。

#cloud-config
repo_update: true
repo_upgrade: all

runcmd:
- cd /home/azureuser/
- wget https://github.com/Azure/WALinuxAgent/archive/refs/tags/v2.7.1.0.tar.gz
- tar zxvf v2.7.1.0.tar.gz
- cd ./WALinuxAgent-2.7.1.0/
- sudo python3 setup.py install --force
- sudo systemctl daemon-reload
- sudo systemctl restart walinuxagent
- cd /home/azureuser/
- rm -rf WALinuxAgent-2.7.1.0/
- rm v2.7.1.0.tar.gz

-Azure
-