Chronyは、ネットワークタイムプロトコル(NTP)デーモンであり、ほとんどの* nixシステムで標準となっているntpd(ネットワークタイムプロトコルデーモン)に代わるものです。 ChronyはNTPの新しい実装であり、通常はntpdよりも時間が速く、正確に更新されます。
この例では、/etc/chrony.conf
で必要なすべての設定を行っています。 、そして今度はすべてのホストでこの構成を使用したいとします。構成ファイルをAnsibleテンプレートに変換してデプロイできます。
プレイブックを作成する
/etc/chrony.conf
であると仮定します 次のようになります:
server 192.168.0.1 iburst
server 192.168.0.2 iburst
stratumweight 0
driftfile /var/lib/chrony/drift
rtcsync
makestep 10 3
bindcmdaddress 127.0.0.1
bindcmdaddress ::1
keyfile /etc/chrony.keys
commandkey 1
generatecommandkey
noclientlog
logchange 0.5
logdir /var/log/chrony
Ansibleを使用してこの構成を他のホストにデプロイするには、このファイルを/some/full/path/chrony.conf.j2
にコピーします。 Ansibleコントロールノードで。次に、次のプレイブックを使用して、すべての管理対象ホストに展開できます。
---
- hosts: all
tasks:
- name: make sure chronyd is installed
yum:
name: chrony
state: latest
update_cache: yes
- name: deploy chrony.conf template
template:
src: /some/full/path/chrony.conf.j2
dest: /etc/chrony.conf
owner: root
group: root
mode: 0644
backup: yes
- name: Restart chronyd
service:
name: chronyd
state: restarted
このプレイブックでは、最初にchrony
がインストールされています。 /etc/chrony.conf
がないため、これは重要です。 サービスが欠落している場合。 2番目のタスクは、Ansibleテンプレートモジュールを使用して、構成をホストにデプロイします。この例では、正確なファイルをホストにコピーし、所有者と権限の設定を設定します。置き換える前に、既存のファイルからバックアップを作成します。最後になりましたが、サービスが再起動して、目的の構成ファイルが使用されることを確認します。
まとめ
もちろん、cronジョブを使用して、このプレイブックを1日1回または30分ごとに実行して、ファイルへの変更が目的の構成にリセットされるようにすることもできます。これは、すべてのホスト間で一貫性が必要なシステム上の任意のシステムサービスまたは構成ファイルに対して実行できます。
[Ansibleについてもっと知りたいですか? RedHatから無料の技術概要コースを受講してください。 Ansible Essentials:自動化の技術概要のシンプルさ。 ]