Установка
Версия 7.0 6
1. Подключение репозитория
https://apt.puppet.com/ - вот тут найти нужный пакет и установить руками через dpkg
Автоматом добавится нужный репозиторий
root@phobos:~# wget https://apt.puppet.com/puppet7-release-buster.deb
--2020-12-26 03:32:57-- https://apt.puppet.com/puppet7-release-buster.deb
Resolving apt.puppet.com (apt.puppet.com)... 13.32.240.20, 13.32.240.14, 13.32.240.53, ...
Connecting to apt.puppet.com (apt.puppet.com)|13.32.240.20|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 11748 (11K) [application/x-debian-package]
Saving to: ‘puppet7-release-buster.deb’
puppet7-release-buster.deb 100%[========================================================================>] 11.47K --.-KB/s in 0s
2020-12-26 03:32:57 (230 MB/s) - ‘puppet7-release-buster.deb’ saved [11748/11748]
root@phobos:~# dpkg -i puppet7-release-buster.deb
Selecting previously unselected package puppet7-release.
(Reading database ... 32694 files and directories currently installed.)
Preparing to unpack puppet7-release-buster.deb ...
Unpacking puppet7-release (7.0.0-1buster) ...
Setting up puppet7-release (7.0.0-1buster) ...
root@phobos:~# apt update
Hit:1 http://security.debian.org/debian-security buster/updates InRelease
Hit:2 http://mirror.yandex.ru/debian buster InRelease
Get:3 http://apt.puppetlabs.com buster InRelease [99.2 kB]
Get:4 http://apt.puppetlabs.com buster/puppet7 amd64 Packages [8,108 B]
Get:5 http://apt.puppetlabs.com buster/puppet7 all Packages [2,328 B]
Fetched 110 kB in 1s (123 kB/s)
Reading package lists... Done
Building dependency tree
Reading state information... Done
All packages are up to date.
root@phobos:~#
Суть этого пакета вот в чем
root@two:~/puppet6# dpkg -c puppet6-release-buster.deb
drwxr-xr-x root/root 0 2021-02-04 22:48 ./
drwxr-xr-x root/root 0 2021-02-04 22:48 ./etc/
drwxr-xr-x root/root 0 2021-02-04 22:48 ./etc/apt/
drwxr-xr-x root/root 0 2021-02-04 22:48 ./etc/apt/sources.list.d/
-rw-r--r-- root/root 74 2021-02-04 22:48 ./etc/apt/sources.list.d/puppet6.list
drwxr-xr-x root/root 0 2021-02-04 22:48 ./etc/apt/trusted.gpg.d/
-rw-r--r-- root/root 10352 2021-02-04 22:48 ./etc/apt/trusted.gpg.d/puppet6-keyring.gpg
drwxr-xr-x root/root 0 2021-02-04 22:48 ./usr/
drwxr-xr-x root/root 0 2021-02-04 22:48 ./usr/share/
drwxr-xr-x root/root 0 2021-02-04 22:48 ./usr/share/doc/
drwxr-xr-x root/root 0 2021-02-04 22:48 ./usr/share/doc/puppet6-release/
-rw-r--r-- root/root 44 2021-02-04 22:48 ./usr/share/doc/puppet6-release/bill-of-materials
-rw-r--r-- root/root 147 2021-02-04 22:48 ./usr/share/doc/puppet6-release/changelog.Debian.gz
Установка сервера
apt install puppetserver
Автоматом подтянутся нужные java-пакеты
systemctl start/enable puppetserver
Может не стартануть, смотри ниже про память
$ cat /var/log/puppetlabs/puppetserver/puppetserver_err_pid24969.log
...
There is insufficient memory for the Java Runtime Environment to continue
...
Конфигурирование JVM для puppetserver
Так как паппет на джаве, то нужно обязательно изменить настройки потребления памяти для него (а то не запустится на слабой машине, а на мощной отберет неоправданно много ресурсов)
Настройки джавы указываются в /etc/default/puppetserver
Меняем
JAVA_ARGS="-Xms2g -Xmx2g -Djruby.logger.class=com.puppetlabs.jruby_utils.jruby.Slf4jLogger"
На
JAVA_ARGS="-Xms256m -Xmx256m -Djruby.logger.class=com.puppetlabs.jruby_utils.jruby.Slf4jLogger"
Установка агента
apt install puppet-agent
Следом за установкой предлагается выполнить такую команду
root@phobos:~# sudo /opt/puppetlabs/bin/puppet resource service puppet ensure=running enable=true
Notice: /Service[puppet]/ensure: ensure changed 'stopped' to 'running'
service { 'puppet':
ensure => 'running',
enable => 'true',
provider => 'systemd',
}
Конфигурирование PATH
При установке добавляется скрипт /etc/profile.d/puppet-agent.sh
, он автоматом правит PATH при логине
Но можно и руками добавить export PATH=/opt/puppetlabs/bin:$PATH
в какой-нибудь .bashrc
Конфигурирование агента
Изменить конфигурацию агента можно изменив файл /etc/puppetlabs/puppet/puppet.conf
Или можно воспользоваться командой puppet config set
puppet config set server puppet.vandud.ru --section main
puppet config set dns_alt_names phobos.vandud.ru --section main
Подключение агента к серверу и подпись сертификатов
На клиенте с настроенным конфигом выполнить
puppet ssl bootstrap
На сервере подписать сертификат
sudo puppetserver ca sign --certname <name>
И еще раз на клиенте
puppet ssl bootstrap
root@phobos:/opt/puppetlabs/bin# ls -lh
total 0
lrwxrwxrwx 1 root root 24 Dec 14 11:35 facter -> ../puppet/bin/wrapper.sh
lrwxrwxrwx 1 root root 24 Dec 14 11:35 hiera -> ../puppet/bin/wrapper.sh
lrwxrwxrwx 1 root root 24 Dec 14 11:35 puppet -> ../puppet/bin/wrapper.sh
lrwxrwxrwx 1 root root 44 Dec 12 06:50 puppetserver -> ../server/apps/puppetserver/bin/puppetserver
No Comments