Sobes.tech
Junior

Ansible'da değişken atama yöntemlerini belirtin.

sobes.tech yapay zeka

AI'dan gelen yanıt

Ansible'da değişkenler birkaç şekilde tanımlanabilir:

  • Envanter dosyaları: hosts dosyalarında veya group_vars ve host_vars dizinlerindeki ayrı dosyalarda.
  • Komut satırı: --extra-vars veya -e bayrağı kullanılarak.
  • Playbooklar: vars, vars_files, include_vars bölümlerinde.
  • Roller: vars dizinlerinde veya rol çağrısı sırasında parametreler aracılığıyla.
  • Ansible yapılandırma dosyaları: ansible.cfg içinde, ancak belirli değerler için önerilmez.
  • Dinamik Envanter: envanteri ve değişkenleri çalışma zamanında üreten betikler aracılığıyla.
  • Vaults: gizli verileri saklamak için.

Ansible'da değişken atama önceliği düşükten yükseğe:

  1. ansible.cfg
  2. Envanter dosyaları (host_vars, group_vars)
  3. Roller (vars dizinleri ve vars sekmesi)
  4. Playbook'taki vars bölümü
  5. Komut satırıyla geçirilen değişkenler

Envanterde değişken atama örneği:

# inventory.ini
[webservers]
web1 ansible_host=192.168.1.100

[webservers:vars]
http_port=80

Playbook'ta değişken atama örneği:

# playbook.yml
---
- name: Web sunucusunu yapılandır
  hosts: webservers
  vars:
    greeting: "Hello, World!"
  tasks:
    - name: Selamı yazdır
      debug:
        msg: "{{ greeting }}"

Komut satırından değişken atama örneği:

ansible-playbook playbook.yml -e "user=admin"