システム全体で使用するHostsファイルを管理します。HostsファイルはAnsibleサーバ上でGitで管理します。管理を確実にするために、システム管理用に構築したGitLabにも登録しておきます。
記事の目次
Ansibleのサーバ上でHostsファイルを管理する!
Hostsファイルは、Ansibleで配布することを想定しています。Ansibleを稼働させるサーバ上で管理するのが便利だと思います。Hostsファイルを管理するディレクトリを作成し、Hostsファイルをコピーします。
$ mkdir hosts $ cp /etc/hosts . ls -l total 4 -rw-r--r--. 1 usradmin usradmin 3646 Dec 11 07:46 hosts
ローカルのGitリポジトリを構成する!
Git環境の初期設定を行っていない場合は、最初にユーザの情報の設定を行います。
$ git config --global user.email "lab4ict@gmail.com" $ git config --global user.name "Lab4ict Webmaster"
ローカルのGitリポジトリを作成し、hostsファイルを登録します。
$ git init $ git add hosts $ git commit -m "First Version" $ git ls-files hosts
GitLab上にプロジェクトを作成する!
GitLab上にプロジェクトを作成します。今回は、Configuration Managementグループ配下に、hostsというプロジェクトを作成しました。「Settings」→「Repository」→「Protected branches」の項目で、リストされている「main」ブランチの「Allowed to force push」の項目を有効にして「Unproted」ボタンをクリックして、pushを許可しておきます。
GitLab上のプロジェクトにHostsファイルを登録する!
GitLabのRepository画面に表示されているコマンドで、Hostsファイルを登録します。
$ git remote add origin http://gitlab.lab4ict.local/configuration-management/hosts.git $ git branch -M main $ git push -uf origin main Username for 'http://gitlab.lab4ict.local': root Password for 'http://root@gitlab.lab4ict.local': Enumerating objects: 3, done. Counting objects: 100% (3/3), done. Delta compression using up to 2 threads Compressing objects: 100% (2/2), done. Writing objects: 100% (3/3), 1.19 KiB | 1.19 MiB/s, done. Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 To http://gitlab.lab4ict.local/configuration-management/hosts.git + 00ebaaa...0b97456 main -> main (forced update) Branch 'main' set up to track remote branch 'main' from 'origin'.
おわりに
Hostsファイルの管理は、システム管理において重要なので、Gitで管理し、Ansibleで配布可能な管理方法にしてみました。