Foremanダッシュボードから、登録済みのホストでLinuxコマンドを実行できますが、そのためにはリモート実行プラグインをインストールする必要があります。 ForemanまたはKatelloサーバーで。「foreman-installer」の助けを借りて ’コマンド Foremanの既存および新規インストールにリモート実行プラグインをインストールできます またはカテッロ サーバー。
ForemanダッシュボードのRunJobオプションを使用すると、登録ホストでLinuxコマンドをすぐに実行できます。このオプションは、ホストのすべてまたはグループでコマンドをオンザフライで更新または実行する場合に役立ちます。
このチュートリアルでは、フォアマンのいずれかを想定しています。 またはカテッロ サーバーはすでにインストールされており、クライアントはサーバーに登録されています。以下については、以下のURLを参照してください
- CentOS7.xにForemanサーバーをインストールして構成する手順
- CentOS7.xでサーバーをKatelloする方法
私の場合、すでにインストールされているkatelloサーバーが稼働していて、1つのクライアントが登録されています。次の手順を参照して、リモート実行プラグインをインストールし、ForemanまたはKatelloDashboardの[RunaJob]オプションを使用して登録済みホストでコマンドを実行します。
ステップ:1リモート実行プラグインをインストールする
以下のコマンドは、ForemanまたはKatelloサーバーにリモート実行オプション(ジョブの実行)をインストールして有効にします。
[[email protected] ~]# foreman-installer --enable-foreman-plugin-remote-execution --enable-foreman-proxy-plugin-remote-execution-ssh
上記のコマンドが正常に実行されると、次のような出力が得られます:
ステップ:2ターゲットホストまたは登録済みホストのSSHキーを構成する
SSH メカニズムは、フォアマンサーバーの[ジョブの実行]オプションを使用して、登録済みホストまたはターゲットホストでコマンドを実行するために使用されます。リモート実行プラグインをインストールするときはいつでも、スマートプロキシはフォルダ「/usr/share/foreman-proxy/.ssh」の下にデフォルトのsshキーを設定します 「。次の手順を参照して、独自のsshキーを作成できます。
[[email protected] ~]# cd /usr/share/foreman-proxy/.ssh [[email protected] .ssh]# sudo -u foreman-proxy ssh-keygen -f ~foreman-proxy/.ssh/id_rsa_foreman_proxy -N ''
SELinuxがフォアマンサーバーで実行されている場合は、以下のコマンドを実行します。
[[email protected] ~]# restorecon -RvF ~foreman-proxy/.ssh
ここで、httpd、foreman-tasks、およびforeman-proxyサービスを再起動します。
[[email protected] ~]# systemctl restart httpd [[email protected] ~]# systemctl restart foreman-tasks [[email protected] ~]# systemctl restart foreman-proxy
ステップ:3Foremanサーバーのssh公開鍵を登録済みのホストサーバーまたはターゲットサーバーにコピーします。
ssh-copy-idを使用します 登録されたホストにssh公開鍵をコピーまたは配布するコマンド。私の場合、CentOS7サーバーを「web.example.com」という名前でフォアマンサーバーに登録しています
[[email protected] ~]# ssh-copy-id -i ~foreman-proxy/.ssh/id_rsa_foreman_proxy.pub [email protected]
また、フォルダが「 / var / tmp / foreman-proxy /」であることを確認してください 」にはファイル所有者があり、グループ所有権の権限は「 foreman-proxy」として設定されています 」
[[email protected] ~]# ls -ld /var/tmp/foreman-proxy/ drwxr-xr-x 3 foreman-proxy foreman-proxy 65 Mar 12 22:36 /var/tmp/foreman-proxy/ [[email protected] ~]#
ステップ:4[ジョブの実行]オプションを使用して、登録済みホストでコマンドを実行します
フォアマンダッシュボードにログインし、最初に Dynflowかどうかを確認します およびssh この機能はスマートプロキシで利用できます。
インフラストラクチャタブから –>スマートプロキシをクリックします
DynflowおよびSSH機能がスマートプロキシに表示されない場合は、[編集]をクリックして、組織と場所が更新されているかどうかを確認してから、[送信]をクリックします
それでは、登録ホストでコマンドを実行してみましょう。 [ホスト]タブから –>すべてのホストを選択します
コマンドを実行するホストを選択してクリックします
「ジョブの実行」をクリックします 」オプション
3つのコマンド(稼働時間)を実行したいとします。 、 uname -r およびホスト名 )ホスト上。セミコロン(;)で区切られたコマンドフィールドでコマンドを指定します。例を以下に示します。
[送信]をクリックします
コマンドが正常に実行されると、以下に示すようにダッシュボードに成功メッセージが表示されます
コマンドの出力を表示するには、上のウィンドウで[ホスト]オプションをクリックしてから、ホスト(私の場合はweb.example.com)をクリックします
このチュートリアルは以上です。リモート実行プラグインを有効にして、ForemanDashboardからLinuxコマンドを実行する方法を理解していただければ幸いです。貴重なフィードバックやコメントを共有してください🙂