Snabbreferens

Ansible Snabbstartsguide för Nybörjare Fuskblad

Steg-för-steg-guide för nybörjare i Ansible: installation, projektstruktur, inventory-konfiguration, playbook-författande och automatisering.

· Publicerad

En praktisk guide från grunden för att installera Ansible, organisera inventory-filer, skriva din första YAML-playbook och orkestrera serveruppgifter.

🔗 Related: Ansible Grundläggande Fuskblad · Ansible Roles Fuskblad · Ansible Playbook Exempel

Installation

# macOS (Homebrew)
brew install ansible

# Ubuntu / Debian
sudo apt update && sudo apt install -y ansible

# Python Pip (Universal)
pip install ansible

Se: Officiell installationsdokumentation för Ansible: Ansible Installation Docs


Projektinställning

mkdir -p ~/ansible-setup
cd ~/ansible-setup

Skapa en dedikerad arbetskatalog för inventory, playbooks och variabeldefinitioner.


Konfigurationsfiler

Inventory-fil

hosts

[webservers]
192.168.0.10
192.168.0.11

[databases]
192.168.0.20

[local]
localhost ansible_connection=local

Inventarier definierar målnoder grupperade logiskt. Du kan rikta in dig på localhost med ansible_connection=local för att testa automatisering lokalt utan SSH.

Se: Guide för att bygga ett Ansible-inventory: Ansible How to build your inventory


Playbook-definition

playbook.yml

---
- name: Basic Server Provisioning
  hosts: webservers
  become: true
  tasks:
    - name: Update apt package cache
      apt:
        update_cache: yes
        cache_valid_time: 3600

    - name: Ensure Nginx is installed
      apt:
        name: nginx
        state: present

    - name: Start Nginx and enable on boot
      service:
        name: nginx
        state: started
        enabled: yes

    - name: Create hello world banner
      shell: echo "Managed by Ansible" > /tmp/motd.txt

Exekvering

Validering och körning

Verifiera anslutningen via ad-hoc ping:

ansible -i hosts all -m ping

Kör hela playbooken mot ditt inventory:

ansible-playbook -i hosts playbook.yml

Torrkörning (Check-läge)

Förhandsgranska potentiella ändringar utan att tillämpa dem på fjärrnoder:

ansible-playbook -i hosts playbook.yml --check --diff

Referenser

Relaterade ämnen