やっつけ不定記

好きなときに好きなことをちゃっちゃと書いてます

OSの機能でAnsible導入

今さらながらAnsibleに入門しようと、導入方法を探ってみたところ、
OSバンドルで入れる方法とpipで入れる方法の2通りがあり、結構迷いました。
好みの問題ですが、自分はミドルウェアは極力OSと心中したい方で
その方法で調べてみると、ディストリビューションによって様々。
Ansibleの他にも復習したいことがあったので、全部ひっくるめてメモしてみます。

こんな環境でやっています。
VirtualBoxとゲストOSの導入は、ググったらいくらでも出てくるので割愛。
・仮想環境:VirtualBox(NAT)
・ホストOS:Windows 10
・ゲストOS:CentOS8(ポート22にフォワードできるようにする)
  コンテナソフトウェア:Podman
  コンテナ:Amazon Linux 2

(1)Podmanの導入
Dockerでやりたかったのですが、RedHatさんはPodmanを推しているそうで、
今回はPodmanでやってみます。
基本的にコマンドの読み替えなので、Dockerでも行けると思います(試してないけど)素の一般ユーザでコンテナ環境を作ることができるのは地味に嬉しいかも。
# yum install podman

(2)Amazon Linux 2コンテナの導入
$ podman pull amazonlinux
$ podman images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/library/amazonlinux latest xxxxxxxxxxxx 2 weeks ago 170 MB
$ podman run -d -it --name (コンテナ名) amazonlinux /bin/bash
bash-4.2# cat /etc/system-release
Amazon Linux release 2 (Karoo)
bash-4.2# exit

・コンテナに入り直すとき
$ podman exec -it (コンテナ名) /bin/bash

・コンテナの稼働状況確認
$ podman ps -a

・コンテナの起動・停止
$ podman start (コンテナ名)
$ podman stop (コンテナ名)


(3)Ansibleの導入
Amazon Linux 2の場合、素のyum installではなくamazon-linux-extrasコマンドを
使わなければいけないようです。
bash-4.2# amazon-linux-extras install ansible2
Installing ansible
・・・
Total download size: 22M
Installed size: 122M
Is this ok [y/d/N]: y
Downloading Packages:
・・・
bash-4.2# ansible --version
ansible 2.9.5
config file = /etc/ansible/ansible.cfg
・・・
python version = 2.7.16 (default, Dec 12 2019, 23:58:22) [GCC 7.3.1 20180712 (Red Hat 7.3.1-6)]