Foremanは、物理サーバーと仮想サーバーのライフサイクルを管理するためのオープンソースソフトウェアです。これは、システム管理者がオーケストレーションと監視に対してサーバーのプロビジョニングと構成を実行するのに役立つサーバー管理ソリューションです。 Foremanは、Puppet、Chef、Salt Stack、Ansibleなどのプロビジョニングツールのサポートを提供します。
このガイドでは、Ubuntuサーバー18.04へのForemanのインストールと構成を紹介します。 UbuntuServer18.04にPuppetForemanインストーラーを使用してForemanをインストールします。
前提条件
- Ubuntu Server 18.04
- RAMメモリ4/2GB
何をしますか?
- FQDNの設定
- Puppet5をインストールする
- フォアマンをインストールする
- UFWファイアウォールのセットアップ
- フォアマンダッシュボードにアクセス
- フォアマンにNTPモジュールを追加する
- パペットエージェントを実行する
まず、ホスト名を変更してForemanサーバーのFQDN(完全修飾ドメイン名)を構成し、「/ etc/hosts」ファイルを編集する必要があります。
次のコマンドを使用してシステムのホスト名を変更し、独自のドメイン名を変更します。
hostnamectl set-hostname server.hakase-labs.io
次に、vimエディターを使用して「/ etc/hosts」ファイルを編集します。
vim /etc/hosts
IPアドレスとドメイン名を自分のものに変更して貼り付けます。
10.9.9.20 server.hakase-labs.io server
ファイルを保存して閉じます。
次に、次のコマンドを実行して、サーバーFQDNのIPアドレスを取得していることを確認します。
ping $(hostname -f) -c 3
このガイドでは、Puppetリポジトリを追加してPuppetパッケージをUbuntuシステムにインストールする必要があります。 Foremanが提供するpuppetモジュールインストーラスクリプトを使用してForemanを自動的にインストールするためです。
ca-certificateパッケージをインストールし、Puppetリポジトリパッケージをダウンロードします。
sudo apt install ca-certificates -y
cd /tmp && wget https://apt.puppetlabs.com/puppet5-release-bionic.deb
次に、次のコマンドを使用してpuppetリポジトリを追加します。
sudo dpkg -i /tmp/puppet5-release-bionic.deb
フォアマンをシステムにインストールするには、フォアマンリポジトリを追加する必要があります。
次のコマンドを実行して、Foremanリポジトリを追加します。
echo "deb http://deb.theforeman.org/ bionic 1.20" | sudo tee /etc/apt/sources.list.d/foreman.list
echo "deb http://deb.theforeman.org/ plugins 1.20" | sudo tee -a /etc/apt/sources.list.d/foreman.list
次に、フォアマンキーを追加します。
wget -q https://deb.theforeman.org/pubkey.gpg -O- | sudo apt-key add -
その後、ubuntuリポジトリを更新し、次のコマンドを使用して「foreman-installer」パッケージをインストールします。
sudo apt update
sudo apt install foreman-installer -y
これで、foreman-installerパッケージがインストールされました。以下のinstallerコマンドを実行してください。
sudo foreman-installer
インストールが完了すると、以下のようにForemanダッシュボードの管理者ユーザーとパスワードを取得します。
フォアマンのインストール後、フォアマンが必要とするいくつかのポートを開く必要があります。
以下のコマンドに従ってすべてのufwを実行します。
ufw allow http
ufw allow https
ufw allow ssh
ufw allow 69/udp
ufw allow 8140/tcp
その後、ufwファイアウォールサービスを開始して有効にします。
ufw enable
次に、Webブラウザーを開き、アドレスバーにフォアマンサーバーのIPまたはドメイン名を入力します。私の場合は' https://server.hakase-labs.io/ '。
そして、フォアマンログインページが表示されます。
ユーザー「admin」と上部に表示されているパスワードを使用してログインすると、フォアマンダッシュボードが表示されます。
NTPモジュールは、時間を正確に保つためにパペットマスターによって必要とされました。また、フォアマンを使用して、フォアマンホスト(パペットマスターとしても機能)上のNTPサービスを管理します。
-NTPを管理するためのPuppetモジュールをインストールします
次のコマンドを使用して、NTPサービスを管理するためのpuppetモジュールをフォアマンホストにインストールします。
sudo /opt/puppetlabs/bin/puppet module install puppetlabs/ntp
そして、以下のような結果が得られます。
-NTPPuppetモジュールを有効にして構成する
puppetモジュールのインストール後、Foremanダッシュボードを使用してNTPモジュールを有効にして構成する必要があります。
フォアマンダッシュボードにログインし、左側のメニューをクリックします。
構成-パペット-クラス。
[server.hakase-labs.ioから環境をインポート]ボタンをクリックします。
チェックボックスをオンにしてNTPpuppetモジュールを有効にし、[更新]ボタンをクリックします。
NTPサービスを管理するためのpuppetモジュールが有効になりました。
その後、独自のカスタムサーバーを使用してデフォルトのNTPサーバー構成を上書きします。
[パペットクラス]ページで、NTPモジュールをクリックします。
次に、[スマートクラスパラメータ]タブをクリックしてから、左側の[サーバー]パラメータをクリックします。
[上書き]チェックボックスをオンにし、キーの種類を[配列]に変更してから、カスタムNTPサーバープールでデフォルト値を入力します。
["0.id.pool.ntp.org","1.id.pool.ntp.org","2.id.pool.ntp.org","3.id.pool.ntp.org"]
下部にある[送信]ボタンをクリックすると、NTPパペットモジュールの構成が完了します。
-Puppetモジュールを使用するようにホストを構成します
左側の[ホスト]メニューを選択してフォアマンで使用可能なすべてのホストを表示し、[すべてのホスト]をクリックします。
その後、NTP puppetモジュールを適用するホストを選択し、[編集]ボタンをクリックします。
[パペットクラス]タブをクリックすると、フォアマンで利用可能なすべてのパペットモジュールを取得できます。 [使用可能なクラス]で、[NTPクラス]モジュールを展開し、[ntp]の横のプラス記号をクリックします。
次に、[送信]ボタンをクリックすると、NTPサーバーを管理するためのパペットモジュールがフォアマンパペットマスターサーバーに追加されます。
Foremanサーバーにログインし、以下のpuppetコマンドを実行します。
sudo /opt/puppetlabs/bin/puppet agent --test
そして、以下のような結果が得られます。
サーバーは、カスタム構成を使用してNTPサービスを自動的にインストールおよび構成します。
完了したら、「/ etc/ntp.conf」構成ファイルを確認します。
cat /etc/ntp.conf
Foremanダッシュボードですでに定義されているカスタムサーバープールを使用して、puppetによって管理されるNTP構成を取得するようにしてください。