Info
Content

Установка

Версия 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
Back to top