Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Ansible 使うとき何考えてるの/ansible-role-reuse

zinrai
February 08, 2021

Ansible 使うとき何考えてるの/ansible-role-reuse

Ansible Night in Tokyo 2019.07
https://ansible-users.connpass.com/event/135965/

zinrai

February 08, 2021
Tweet

More Decks by zinrai

Other Decks in Technology

Transcript

  1. Ansible 使うとき何考えてるの

    View full-size slide

  2. 自己紹介
    @zinrai
    やってること
    コンテナによるアプリケーション実行基盤の整備
    メトリクス管理・監視基盤の整備
    ログ管理・監視基盤の整備

    View full-size slide

  3. Ansible 歴
    2014/07 〜

    View full-size slide

  4. お話しすること

    View full-size slide

  5. 私が、どのように考え、 Ansible でサーバーを構成管理しているかをお話する。

    View full-size slide

  6. サーバー構築

    View full-size slide

  7. サーバー構築とは何だろうか。

    View full-size slide

  8. 私は、様々なソフトウェアのインストールと設定を組み合わせ、サービスが提供可能
    なサーバーを作り上げる行為だと考えている。

    View full-size slide

  9. サーバー構築手順書

    View full-size slide

  10. Apache インストール
    Apache 設定
    NTP インストール
    NTP 設定
    etc.

    View full-size slide

  11. ソフトウェアのインストールと設定が手順書の中に書かれているのではないだろう
    か。

    View full-size slide

  12. Ansible でのサーバー構成管理

    View full-size slide

  13. apache2 ( Apache インストール )
    apache2_conf ( Apache 設定 )
    ntp ( NTP インストール )
    ntp_conf ( NTP 設定 )
    etc.

    View full-size slide

  14. 様々なソフトウェアのインストールと設定を組み合わせ、
    サービスが提供可能なサーバーを作り上げるを Ansible の Role で表現するものであ
    ると考えている。

    View full-size slide

  15. 「インストールしてから設定する」を Ansible では Role Dependencies で表現でき
    る。
    cat << EOF > apache2_conf/meta/main.yml
    ---
    dependencies:
    - role: apache2
    EOF
    https://docs.ansible.com/ansible/latest/user_guide/playbooks_reuse_roles.html#
    role-dependencies

    View full-size slide

  16. Role を分割することで見えてくるもの

    View full-size slide

  17. ソフトウェアをインストールする Role は、サーバー固有ではないので、再利用でき
    る。

    View full-size slide

  18. Role を再利用可能な状態にしておくことで、そのサーバー固有の設定だけに注力すれ
    ばよくなる。

    View full-size slide

  19. Role の再利用性の実例

    View full-size slide

  20. Ansible の記事や本などで、「Role の再利用性」というものをよく目にするが、 Role
    が再利用されると実際どのようなことが起きるのかを例で示す。

    View full-size slide

  21. サーバー固有の Role は 2 つ
    ( 水色は再利用している Ansible Role )

    View full-size slide

  22. サーバー固有の Role は無し
    再利用できる状態にしていた Role のみでサーバーが構成できている。

    View full-size slide

  23. サーバー構築は、様々なソフトウェアのインストールと設定を組み合わせ、サービス
    が提供可能なサーバーを作り上げるという行為である。

    View full-size slide

  24. Ansible で、ソフトウェアのインストール、設定をそれぞれ Role に分割し、これらを
    組み合わせることでサーバーを構成する。

    View full-size slide

  25. Role を再利用可能な状態にしておくことで、そのサーバー固有の設定だけに注力すれ
    ばよくなる。

    View full-size slide

  26. Role の再利用性を高めておくと、最終的には Role を組み合わせるだけの状態にな
    る。

    View full-size slide

  27. サーバーの構成管理について非常に秀逸なコメントをしているものがあるので、最後
    に紹介する。
    実際のコメント
    https://twitter.com/inoryo/status/1115248088963145728
    自分の考え
    https://twitter.com/zinrai/status/1115768141529747456

    View full-size slide

  28. 自分達のサーバーインフラと向き合い構成管理が辛くない方向に持っていくことが必
    須である。

    View full-size slide