[PYTHON] [Ansible Installationsverfahren] Von der Installation bis zur Ausführung des Playbooks

Was Sie mit diesem Beitrag erreichen können

Bauumgebung

Verbreitet

Verfassung

Was ist ansible

Übersicht / Funktionen

ansible Begriff

Term Description
Inventory Geben Sie den Zielknoten an. INI-Format
Playbook Beschreiben des Verarbeitungsflusses, den Sie auf dem Zielknoten ausführen möchten. YAML-Format

Umgebung

Controller / Ziel: Allgemeine Benutzer erstellen (ansible)

Erstellt von allgemeinen Benutzern


useradd -s /bin/bash -m ansible
passwd ansible
#Sudo-Privilegien gewähren
echo "ansible ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers.d/ansible

Controller: Authentifizierungseinstellung für öffentlichen Schlüssel

su - ansible
cd ~
ssh-keygen
ssh-copy-id -i .ssh/id_rsa.pub 192.168.56.152 (Zielknoten-IP-Adresse)

Controller: Installieren Sie die erforderlichen Pakete

Installationsbefehl


su - ansible
sudo yum -y install epel-release
sudo yum -y install gcc libffi-devel python-devel openssl-devel python-pip
sudo pip install --upgrade pip

#Nicht erforderlich, wenn virtualenv nicht verwendet wird
sudo pip install virtualenv
#Nicht erforderlich, wenn virtualenv nicht verwendet wird
cd ~
virtualenv venv
source venv/bin/activate

pip install "ansible==2.2"

Controller: Erstellen eines Arbeitsverzeichnisses

Arbeitsverzeichnis erstellen


su - ansible
cd ~
mkdir -p practice/{inventory,{group,host}_vars,roles,playbooks}
touch practice/{inventory/inventory.ini,group_vars/all.yml}

Controller: Inventardatei erstellen

Erstellen einer Inventardatei


su - ansible
cd ~/practice
vim inventory/inventory.ini

inventory/inventory.ini


[practice_servers]
practice01 ansible_host=192.168.56.152 #Target Node 

Controller: Bestätigte Kommunikationsbestätigung

Kommunikationsbestätigung


#Bestätigen Sie, dass die Serverinformationen des Zielknotens als Antwort zurückgegeben werden
ansible practice_servers -i inventory/inventory.ini -m setup

Controller: Playbook-Erstellung

Playbook-Erstellung


su - ansible
cd ~/practice
vim playbooks/initial_setting.yml

~/practice/playbooks/initial_setting.yml


---
- hosts: practice_servers
  become: yes #Sudo-Implementierung auf dem Zielserver
  become_user: root #Wird im Auftrag des Root-Benutzers durchgeführt

  tasks:
    - name: 1. Set hostname
      hostname:
        name: practice01

    - name: 2. Install required packages
      yum:
        name: "{{ item }}"
      with_items: 
        - vim
        - git

Führen Sie das Playbook aus

Führen Sie das Playbook aus


su - ansible
cd ~/practice
ansible-playbook -i inventory/inventory.ini playbooks/initial_setting.yml

Referenz

Vagrantfile für den Bau verwendet

Controller


Vagrant.configure("2") do |config|
  # Basic VM settings
  config.vm.box = "CentOS7.0"
  config.vm.box_download_insecure = true
  config.vm.hostname = 'controller'
  config.vm.network "private_network",ip:"192.168.56.151"
	config.vm.network :public_network, bridge: 'en0: Wi-Fi (AirPort)'
  config.vm.network :forwarded_port, id: "ssh", guest: 22, host: 2151
	config.ssh.insert_key = false

  # Virtual box setting
  config.vm.provider "virtualbox" do |vb|
    vb.customize ["modifyvm", :id, "--ostype", "Redhat_64"]
    vb.name = "ansible_controller"
    vb.memory = 512
    vb.cpus = 1
  end
end

Target_Node


