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 Slide

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

    View Slide

  3. Ansible 歴
    2014/07 〜

    View Slide

  4. お話しすること

    View Slide

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

    View Slide

  6. サーバー構築

    View Slide

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

    View Slide

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

    View Slide

  9. サーバー構築手順書

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View 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 Slide

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

    View Slide

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

    View Slide

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

    View Slide

  19. Role の再利用性の実例

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  23. まとめ

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  30. おわり

    View Slide