WSL2のDebianにAnsibleの最新版をインストールする
Preview版ではなく正式なリリースとなったので、さっそく会社のPCもHyper-VからWSL2に移行しました。
WSL2にはいくつかのディストリビューションを選択できますが、今回はDebian(10.4)を選択しました。
Ansibleについて
アーティスでは、インフラの構築や管理にInfrastructure as Code(IaC)を積極的に取り入れています。昨今のインフラは冗長化することが当たり前になってきており、手作業でサーバー構築を行うには大変な労力が必要です。
GCPなどのクラウドインフラへのデプロイは「Terraform」、VPSなどの構築には「Ansible」を利用し、自動化や再現性を重視しています。
今回は、WSL2上のDebianに「Ansible」をインストールしてみます。
デフォルトのソースパッケージからインストールする
ここからは、WSL2でDebianが正常に稼働している前提で話をすすめます。
ひとまず、デフォルトのソースパッケージでAnsibleをインストールしてみました。
sudo apt install ansible
バージョンを確認します。
$ ansible --version
ansible 2.7.7
デフォルトでは少し古めの2.7.7が入るようです。
現時点(2020年6月2日)では、2.7はメンテナンスされているバージョンなのですが、セキュリティフィックスのみの対応となり、バグの修正は望めないので新しいバージョンをインストールします。
パッケージソースを追加してアップデートする
デフォルトのパッケージソースでは新しいAnsibleをインストールできないので、公式を参考に新しいパッケージソースを追加します。
「/etc/apt/sources.list」を編集して以下を追記します。このファイルには、パッケージの取得元が記入されています。
deb http://ppa.launchpad.net/ansible/ansible/ubuntu trusty main
URLにubuntuが入っているので不安でしたが、問題ありませんでした。
次にaptが外部のパッケージを取り込めるようにキーを設定するのですが、エラーになりました。
$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 93C4A3FD7BB9C367
E: gnupg, gnupg2 and gnupg1 do not seem to be installed, but one of them is required for this operation
先に「GNU Privacy Guard」を追加する必要があるようです。
$ sudo apt install gnupg2
gnupg2をインストールし、もう一度キーを追加するコマンドを実行します。
$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 93C4A3FD7BB9C367
Executing: /tmp/apt-key-gpghome.YHaULyMFz7/gpg.1.sh --keyserver keyserver.ubuntu.com --recv-keys 93C4A3FD7BB9C367
gpg: key 93C4A3FD7BB9C367: public key "Launchpad PPA for Ansible, Inc." imported
gpg: Total number processed: 1
gpg: imported: 1
今度は、問題なくインストールできました。
$ sudo apt upgrade ansible
$ ansible --version
ansible 2.9.9
Ansibleが2.9.9になっているのが確認できます。
念の為、不要なパッケージを掃除しておきます。
$ sudo apt autoremove
最後に実際にプレイブックを実行してみます。
$ ansible-playbook -i hosts test-task.yml
問題なく実行できることが確認できました。
まとめ
今回は、Ansibleをデフォルトのソースパッケージからインストールしてアップデートしました。 最初にソースパッケージを設定してからインストールすると最新版になります。
今回のAnsibleのように、デフォルトのソースパッケージからインストールするとバージョンが古い場合が多いです。 最新版を利用したい場合は、公式サイトのドキュメントや他のサイトの情報を参照して適宜インストールする必要があります。
この記事を書いた人
-
2008年にアーティスへ入社。
システムエンジニアとして、SI案件のシステム開発に携わる。
その後、事業開発部の立ち上げから自社サービスの開発、保守をメインに従事。
ドメイン駆動設計(DDD)を中心にドメインを重視しながら、保守可能なソフトウェア開発を探求している。
この執筆者の最新記事
関連記事
最新記事
FOLLOW US
最新の情報をお届けします
- facebookでフォロー
- Twitterでフォロー
- Feedlyでフォロー