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の認証情報を作成します。
% cat .ssh/gitlab_root
ここで表示された文字列を登録
先ほど作った認証情報を使ってプロジェクトを作成します。
URLはsshの方にします。
同期が成功すればOKです。
インベントリー作成
AWXで作ります。
まずインベントリーを作成します。
ホストを作成します。
パスワード認証にします。
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が選択できるようになっていると思います。
無事実行できました。
ちなみにジョブを実行すると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