Vagrant.configure("2") do |config|
  # Basic VM settings
  config.vm.box = "CentOS7.0"
  config.vm.box_download_insecure = true
  config.vm.hostname = 'practice'
  config.vm.network "private_network",ip:"192.168.56.152"
	config.vm.network :public_network, bridge: 'en0: Wi-Fi (AirPort)'
  config.vm.network :forwarded_port, id: "ssh", guest: 22, host: 2152
	config.ssh.insert_key = false

  # Virtual box setting
  config.vm.provider "virtualbox" do |vb|
    vb.customize ["modifyvm", :id, "--ostype", "Redhat_64"]
    vb.name = "practice"
    vb.memory = 512
    vb.cpus = 1
  end
end

Recommended Posts

[Ansible Installationsverfahren] Von der Installation bis zur Ausführung des Playbooks
Einführung in Scapy ① (Von der Installation bis zur Ausführung von Scapy)
Von der Bearbeitung bis zur Ausführung
Von der Einführung von Pyethapp bis zur Vertragsabwicklung
"Durchschnitt der Summen von 1 bis 10" und seine Ausführungsgeschwindigkeit
Erklärung von der Installation von Sphinx bis zur Verwendung eines externen Themas (Bootswatch)
Vorgehensweise für die Ajax-Kommunikation von HTML zu JSON auf dem API-Server
Von der Installation von Elasticsearch bis zur Dateneingabe
OpenMPI-Installation Vom Download bis zum Bestehen
Python (vom ersten Mal bis zur Ausführung)
PySpark 1.5.2 + Elasticsearch 2.1.0 Installationsverfahren und Ausführung
Erste Schritte mit Poetry Von der Installation über die Ausführung bis hin zur Versionsverwaltung
Zusammenfassung des Installationsverfahrens für Oracle Database XE
[Hinweis] [PyTorch] Von der Installation bis zur einfachen Verwendung
Vom Erwerb der MuJoCo-Lizenz über die Erneuerung bis zur Ausführung
Vorgehensweise von der AWS CDK (Python) -Entwicklung bis zur AWS-Ressourcenkonstruktion * Für Anfänger
Von der Aufmerksamkeit von Zero Tsuku 2 zum Transformator
Flask Tutorial (von der Installation bis zur Hallo Welt)
Zusammenfassung von vtkThreshold (von Zeit zu Zeit aktualisiert)
Zusammenfassung der gcc-Optionen (von Zeit zu Zeit aktualisiert)
Einstellung zur Ausgabe des Protokolls zur Ausführung von cron
Ändern Sie den Dezimalpunkt der Protokollierung von, nach.
So bedienen Sie Linux von außen Vorgehensweise
Von der Installation von ROS für Windows bis zur Funktionsprüfung
Verfahren von der Deinstallation bis zur Neuinstallation von pyenv (anaconda)
Verfahren zum Einstellen des Wasserstoffs des Atoms (virtuelle Umgebung)
Die Geschichte vom Umzug von Pipenv zur Poesie
Installationsverfahren für Pylearn 2
[Ansible] Beispiel für ein Playbook, das der ersten Zeile der Datei eine Zeichenkette hinzufügt
Summe von 1 bis 10
Installationsverfahren für PostgreSQL 10.0
Blockdiag-Installationsverfahren
Die Wand beim Ändern des Django-Dienstes von Python 2.7 auf Python 3-Serie
Ich möchte das Ausführungsergebnis von strace erfassen
Installation von TensorFlow, einer Bibliothek für maschinelles Lernen von Google
[Von Zeit zu Zeit aktualisiert] Überprüfung von Let Code NumPy
RaspberryPi3 (STRETCH) Setup von der Betriebssysteminstallation bis Hello World
Ausführungsverfahren von TensorFlow bei der Stapelverarbeitung von Spacon ITO
Aufbau der Python-Entwicklungsumgebung 2020 [Von der Python-Installation bis zur Einführung in die Poesie]
DataNitro, Implementierung einer Funktion zum Lesen von Daten aus dem Blatt
[Einführung in cx_Oracle] (Teil 11) Grundlagen der PL / SQL-Ausführung
Verfahren zum Konvertieren einer Python-Datei in eine Exe aus der Ubunts-Umgebungskonstruktion
Konvertieren Sie Elemente des Numpy-Arrays von float in int
[Python] Kapitel 01-02 Über Python (Ausführung und Installation der Entwicklungsumgebung)
Verfahren von der Umgebungskonstruktion bis zum Betriebstest von testinfra, einem von Python erstellten Testwerkzeug für die Serverumgebung