Rhcsa-rhce-playbook — различия между версиями

Материал из pNp Wiki
Перейти к: навигация, поиск
(Сервер)
Строка 71: Строка 71:
 
$
 
$
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
 +
 +
=== Дальнейшие действия ===
 +
После разворачивания виртуальных машин, необходимо информацию о них занести в DNS, на сервере <code>vm-03</code>:
 +
  
 
== Ссылки ==
 
== Ссылки ==
 
[https://docs.ansible.com Документация для Ansible]<br />
 
[https://docs.ansible.com Документация для Ansible]<br />
 
[https://natenka.gitbooks.io/ansible-dlya-setevih-inzhenerov/content/ Ansible для сетевых инженеров]
 
[https://natenka.gitbooks.io/ansible-dlya-setevih-inzhenerov/content/ Ansible для сетевых инженеров]

Версия 09:49, 20 ноября 2018

Ansible playbook для подготовки к экзаменам RHCSA/RHCE (EX200/EX300)

Общая информация

Плейбук разворачивает окружение для подготовки к экзамену RHCSA-RHCE (EX200/EX300). Пользователь, который разворачивает плейбук должен иметь доступ к локальной машине по протоколу ssh

  • Domain: virual.lab
  • Network: 192.168.10.0/24

Предполагается, что пользовательские виртуальные машины носят название: и vm-02, сервер называется vm-03 и необходим для работы DNS, LDAP и предоставления тестовых пользователей. Все задачи по выполнению экзамена происходят на пользовательских виртуальных машинах. Предполагается следующая адресация:

  • vm-01 - 192.168.10.8
  • vm-02 - 192.168.10.9
  • vm-03 - 192.168.10.10

Пользовательские машины

  • Виртуальная машина с двумя сетевыми интерфейсами, двумя жесткими дисками
  • Установленные пакеты в виртуальных машинах: nfs-utils, krb5-workstation
  • пароль root - test1234

Машина разворачивается следующим образом:

ansible-playbook -v /home/andy/tmp/rhcsa-rhce/deploy_vm.yml -i /home/andy/tmp/rhcsa-rhce/inventories/localhost/hosts -u andy -k --become-method=su -K -e 'lastoctet=9 vmname=vm-02 isopath=/home/andy/Downloads/RHEL7/rhel-server-7.0-x86_64-dvd.iso username=andy'

При запуске обязательно следует передавать параметры:

  • lastoctet - число присваивается последнему октету внутренней сети
  • vmname - имя виртуальной машины
  • vmname - путь к iso файлу, с образом RHEL7.

Использовать именно RHEL7 именно версии 7.0, не обязательно, можно взять и версию 7.x, либо какую-нибудь СentOS7.x, однако, из-за обновления некоторых программ, возможно иное поведение, отличное от старых версий. Например, NetworkManager в RHEL/CentOS 7.1 и выше знает про опцию ipv4.gateway, в версии 7.0 она прописывается после опции ipv4.adresses через пробел. Так же, firewalld в версии RHEL/CentOS 7.1 и выше имеет большее количество шаблонов сервисов. Например:
Версия 7.0

# cat /etc/redhat-release 
Red Hat Enterprise Linux Server release 7.0 (Maipo)
# firewall-cmd --get-services
amanda-client bacula bacula-client dhcp dhcpv6 dhcpv6-client dns ftp high-availability http https imaps ipp ipp-client ipsec kerberos kpasswd ldap ldaps libvirt libvirt-tls mdns mountd ms-wbt mysql nfs ntp openvpn pmcd pmproxy pmwebapi pmwebapis pop3s postgresql proxy-dhcp radius rpc-bind samba samba-client smtp ssh telnet tftp tftp-client transmission-client vnc-server wbem-https

Версия 7.5

# cat /etc/redhat-release 
CentOS Linux release 7.5.1804 (Core) 
# firewall-cmd --get-services
RH-Satellite-6 amanda-client amanda-k5-client bacula bacula-client bitcoin bitcoin-rpc bitcoin-testnet bitcoin-testnet-rpc ceph ceph-mon cfengine condor-collector ctdb dhcp dhcpv6 dhcpv6-client dns docker-registry dropbox-lansync elasticsearch freeipa-ldap freeipa-ldaps freeipa-replication freeipa-trust ftp ganglia-client ganglia-master high-availability http https imap imaps ipp ipp-client ipsec iscsi-target kadmin kerberos kibana klogin kpasswd kshell ldap ldaps libvirt libvirt-tls managesieve mdns mosh mountd ms-wbt mssql mysql nfs nfs3 nrpe ntp openvpn ovirt-imageio ovirt-storageconsole ovirt-vmconsole pmcd pmproxy pmwebapi pmwebapis pop3 pop3s postgresql privoxy proxy-dhcp ptp pulseaudio puppetmaster quassel radius rpc-bind rsh rsyncd samba samba-client sane sip sips smtp smtp-submission smtps snmp snmptrap spideroak-lansync squid ssh synergy syslog syslog-tls telnet tftp tftp-client tinc tor-socks transmission-client vdsm vnc-server wbem-https xmpp-bosh xmpp-client xmpp-local xmpp-server

Сервер

  • Виртуальная машина с двумя сетевыми интерфейсами, двумя жесткими дисками
  • Учетные записи:

1. SSH
root/test1234
2. LDAP
cn=admin,dc=virtual,dc=lab/123321
cn=lisa,ou=users,dc=virtual,dc=lab/elizabeth1
cn=mary,ou=users,dc=virtual,dc=lab/maria1
cn=randy,ou=users,dc=virtual,dc=lab/randy1
3. Kerberos
krbadmin/test1234


Машина разворачивается следующим образом:

ansible-playbook -v /home/andy/tmp/rhcsa-rhce/deploy_srv.yml -i /home/andy/tmp/rhcsa-rhce/inventories/localhost/hosts -u andy -k --become-method=su -K -e 'lastoctet=10 vmname=vm-03 isopath=/home/andy/Downloads/RHEL7/rhel-server-7.0-x86_64-dvd.iso playbookpath=/home/andy/tmp/rhcsa-rhce/ username=andy'

Утилита string2hex.pl служит для создания файла service.keyfile и вызывается следующим образом:

$ ./string2hex.pl -s cn=krbadmin,ou=users,dc=virtual,dc=lab -p test1234
cn=krbadmin,ou=users,dc=virtual,dc=lab#{HEX}7465737431323334
$


Дальнейшие действия

После разворачивания виртуальных машин, необходимо информацию о них занести в DNS, на сервере vm-03:


Ссылки

Документация для Ansible
Ansible для сетевых инженеров