AWXの使い方

AWXでplaybookを実行する手順です。
AWXの構築手順はこちら をご確認ください。

GitLab連携

まずGitLabと連携する準備をします。
SSH鍵を生成します。

% ssh-keygen -t rsa -f .ssh/gitlab_root
% ls .ssh/gitlab_root*
.ssh/gitlab_root     .ssh/gitlab_root.pub

公開鍵をGitLabに登録します。

% cat .ssh/gitlab_root.pub
ここで表示された文字列を登録
awx_001.png

秘密鍵でAWXの認証情報を作成します。

% cat .ssh/gitlab_root
ここで表示された文字列を登録
awx_002.png

先ほど作った認証情報を使ってプロジェクトを作成します。
URLはsshの方にします。

awx_003.png

同期が成功すればOKです。

awx_004.png

インベントリー作成

AWXで作ります。
まずインベントリーを作成します。

awx_005.png

ホストを作成します。

awx_006.png

パスワード認証にします。

awx_007.png

playbook作成

ひとまずサンプルとして以下のファイルをGitLabプロジェクトにプッシュしました。

.
├── README.md
├── host.yml
├── roles
│   └── common
│       └── tasks
│           └── main.yml
└── site.yml

site.yml

---
- name: test
  hosts: all
  become: true
  gather_facts: true
  roles:
    - common

タスクはこんな感じ。
factを表示するだけです。

main.yml

---
# tasks file for common
- name: facts
  ansible.builtin.debug:
    var: ansible_facts

ジョブ実行

ジョブテンプレートを作成します。
プロジェクト同期できていたらsite.ymlが選択できるようになっていると思います。

awx_008.png

無事実行できました。

awx_009.png

ちなみにジョブを実行するとPodが作成されて実行されるようですね。

# kubectl get pod -n awx -w
NAME                                              READY   STATUS              RESTARTS   AGE
automation-job-6-qlxqf                            0/1     ContainerCreating   0          29s
awx-demo-migration-24.3.1-m274p                   0/1     Completed           0          3d14h
awx-demo-postgres-15-0                            1/1     Running             0          3d14h
awx-demo-task-544988b669-9p4f9                    4/4     Running             0          3d14h
awx-demo-web-56d7847b56-qxgjc                     3/3     Running             0          3d14h
awx-operator-controller-manager-596ff9867-kv6mr   2/2     Running             0          3d15h
automation-job-6-qlxqf                            1/1     Running             0          3m55s
automation-job-6-qlxqf                            0/1     Completed           0          4m14s
automation-job-6-qlxqf                            0/1     Completed           0          4m16s
automation-job-6-qlxqf                            0/1     Completed           0          4m16s
automation-job-6-qlxqf                            0/1     Completed           0          4m16s
automation-job-6-qlxqf                            0/1     Terminating         0          5m44s
automation-job-6-qlxqf                            0/1     Terminating         0          5m44s