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で呼び出されます。各タスクのドキュメントを参照してください:

  • [事実][]
  • [プロキシ][]
  • [ホスト][]
  • [パッケージ][]
  • [ネットワーク][]
  • [ストレージ][]
  • sudo
  • [ユーザー][]
  • zsh
  • ca
  • time
  • firewall

役割変数

機能の切り替え

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

ライセンス

BSD 3条項ライセンス

プロジェクトについて

Linux systems management

インストール
ansible-galaxy install gwerlas.system
ライセンス
bsd-3-clause
ダウンロード
5.6k
所有者
DevOps Engineer