OpenShift 上で動く AAP での must-gather

レッドハットの杉村です。Ansible のテクニカルサポートをしています。

先ほど、OpenShift での問題解析のためのコマンドを紹介する記事が掲載されました。

rheb.hatenablog.com

Ansible Automation Platform (AAP) も OpenShift で動作しまして、以前 Operator からインストールしてみたという記事を書いたことがあります。

rheb.hatenablog.com

オンプレミス版での問い合わせの場合は sosreport を生成して送っていただくことがあるのですが、OpenShift で動作するもののときは AAP の動作の解析には役に立ちません。ここでも must-gather での情報取得をお願いすることがあります。

access.redhat.com

AAP 2.2 をインストールしているときの情報収集について紹介します。

1) oc adm inspect ns/ansible-automation-platform

先ほどの記事にも説明されていますが、must-gather での情報収集の前に、簡単に状況を把握するためにこのコマンドで namespace を特定して情報を収集することがあります。AAP Operator からインストールした場合には、namespace は ns/ansible-automation-platform です。

$ oc login https://api.ocp.sugimura.home:6443
...
$ oc adm inspect ns/ansible-automation-platform
Gathering data for ns/ansible-automation-platform...
Wrote inspect data to inspect.local.2396357822870305135.

このコマンドでは主に Pods の情報を集めてきまして、ログを収集するだけであればこれで十分なこともあります。

例えばこのように、AAP が動作するための Pods についての情報がまとまってきますので、それぞれ見ていくことができます。

$ ls inspect.local.2396357822870305135/namespaces/ansible-automation-platform/pods/
aap22-9cb54f667-tf548/                          example-6cb5c4d687-kz4vw/
aap22-postgres-13-0/                            example-postgres-13-0/
automation-controller-operator-controller-manager-c4f59fc5jxqmc/    resource-operator-controller-manager-77fc5c8595-jlnml/
automation-hub-operator-controller-manager-b4797f66b-nrj87/

2) oc adm must-gather --image=registry.redhat.io/ansible-automation-platform-22/aap-must-gather-rhel8

より詳細に状況を知りたい場合には、must-gather を使うことになります。AAP 用の情報収集のためのコンテナも用意されています。

$ oc adm must-gather --image=registry.redhat.io/ansible-automation-platform-22/aap-must-gather-rhel8
[must-gather      ] OUT Using must-gather plugin-in image: registry.redhat.io/ansible-automation-platform-22/aap-must-gather-rhel8
[must-gather      ] OUT namespace/openshift-must-gather-9pftx created
[must-gather      ] OUT clusterrolebinding.rbac.authorization.k8s.io/must-gather-5782m created
[must-gather      ] OUT pod for plug-in image registry.redhat.io/ansible-automation-platform-22/aap-must-gather-rhel8 created
[must-gather-msfjq] POD Wrote inspect data to must-gather.
[must-gather-msfjq] POD Wrote inspect data to must-gather.
...
[must-gather-msfjq] OUT namespaces/ansible-automation-platform/policy/
[must-gather-msfjq] OUT namespaces/ansible-automation-platform/policy/poddisruptionbudgets.yaml
[must-gather-msfjq] OUT namespaces/ansible-automation-platform/route.openshift.io/
[must-gather-msfjq] OUT namespaces/ansible-automation-platform/route.openshift.io/routes.yaml
[must-gather-msfjq] OUT 
[must-gather-msfjq] OUT sent 2246 bytes  received 31472564 bytes  6994402.22 bytes/sec
[must-gather-msfjq] OUT total size is 31456608  speedup is 1.00
[must-gather      ] OUT clusterrolebinding.rbac.authorization.k8s.io/must-gather-5782m deleted
[must-gather      ] OUT namespace/openshift-must-gather-9pftx deleted

収集した情報は inspect のときと同じようにローカルディレクトリに must-gather.XXXXXXXXXXXXXXXXXX として保存されますので、tar + gz などで固めていただいて送っていただくことで、こちらで解析を進めることができます。

$ ls must-gather.local.8087695538373383744/registry-redhat-io-ansible-automation-platform-22-aap-must-gather-rhel8-sha256-9f82060dd6a5bb202b119db9a2f81e20299b6ff18744639ac21175b0793857a4/namespaces/ansible-automation-platform/
ansible-automation-platform.yaml*   autoscaling/                discovery.k8s.io/           route.openshift.io/
apps/                   batch/                  image.openshift.io/
apps.openshift.io/          build.openshift.io/         pods/
automationcontroller.ansible.com/   core/                   policy/
...

まとめ

ちょうど何か書こうとしていたところで OpenShift の記事が掲載されましたので、AAP としての利用方法についても乗っかってまとめてみました。

OpenShift と Ansible Automation Platform の評価ライセンスリクエストはこちらからご利用いただけます。60日間利用できます。

www.redhat.com

www.redhat.com

Happy Automation!

* 各記事は著者の見解によるものでありその所属組織を代表する公式なものではありません。その内容については非公式見解を含みます。