Ansible のサポートがよく見るドキュメント

この投稿はAnsible 2 Advent Calendar 2019の21日目の記事です。

qiita.com

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

今回の記事では、サポートがよく見るドキュメントについて紹介してみます。

Ansible のドキュメントは、基本的には全て https://docs.ansible.com/ からたどれるようになっています。日本語訳もありますが、翻訳の都合上どうしても遅れてしまいますので、英語の原文を参照するようにしましょう。

Ansible Engine

Ansibleのインストール

Ansible のインストールの仕方は多岐に及びます。通常は RHEL にインストールすることを想定していますので、リポジトリを設定して yum/dnf コマンドでインストールしていただくという流れになります。

https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html

Python で書かれていますので pip でもインストールできますが、あまりお勧めはしていません。RHEL 以外の OS にインストールしたい場合の方法もいろいろと記載がありますので、参考になると思います。

モジュールの種別

次に紹介したいのはモジュールのドキュメントについてです。

Ansible のモジュールにはさまざまなものがありますが、サポートの観点からは4つに分類されます。

https://docs.ansible.com/ansible/latest/user_guide/modules_support.html

1) Core 2) Network 3) Certified 4) Community

1) Core モジュールは Engineering Team がメンテナンスをしています。サポートチームで解決できない場合は、Engineering Team と議論して対応することになります。

2) Network モジュールは Networking Team がメンテナンスをしています。Core モジュールと同じようにサポート対象となっています。

3) Certified モジュールはパートナーとなっていただいているサードパーティの会社によってメンテナンスされているものです。弊社から各ベンダへの問い合わせをすることもあります。

4) Community モジュールはコミュニティでメンテナンスされているものです。このモジュールについては、弊社はサポートを提供しません。コミュニティの皆さんに聞いてくださいという誘導をします。

これらのモジュールの種別については、各モジュールのドキュメントの一番下に、例えばこのように記載されるようになっています。

This module is maintained by the Ansible Core Team. [core]

Windows Guides

Windows に関する問い合わせもよくいただきます。こちらにかなり詳しくまとまっていますので、まずはここを見るようにしています。

https://docs.ansible.com/ansible/latest/user_guide/windows.html

Kerberos 認証による接続や、Windows ドメインの扱いなどの問い合わせが多いように思います。

Ansible Tower

Towerのバージョンアップ

Ansible Tower は Engine と同じように頻繁にバージョンアップされるプロダクトなので、バージョンアップについての問い合わせがかなり多くなっています。

https://docs.ansible.com/ansible-tower/latest/html/installandreference/upgrade_tower.html

インストールできる構成もシングル構成からクラスタ構成、Isolated Host の構成など、さまざまなものがありますので、状況をヒアリングして同等の構成を手元で作成して検証の上で回答するよう心がけています。

virtual environment

Tower には複数の Ansible Engine の環境を使える仕組みが整っており、Python の virtual environment で実現されています。

https://docs.ansible.com/ansible-tower/latest/html/upgrade-migration-guide/virtualenv.html

例えば 2.7/2.8/2.9 を共存して順次移行しながら使いたいというときにはおすすめの機能です。

特に Python 2 が2019年いっぱいで EOL (End Of Life) となるということもあり、Python 3 への移行についての問い合わせもよくいただきます。RHEL でお使いいただく限りにおいては、特に気にせず来年からも Python 2 でお使いいただけます。

リリースノート

Tower のリリースノートはこちらです。トラブルをご相談いただいたときには、バージョンアップして直るものなのかどうかをまず調べます。

https://docs.ansible.com/ansible-tower/latest/html/release-notes/relnotes.html

基本的にはバージョンアップして使えなくなるという機能はありませんので、お気軽にバージョンアップしてほしいと考えています。

その他のドキュメント

GitHub の issue

既存のドキュメントや手元での検証では解決できない場合、Engineering Team や Networking Team と議論するために GitHub の issue を上げることがあります。public なものと private なものとそれぞれあります。みなさんにも見ていただけるものは ansible/ansible と ansible/awx です。AWX は Tower の Upstream プロジェクトです。

https://github.com/ansible/ansible https://github.com/ansible/awx

KCS (Knowledge Centered Service) 過去の事例から

よくあるトラブルと回答を集めたようなナレッジベースが弊社にもあります。サブスクリプションをご購入いただいていれば読めるようになっています。

テクニカルサポートの普段の業務の一つにもなっており、問い合わせへの回答をして再利用できそうなものがあれば、ドキュメントにまとめて今後の役に立てるようにするという活動をしています。特に他のサービスやプロダクトとの連携部分については Ansible 本体のドキュメントにないものや詳しく書かれていないものもありますので、積極的にまとめるようにしています。ドキュメントを自分で書くとその分野にも詳しくなります。

わたしが書いたものをいくつか紹介してみます。もしアカウントがあって見れる方はご笑覧ください。

How Do I Connect to a Windows Server with Ansible Engine Using Kerberos? https://access.redhat.com/solutions/3713661

How To Configure SAML Authentication with Azure AD? https://access.redhat.com/solutions/3889291

How Do I Create a HAR File To Capture Diagnostic Information for Ansible Tower in Chrome or Firefox? https://access.redhat.com/solutions/4045281

おわりに

他の方のテクニカルなネタとは少々毛色の違う投稿をしてみました。

Ansible のサポートではプレイブックはほとんど書かないというのが実際のところで、皆さんの投稿のように直接的に役に立つようなことはうまくまとめられないというのもありました。Ansible に関わるようになって1年半近くになりましたが、幅広くいろいろなことを身に付けたなと思っています。これからもお役に立てるよう頑張ります。

Happy Automation!

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