RHCSA-Übungen und Aufgaben (9)

eins,

1. Verwenden Sie das Debug-Modul, um die IP-Adresse des DNS-Servers des aktuell verwalteten Hosts anzuzeigen.

Job-Code:

---
- host: all
  tasks:
  	- debug:
  		var: ansible_facts.default_ipv4.address

2. Übertragen Sie die Datei „createuser.fact“ als benutzerdefinierte Faktvariablendatei (/etc/ansible/facts.d/) auf den verwalteten Host. Der Inhalt der Datei lautet wie folgt:

[general]
username = wujing
mima = $6$UAxRbhT3kyc=$AxQfYYP8dhCv750tH.rmrmv690ugT/lZU8OGEqSs7xZR0rEvSIurs4w/W88wUiY3hNnZBWS4uCaGUCdztI9An.

Erstellen Sie einen Benutzer mit den Variablen username und mima und legen Sie das Passwort des Benutzers fest.

Job-Code:

---
- hosts: all
  tasks:
  	- file:
  		path: /etc/ansible/facts.d/
  		state: directory
  		recurse: yes
  	- name: copy file
  	  copy:
		src: createuser.fact
		dest: /etc/ansible/facts.d/createuser.fact
	- debug:
		var: ansible_facts.ansible_local.createuser.general.username
	- name: create user
	  user:
	  	name: "{
    
    { ansible_fact.ansible_local.createuser.general.username }}"
	  	password: "{
    
    { ansible_fact.ansible_local.createuser.general.mima }}"

3. Schreiben Sie den folgenden Inhalt in die Datei /home/file des verwalteten Hosts:

hostname=当前主机的名字
memory=当前主机的内存大小
BIOS version=当前主机的bios的版本
distribution=当前linux主机的发行版本信息
Size of disk device is 当前主机的磁盘大小

Bearbeiten Sie debug.yml, also „vim debug.yml“.

---
- host: all
  tasks:
  	- debug:
  	    msg: "{
    
    { ansible_facts.memtotal_mb }} {
    
    { ansible_facts.bios_version }} {
    
    { ansible_facts.distribution }} {
    
    { ansible_facts.devices.nvme0n1.size }}"

Job-Code:

---
- hosts: al
  tasks:
  	- shell: touch /home/file
  	- name: hostname
  	  lineinfile:
  	  	path: /home/file
  	  	regexp: '^hostname'
  	  	line: hostname={
    
    {
    
     ansible_facts.hostname }}
  	- name: memory
  	  lineinfile:
  	  	path: /home/file
  	  	regexp: '^memory'
  	  	line: memory={
    
    {
    
     ansible_facts.memtotal_mb }} 
	- name: bios_version
  	  lineinfile:
  	  	path: /home/file
  	  	regexp: '^bios_version'
  	  	line: bios_version={
    
    {
    
     ansible_facts.bios_version }}  
  	- name: distribution
  	  lineinfile:
  	  	path: /home/file
  	  	regexp: '^distribution'
  	  	line: bios_version={
    
    {
    
     ansible_facts.distribution }}
  	- name: devices.nvme0n1.size
  	  lineinfile:
  	  	path: /home/file
  	  	regexp: '^devices.nvme0n1.size'
  	  	line: bios_version={
    
    {
    
     ansible_facts.devices.nvme0n1.size }}	  	

zwei,

1. Wenn die Root-Partitionskapazität des aktuell verwalteten Hosts größer als 1 GB ist, installieren Sie die Softwarepakete httpd und mariadb-server. Wenn die Dienste httpd und mariadb nicht ausgeführt werden, führen Sie die Dienste aus.

Job-Code:

---
- hosts: all
  tasks:
  	- name: install pkg
  	  yum:
  	  	name:
  	  	  - httpd
  	  	  - mariadb-server
  	  when: item.mount == "/" and item.size_total > 1000000000
  	  loop: "{
    
    { ansible_facts.mounts }}"
  	- name: start service
  	  service:
  	  	name: "{
    
    { item }}"
  	  	state: started
  	  loop:
  	  	- httpd
  	  	- mariadb

2. Kopieren Sie die Datei example.conf in das Verzeichnis /etc/httpd/conf.d/. Der Inhalt der Datei example.conf lautet wie folgt:

<virtualhost *:80>
servername 0.0.0.0
documentroot /var/www/html
</virtualhost>

<directory /var/www/html>
allowoverride none
require all granted
</directory>

Wenn die Dateien im Verzeichnis /etc/httpd/conf.d/ aktualisiert werden, starten Sie den httpd-Dienst neu. Der Inhalt der Konfigurationsdatei /var/www/html/index.html lautet wie folgt:

zuoye

Job-Code:

---
- host: node02
  tasks:
   - copy:
   		src: example.conf
   		dest: /etc/httpd/conf.d/example.conf
   		hostify: restart httpd
   - copy:
   	   content: "zuoye\n"
   	   dext: /var/www/html/index.html
   - service: 
     	name: firewalld
     	state: stopped
  
  handlers:
  	- name: restart httpd
  	  service:
  	  	name: httpd
  	  	state: restarted

„vim example.conf“

<virtualhost *:80>
servername 0.0.0.0
documentroot /var/www/html
</virtualhost>

<directory /var/www/html>
allowoverride none
require all granted
</directory>

3. Erstellen Sie ein Playbook mit den folgenden Anforderungen:

​ Dieses Playbook wird auf allen kontrollierten Knoten ausgeführt.
Dieses Playbook überschreibt den Inhalt der Datei /etc/message.
Auf den Hosts in der Dev-Hostgruppe lautet der Inhalt: Entwicklung.
Auf den Hosts in der Testhostgruppe lautet der Inhalt: Prüfen.

Job-Code:

---
- host: all
  tasks:
  	- copy:
  	  	content: "development"
  	  	dest: /etc/message
  	 when: inventory_hostname in groups.dev
    - copy:
  	  	content: "Test "
  	  	dest: /etc/message
  	 when: inventory_hostname in groups.test

Supongo que te gusta

Origin blog.csdn.net/Nirvana92/article/details/128364334
Recomendado
Clasificación