# はじめに
こんにちは、FundastA Inc.でインフラエンジニアをやっている まるちゃん です。
Puppet に興味を持って・・いざ調べてみると・・・日本語の記事がまったくない🤯🤯 ならば、自分で用意するしかない!と思い、書き始めました。
注意点としては、バージョン違いで、若干違うところがありますので気をつけてください。
いきなり、Puppet Server ではなく、コツコツと Puppet Agent から入門をオススメ致します。
# ストーリー
# Puppet とは?!
Puppet(パペット)とは、オープンソースの構成管理ツールです。
「パッケージインストール」「サーバ構成更新」「ユーザー追加」などインフラストラクチャの管理を自動化するツールを提供します。
「Linux」「UNIX」「Windows」をサポートし、システムの自動管理エンジンとして一元化された仕様に基づいて管理タスクを実行します。
そして、今回から始めるストーリーとしては、OSS版 Puppet を使って環境を構築して実際に運用して行きたいと思います。
# Puppet Agent 環境
Puppet Agent 内で全て作業を行うためと VScode リモートで作業を行うため、スペックを少しだけ上げてます。
| 項目 | 値 | メモ |
|---|---|---|
| Linux | CentOS 7 Minimal | |
| CPU | 4 vCPUs | 最低2コア以上 |
| Memory | 8 GB | 最低4 GB以上 |
| Storage | 16 GB | 最低 8GB以上 |
| Domain | test91.tabiya.local | |
| IP | 192.168.2.91 | |
| Puppet Agent Version | 4.10.12 |
# 画面について解説
| 項目 | 説明 |
|---|---|
# | root ユーザーで作業 |
$ | 一般 ユーザーで作業 |
=> | 実行結果 |
# echo "Puppet"
=> Puppet
# OSS版 Puppet パッケージの導入
基本的な作業ユーザーは、 【root】ユーザーになります。
# rpm -Uvh https://yum.puppetlabs.com/puppetlabs-release-pc1-el-7.noarch.rpm
# yum install puppet-agent
# source /etc/profile
# puppet --version
=> 4.10.12
- 公式レポジトリから、ご利用の環境に合ったパッケージをインストール
- Puppet Agent の導入
- profile を有効
- 導入をした Puppet のバージョンを確認
- 4.10.12
# Puppet 動作確認
動作確認として、 [puppet apply] というサブコマンドに対してオプションを付けて実行
# puppet apply --test -e 'notice("Hello Puppet World")'
=> Notice: Scope(Class[main]): Hello Puppet World
=> Notice: Compiled catalog for ?>test91.tabiya.local in environment production in 0.06 seconds
=> Info: Applying configuration version '1584269418'
=> Notice: Applied catalog in 0.01 seconds
# 最後に
実際のソース画面の一例として
package {'httpd':
ensure => installed,
}
file {'test.conf':
# ensure => file,
path => '/etc/httpd/conf/httpd.conf',
owner => root,
group => root,
mode => '644',
source => '/opt/httpd/test.conf',
require => Package['httpd'],
}
service {'httpd':
# ensure => stopped,
ensure => running,
enable => true,
subscribe => File['/etc/httpd/conf/httpd.conf'],
}
次回の更新をお楽しみにください。

