gwerlas.system
基本システム
Linuxシステムの基本設定。
コンテナ内での役割の実行は一般的ではありませんが、このユースケースはMoleculeを使用したAnsibleのテストに対応しています。この場合、パッケージマネージャのキャッシュのみが設定され、必要に応じて更新されます。他のシステムコンポーネントはコンテナエンジンの責任のため管理されません。
GitLabプロジェクト: yoanncolin/ansible/roles/system
要件
この役割は非ルートユーザーとして実行されるように書かれているため、Sudoをインストールして設定する必要があります。
ネットワーク構成には、netaddr
Pythonパッケージが必要です。また、ansible.utils
Ansibleモジュールも必要です。
ファイルシステム管理には、jmespath
Pythonパッケージが必要です。さらに、community.general
およびansible.posix
Ansibleモジュールも必要です。
事実
この役割の定義された事実:
system_packages
system_shells
system_sudo_version
詳細については、[事実][]のドキュメントを参照してください。
タグ
一部の値が複数のタスクに分散されているため、タグを使用してそれらのいくつかを迅速に更新できます:
ca
- SSL証明書機関firewall
hosts
-/etc/hosts
ファイルの更新networks
packages
proxies
storages
sudoers
time
users
使用例:
ansible-playbook -t tag1[,tag2[,...]] my_play.yml
タスク
システムコンポーネントは、独立して呼び出すことができる別々のタスクを使用して管理されます。
もちろん、すべてのタスクはmain.yml
で呼び出されます。各タスクのドキュメントを参照してください:
役割変数
機能の切り替え
defaults/main/feature-flipping.yml
を見てください。
機能をtrue
/false
に設定することで、有効化/無効化できます。
共有変数
defaults/main/shared.yml
を見てください。
system_bin_path: /usr/local/bin
system_profile: server
system_retries: 2
一部のディストリビューションでは、再起動が必要か、パッケージキャッシュが古くなっているかを簡単に知るためのコマンドラインが提供されていません。したがって、それを行うためのスクリプトを用意しています。
これらのスクリプトの場所は、system_bin_path
で変更できます。
system_profile
はシステムの一部の動作に影響を与える可能性があります。例えば、インストールする(またはしない)パッケージに影響します。
インストール中にネットワークの問題が発生した場合は、system_retries
の値を増やすことができます。
依存関係
Pythonがインストールされたアクセス可能なLinuxシステム。
例のプレイブック
初回デプロイまたはディストリビューションのアップグレード、10ステップのローリングアップデート:
---
- name: ローリングアップデート
hosts: all
serial: 10%
roles:
- role: gwerlas.system
vars:
system_packages_upgrade: true
単一のタスクを使用:
---
- name: パッケージマネージャ
hosts: all
tasks:
- name: パッケージマネージャを準備する
ansible.builtin.import_role:
name: gwerlas.system
tasks_from: package-managers