TPA custom commands¶
TPAクラスター内のインスタンスで、環境に固有のタスクを実行するカスタムコマンドを定義できます。
このメカニズムを使用して、クラスターに適用されるプロセスを自動化できます。これらのコマンドは、組み込みのクラスター管理コマンドと同様に、クラスターディレクトリに対して呼び出すことができます。このようなプロセスを定義して実行する統一された方法を使用すると、誤解やオペレーターのエラー、または過去に正しかったがそれ以来現実から逸脱したプロセス文書が原因で発生するエラーの可能性が減少します。
Ansible Playbookを作成すると、任意に複雑なタスクを実装できます。カスタムコマンド規則に従うことは、 config.ymlとTPAが実行するクラスター検出タスクに基づいて設定されたさまざまな事実を利用でき、接続、認証、その他の基本機能などの詳細について考える必要がないことを意味します。
これにより、通常はアドホックなシェルスクリプトではない方法で、弾力性のあるべき等コマンドを簡単に作成できます。
クイックスタート¶
クラスターディレクトリ内に
commands/mycmd.ymlを作成しますtpaexec mycmd /path/to/clusterを実行します
例¶
クラスター内のすべてのインスタンスで単一のコマンドを実行するコマンドの例を次に示します。ユースケースに応じて、さまざまなホストをターゲットとするコマンド(たとえば、Postgresインスタンスでのみ実行する場合)、または追加のタスクを実行して条件を評価して、何をすべきかを正確に決定できます。
- --
# Always start with this
- import_playbook: "{{ tpa_dir }}/architectures/lib/init.yml"
tags: always
- name: Perform custom command tasks
hosts: all
tasks:
- name: Display last five lines of syslog
command: tail -5 /var/log/syslog
become_user: root
become: yes