Con rối - Xác thực thiết lập con rối
Trong Puppet, thiết lập có thể được kiểm tra cục bộ. Do đó, khi chúng ta đã thiết lập nút và nút chính của Con rối, đã đến lúc xác thực thiết lập cục bộ. Chúng tôi cần cài đặt cục bộ Vagrant và hộp Vagrant, giúp kiểm tra thiết lập cục bộ.
Thiết lập máy ảo
Vì chúng tôi đang thử nghiệm thiết lập cục bộ, chúng tôi thực sự không yêu cầu một trình điều khiển Con rối đang chạy. Điều này có nghĩa là không cần thực sự chạy Puppet master trên máy chủ, chúng ta có thể chỉ cần sử dụng Puppet để áp dụng lệnh xác thực thiết lập Puppet. Lệnh áp dụng con rối sẽ áp dụng các thay đổi từlocal/etc/puppet tùy thuộc vào tên máy ảo trong tệp cấu hình.
Bước đầu tiên chúng tôi cần thực hiện để kiểm tra thiết lập là xây dựng Vagrantfile và khởi động máy và lắp /etc/puppetthư mục vào vị trí. Tất cả các tệp được yêu cầu sẽ được đặt bên trong hệ thống kiểm soát phiên bản với cấu trúc sau.
Cấu trúc thư mục
- manifests
\- site.pp
- modules
\- your modules
- test
\- update-puppet.sh
\- Vagrantfile
- puppet.conf
Tệp Vagrant
# -*- mode: ruby -*-
# vi: set ft = ruby :
Vagrant.configure("2") do |config|
config.vm.box = "precise32"
config.vm.box_url = "http://files.vagrantup.com/precise64.box"
config.vm.provider :virtualbox do |vb|
vb.customize ["modifyvm", :id, "--memory", 1028, "--cpus", 2]
end
# Mount our repo onto /etc/puppet
config.vm.synced_folder "../", "/etc/puppet"
# Run our Puppet shell script
config.vm.provision "shell" do |s|
s.path = "update-puppet.sh"
end
config.vm.hostname = "localdev.example.com"
end
Trong đoạn mã trên, chúng ta đã sử dụng Shell provisioner, trong đó chúng ta đang cố gắng chạy tập lệnh Shell có tên update-puppet.sh. Tập lệnh có trong cùng thư mục nơi chứa tệp Vagrant và nội dung của tập lệnh được liệt kê bên dưới.
!/bin/bash
echo "Puppet version is $(puppet --version)"
if [ $( puppet --version) != "3.4.1" ]; then
echo "Updating puppet"
apt-get install --yes lsb-release
DISTRIB_CODENAME = $(lsb_release --codename --short)
DEB = "puppetlabs-release-${DISTRIB_CODENAME}.deb"
DEB_PROVIDES="/etc/apt/sources.list.d/puppetlabs.list"
if [ ! -e $DEB_PROVIDES ]
then
wget -q http://apt.puppetlabs.com/$DEB
sudo dpkg -i $DEB
fi
sudo apt-get update
sudo apt-get install -o Dpkg::Options:: = "--force-confold"
--force-yes -y puppet
else
echo "Puppet is up to date!"
fi
Xử lý thêm, người dùng cần tạo tệp kê khai bên trong thư mục Manifests với tên site.pp sẽ cài đặt một số phần mềm trên VM.
node 'brclelocal03.brcl.com' {
package { ['vim','git'] :
ensure => latest
}
}
echo "Running puppet"
sudo puppet apply /etc/puppet/manifests/site.pp
Khi người dùng đã có tập lệnh ở trên sẵn sàng với cấu hình tệp Vagrant được yêu cầu, người dùng có thể cd vào thư mục thử nghiệm và chạy vagrant up command. Thao tác này sẽ khởi động một máy ảo mới, Sau đó, cài đặt Puppet và sau đó chạy nó bằng cách sử dụng tập lệnh Shell.
Sau đây sẽ là đầu ra.
Notice: Compiled catalog for localdev.example.com in environment production in 0.09 seconds
Notice: /Stage[main]/Main/Node[brclelocal03.brcl.com]/Package[git]/ensure: created
Notice: /Stage[main]/Main/Node[brcllocal03.brcl.com]/Package[vim]/ensure: ensure changed 'purged' to 'latest'
Xác thực nhiều cấu hình máy
Nếu chúng ta cần kiểm tra cục bộ cấu hình của nhiều máy, có thể thực hiện đơn giản bằng cách thực hiện thay đổi trong tệp cấu hình Vagrant.
Tệp Vagrant được định cấu hình mới
config.vm.define "brclelocal003" do |brclelocal003|
brclelocal03.vm.hostname = "brclelocal003.brcl.com"
end
config.vm.define "production" do |production|
production.vm.hostname = "brcleprod004.brcl.com"
end
Giả sử chúng ta có một máy chủ sản xuất mới, cần cài đặt tiện ích SSL. Chúng tôi chỉ cần mở rộng tệp kê khai cũ với cấu hình sau.
node 'brcleprod004.brcl.com' inherits 'brcleloacl003.brcl.com' {
package { ['SSL'] :
ensure => latest
}
}
Sau khi thực hiện các thay đổi cấu hình trong tệp kê khai, chúng tôi chỉ cần di chuyển đến thư mục thử nghiệm và chạy lệnh vagrant up cơ bản sẽ hiển thị cả hai brclelocal003.brcl.com và brcleprod004.brcl.commáy móc. Trong trường hợp của chúng tôi, chúng tôi đang cố gắng đưa ra máy sản xuất có thể được thực hiện bằng cách chạyvagrant up production command. Máy sẽ tạo một máy mới với tên sản xuất như được định nghĩa trong tệp Vagrant và nó sẽ có gói SSL được cài đặt trong đó.