serviceの設定スクリプトは、Jinja2を使ってtemplatesディレクトリ配下に置いている。taskではtemplatesに置かれたテンプレートを/etc/systemd/system/配下に格納する。設定が変更されると、handlerで指定したようにserviceが起動される。
以下にzookeeper roleの場合のサンプルを載せておく。
ansible/roles/zookeeper/templates/zookeeper.service.j2
[Unit] Description=confluent platform zookeeper After=network.target [Service] ExecStart=/usr/bin/zookeeper-server-start /etc/kafka/zookeeper.properties ExecStop=/usr/bin/zookeeper-server-stop [Install] WantedBy=multi-user.target
ansible/roles/zookeeper/tasks/main.yml
- name: zookeeper systemd script template: src: zookeeper.service.j2 dest: /etc/systemd/system/zookeeper.service owner: root group: root mode: 644 notify: start zookeeper
ansible/roles/zookeeper/handlers/main.yml
- name: start zookeeper service: name=zookeeper state=started enabled=yes
0 件のコメント:
コメントを投稿