Foremanは、物理サーバーと仮想サーバー用の無料のオープンソース構成管理およびプロビジョニングツールです。 Foremanは、puppet、chef、Ansibleなどのツールを使用して、反復的な構成タスクやその他の構成タスクを実行します。プロビジョニングには、ForemanはDHCP、DNS、TFTP、およびキックスタートファイルを使用します。この記事では、Foremanでパペットツールを使用します。
Foremanは、システム管理者がすべての構成および監査タスクを実行できるダッシュボードを提供します。また、Foremanによって管理されているノードの数や、ノードにプッシュされた構成などのレポートを取得することもできます。
この投稿では、CentOS7システムに最新バージョンのForeman1.24をpuppetでインストールして構成する方法を紹介します。
以下は、Foremanをインストールして構成するサーバーの詳細です。
- OS(オペレーティングシステム)=CentOS 7.x
- IPアドレス=192.168.1.5
- ホスト名=foreman.example.com
- SeLinux=有効
- ファイアウォール=有効
ドメインexample.com用に独自のローカルDNSサーバーがあります。DNSサーバーがない場合は、「 / etc / hosts」にエントリを入力する必要があります。 ‘名前からIPへの解決のためのファイル。
ステップ:1puppetlabsリポジトリを有効にして、フォアマンインストーラーをインストールします
ターミナルを開き、次のコマンドを次々に実行します。
[[email protected] ~]# yum -y install https://yum.puppetlabs.com/puppet5/puppet5-release-el-7.noarch.rpm [[email protected] ~]# yum install epel-release -y [[email protected] ~]# yum install https://yum.theforeman.org/releases/1.24/el7/x86_64/foreman-release-1.24.0-4.el7.noarch.rpm [[email protected] ~]# yum -y install foreman-installer
ステップ:2フォアマンインストーラーを使用してインストールを開始します
フォアマンのインストールを開始するには、コマンド「foreman-installer」を実行します。 、非対話型のインストールになります。インタラクティブなインストールが必要な場合は、「 -i」を使用してください 「foreman-installer-i」のようなコマンドの‘オプション
[[email protected] ~]# foreman-installer
フォアマンのインストールが完了すると、次のような出力が得られます:
フォアマンダッシュボードの初期クレデンシャルが作成され、さらに8140ポートで実行されているpuppetmasterもインストールされていることがわかります。
ダッシュボードにアクセスする前に、OSファイアウォールで必要なポートを開くことをお勧めします。以下のコマンドを次々に実行します。
[[email protected] ~]# firewall-cmd --permanent --add-port=53/tcp success [[email protected] ~]# firewall-cmd --permanent --add-port=67-69/udp success [[email protected] ~]# firewall-cmd --permanent --add-port=80/tcp success [[email protected] ~]# firewall-cmd --permanent --add-port=443/tcp success [[email protected] ~]# firewall-cmd --permanent --add-port=3000/tcp success [[email protected] ~]# firewall-cmd --permanent --add-port=3306/tcp success [[email protected] ~]# firewall-cmd --permanent --add-port=5910-5930/tcp success [[email protected] ~]# firewall-cmd --permanent --add-port=5432/tcp success [[email protected] ~]# firewall-cmd --permanent --add-port=8140/tcp success [[email protected] ~]# firewall-cmd --permanent --add-port=8443/tcp success [[email protected] ~]# firewall-cmd --reload success [[email protected] ~]#
ステップ:3フォアマンダッシュボードにアクセス
フォアマンダッシュボードにアクセスするには、「https://
マイケースのダッシュボードには、次のURLからアクセスできます:https://foreman.example.com
フォアマンのインストール中に作成された初期クレデンシャルを使用する
デフォルトでは、フォアマンサーバー自体がフォアマンダッシュボードに登録されています。ホスト情報を確認するには、
[ホストオプション]->[すべてのホスト]をクリックします。
フォアマンサーバーにntpモジュールをインストールし、ダッシュボードからインポートしましょう。人形がスムーズに機能するためには、NTPが非常に必要です。以下のコマンドを使用して、ntpモジュールをダウンロードします。
[[email protected] ~]# puppet module install puppetlabs-ntp
次に、ダッシュボードからNTPモジュールをインポートします。 [構成]->[クラス]
をクリックします
[インポート]オプションをクリックすると、フォアマンダッシュボードにNTPモジュールがインポートされます。例を以下に示します:
モジュールを選択し、[更新]をクリックします。
「ntp」クラス名をクリックし、「SmartClassParameter」を選択します
独自のNTPサーバーを指定する場合は、オーバーライドオプションを選択します。キータイプの値を「文字列」から「配列」に変更し、[デフォルト値]ボックスでNTPサーバーの名前を指定して、[送信]をクリックします。例を以下に示します。
次に、ntpクラスをホストに追加します。そのためには、[ホスト]オプションに移動し、ホスト(foreman.example.com)を選択して、[編集]をクリックします。 「人形教室」に移動します ‘タブをクリックして‘ +をクリックします ‘ホストにntpクラスを追加し、送信をクリックするオプション
次に、フォアマンサーバーから次のpuppetコマンドを実行して、NTPサービスを自動的に構成します。
[[email protected] ~]# puppet agent --test
次に、ホストのダッシュボードからのレポートを確認します。
[ホストに移動]->[hosts{foreman.example.com}]をクリックします->[レポート]をクリックします。
私たちが知っているように、puppetはSSL証明書を使用して、puppetサーバーとそのノード間の安全な通信をセットアップします。 Puppetサーバーがそのノードの証明書に署名すると、通信のみが発生します。
ドメイン「example.com」にあるパペットノードの自動署名エントリを作成しましょう
Formanダッシュボードで、[インフラストラクチャ] —>[スマートプロキシの選択]—>[アクション]タブの[自動署名]を選択
に移動します。[新規]をクリックして、新しい「自動署名」エントリを作成します。ドメイン名を指定して、[保存]をクリックします。
この時点で、フォアマンサーバーはサーバーを管理する準備ができていると言えます。
ステップ:4フォアマンダッシュボードに新しいホストを追加します。
フォアマンダッシュボードに新しいホストまたはサーバーを追加するには、ホストにpuppetエージェントをインストールし、ホストから次のpuppetコマンドを実行する必要があります。
Ubuntuサーバー{ubuntu-server.example.com– 192.168.1.14}
を追加するとします。[email protected]:~$ sudo apt install puppet [email protected]:~$ puppet agent -td --server=foreman.example.com
次に、ダッシュボードでホストを確認します。
次に、上記の手順でホスト「foreman.example.com」に対して行ったのと同じ方法で、このホストにパペットクラスを追加します。
注:パペットモジュールを削除するコマンド。
[[email protected] ~]# puppet module uninstall --environment=production puppetlabs-ntp Notice: Preparing to uninstall 'puppetlabs-ntp' ... Removed 'puppetlabs-ntp' (v4.2.0) from /etc/puppet/environments/production/modules [[email protected] ~]#
これで記事は終わりです。フィードバックとコメントを共有してください