本日は、Linuxの運用・保守に関する知識を引き続きご紹介します。この記事の主な内容は、パペットの自動化運用です。
まず、パペットクライアントの自動認証
以前、puppetの多くの基本的な操作を紹介しましたが、puppetを使用してダウンストリームデバイスをバッチで管理することができました。ただし、パペットの自動化のレベルは高くありません。大企業の実稼働環境では、PXEまたはcobblerを使用してシステムをインストールした後、デバイスがpuppetクライアントを自動的にインストールし、puppetクライアントが手動で参加しなくても基本的なソフトウェアのインストールと環境構成を自動的に完了することを期待しています。 。これを実現するには、何よりもまず、パペットサーバーでパペットクライアントを認証する必要なしに、パペットクライアントの自動認証を実現することです。
puppetクライアントの自動認証機能を実現するには、puppetサーバー構成ファイル/etc/puppet/puppet.confを開き、構成ファイルの[main]モジュールの下に次のコンテンツを追加するだけです。
autosign=true
完了したら、puppetクライアントを再起動し、次のコマンドを実行します。
systemctl restart puppetmaster
実行が完了すると、証明書を申請していないパペットクライアントを見つけて、パペット証明書の申請を試みることができます。結果は次のとおりです。
サーバー上での結果は次のとおりです
。PS:削除方法puppet証明書は
前の手順にあります。puppetクライアントをインストールしているが証明書を申請していない既存のデバイスがない場合があります。この時点で、証明書を申請したpuppetクライアントの証明書を削除できます。削除手順は次のとおりです。
パペットサーバーで、次のコマンドを実行します。
puppet cert --clean 【客户端主机名】
puppetクライアントで、puppet証明書を削除するには、次のコマンドを実行します。
rm -rf /var/lib/puppet/ssl/
デバイスは、証明書が要求された状態に復元できます。
2.パペットクライアントの自動同期
puppetサーバーが自動証明書認証を実行できることを期待するだけでなく、実稼働環境のpuppetクライアントがpuppetサーバーと定期的に自動的に同期して、独自の構成を取得できることも期待しています。
バージョン3.6.2のpuppet(CentOS7にデフォルトでインストールされているpuppetのバージョンは3.6.2)の場合、puppetクライアントの自動同期機能を構成するには、puppetクライアントでpuppet構成ファイルを開く必要があります。エージェント]モジュールを作成し、次のように記述します。
server=puppet-server
デフォルトでは、puppetクライアントは30分ごとに自動的に同期します。時間を変更する場合は、[agent]モジュールの下に次のように記述できます。
runinterval 【自定义时间】
カスタム時間の単位は秒です。
上記の設定が完了したら、puppetクライアントを再起動し、次のコマンドを実行します。
systemctl start puppet
20秒ごとに同期する構成を採用しました。上記の構成が完了すると、パペットサーバーの同期情報は次のようになります。
第三に、パペットサーバーは積極的にプッシュします
実際、puppetは、puppetクライアントがpuppetサーバーから構成をアクティブに申請できるようにするだけでなく、puppetサーバーがデータをpuppetクライアントにアクティブにプッシュできるようにします。
puppetサーバーのアクティブプッシュ機能を実装するには、puppetクライアントが最初にポートをリッスンして、puppetクライアントがpuppetサーバーの通知コンテンツを受信できるようにする必要があります。デフォルトでは、puppetクライアントはポート8139でリッスンします。puppetクライアントの構成ファイル/etc/pupper/puppet.confを開き、[agent]モジュールの下に次のコンテンツを追加します。
listen=true
次に、/ etc / puppet /ディレクトリに新しいnamespaceauth.confファイルを作成し、次のコンテンツをファイルに書き込みます。
[puppetrunner]
allow *
次に、/ etc / puppet / auth.confファイルを開き、ファイル内のパス/の前にコンテンツを書き込みます。
path /run
method save
allow *
以下に示すように、上記のコンテンツをパス/の前に追加する必要があることに注意してください。
そうしないと、エラーが報告され、エラーメッセージは次のようになります。
エラー:ホストpuppet-clientが失敗しました:サーバーのエラー403:禁止されたリクエスト: :119で認証された/ run / puppet-client [save]へのpuppet-server(192.168.136.20)アクセス
は次のとおり
です。上記の設定が完了したら、puppetクライアントを再起動します。
puppetサーバーで、puppetサーバーのアクティブなプッシュ機能を試して、次のコマンドを実行します。
puppet kick -d puppet-client
実行結果は次のとおりです
。PS:ヒント
このステップでは、パペットサーバーが複数のパペットクライアントを同時にアクティブにプッシュする必要がある場合、パペットクライアントのホストリストをpuppet_client.txtなどのファイルに書き込むことができます。次に、次のコマンドを実行します。
puppet kick -d `cat puppet_client.txt`
それでおしまい。
独創性は簡単ではありません。転載のソースを示してください:https://blog.csdn.net/weixin_40228200