Első lépések: Az Ansible konfigurálása Azure-beli virtuális gépen

Figyelemfelhívás

Ez a cikk a CentOS-ra, egy olyan Linux-disztribúcióra hivatkozik, amely közel áll az élettartam (EOL) állapotához. Fontolja meg a használatát, és ennek megfelelően tervezze meg. További információ: CentOS End Of Life útmutató.

Ez a cikk bemutatja, hogyan telepíthető az Ansible egy Centos virtuális gépre az Azure-ban.

Ebben a cikkben az alábbiakkal ismerkedhet meg:

  • Erőforráscsoport létrehozása
  • CentOS virtuális gép létrehozása
  • Az Ansible telepítése a virtuális gépre
  • Csatlakozás a virtuális gépre SSH-val
  • Az Ansible konfigurálása a virtuális gépen

Előfeltételek

  • Azure-előfizetés: Ha nem rendelkezik Azure-előfizetéssel, első lépésként mindössze néhány perc alatt létrehozhat egy ingyenes fiókot.

Virtuális gép létrehozása

  1. Azure-erőforráscsoport létrehozása

    az group create --name QuickstartAnsible-rg --location eastus
    

    Előfordulhat, hogy a paramétert --location a környezetének megfelelő értékre kell cserélnie.

  2. Hozza létre az Azure-beli virtuális gépet az Ansible-hez.

    az vm create \
    --resource-group QuickstartAnsible-rg \
    --name QuickstartAnsible-vm \
    --image CentOS85Gen2 \
    --admin-username azureuser \
    --admin-password <password>
    

    Cserélje le a <password> jelszót.

  3. Kérje le az Azure-beli virtuális gép nyilvános IP-címét.

    az vm show -d -g QuickstartAnsible-rg -n QuickstartAnsible-vm --query publicIps -o tsv
    

Csatlakozás a virtuális gépre SSH-val

Az SSH-paranccsal csatlakozzon a virtuális gép nyilvános IP-címéhez.

ssh azureuser@<vm_ip_address>

Cserélje le az <vm_ip_address> előző parancsokban visszaadott megfelelő értékre.

Az Ansible telepítése a virtuális gépre

Ansible 2.9 a azure_rm modullal

Futtassa a következő parancsokat az Ansible 2.9 centos rendszeren való konfigurálásához:

#!/bin/bash

# Update all packages that have available updates.
sudo yum update -y

# Install Python 3 and pip.
sudo yum install -y python3-pip

# Upgrade pip3.
sudo pip3 install --upgrade pip

# Install Ansible.
pip3 install "ansible==2.9.17"

# Install Ansible azure_rm module for interacting with Azure.
pip3 install ansible[azure]

Ansible 2.10 az azure.azcollection használatával

Futtassa a következő parancsokat az Ansible konfigurálásához a Centoson:

#!/bin/bash

# Update all packages that have available updates.
sudo yum update -y

# Install Python 3 and pip.
sudo yum install -y python3-pip

# Upgrade pip3.
sudo pip3 install --upgrade pip

# Install Ansible az collection for interacting with Azure.
ansible-galaxy collection install azure.azcollection

# Install Ansible modules for Azure
sudo pip3 install -r ~/.ansible/collections/ansible_collections/azure/azcollection/requirements-azure.txt

Főbb pontok:

  • Az Ansible vezérlőcsomóponthoz a Python 2 (2.7-es verzió) vagy a Python 3 (3.5-ös és újabb verziók) telepítése szükséges. Az Ansible 4.0.0 és az ansible-core 2.11 puha függőséggel rendelkezik a Python 3.8-hoz, de alacsonyabb verziókkal működik. Az Ansible 5.0.0 és az ansible-core 2.12 azonban 3,8 és újabb verziót igényel.

Azure-beli hitelesítő adatok létrehozása

Az Ansible hitelesítő adatainak konfigurálásához a következő információkra van szüksége:

  • Az Azure-előfizetés azonosítója és bérlőazonosítója
  • A szolgáltatásnév alkalmazásazonosítója és titkos kódja

Konfigurálja az Ansible hitelesítő adatait az alábbi technikák egyikével:

1. lehetőség: Ansible hitelesítőadat-fájl létrehozása

Ebben a szakaszban egy helyi hitelesítőadat-fájlt hoz létre az Ansible hitelesítő adatainak megadásához. Biztonsági okokból a hitelesítő adatok fájljait csak fejlesztési környezetekben szabad használni.

Az Ansible hitelesítő adatainak meghatározásáról további információt az Azure-modulok hitelesítő adatainak megadása című témakörben talál.

  1. Miután sikeresen csatlakozott a gazdagép virtuális gépéhez, hozzon létre és nyisson meg egy fájlt credentials:

    mkdir ~/.azure
    vi ~/.azure/credentials
    
  2. Szúrja be a következő sorokat a fájlba. Cserélje le a helyőrzőket a szolgáltatásnév értékeire.

    [default]
    subscription_id=<subscription_id>
    client_id=<service_principal_app_id>
    secret=<service_principal_password>
    tenant=<service_principal_tenant_id>
    
  3. Mentse és zárja be a fájlt.

2. lehetőség: Ansible környezeti változók definiálása

A gazdagép virtuális gépén exportálja a szolgáltatásnév értékeit az Ansible hitelesítő adatainak konfigurálásához.

export AZURE_SUBSCRIPTION_ID=<subscription_id>
export AZURE_CLIENT_ID=<service_principal_app_id>
export AZURE_SECRET=<service_principal_password>
export AZURE_TENANT=<service_principal_tenant_id>

Az Ansible telepítésének tesztelése

Most már van egy virtuális gépe, amelyen telepítve és konfigurálva van az Ansible!

Ez a szakasz bemutatja, hogyan hozhat létre teszterőforrás-csoportot az új Ansible-konfigurációban. Ha ezt nem kell megtennie, kihagyhatja ezt a szakaszt.

1. lehetőség: Alkalmi ansible parancs használata

Futtassa a következő ad-hoc Ansible parancsot egy erőforráscsoport létrehozásához:

#Ansible 2.9 with azure_rm module
ansible localhost -m azure_rm_resourcegroup -a "name=ansible-test location=eastus"

#Ansible 2.10 with azure.azcollection
ansible localhost -m azure.azcollection.azure_rm_resourcegroup -a "name=<resource_group_name> location=<location>"

Cserélje le és <location> cserélje le <resource_group_name> az értékeket.

2. lehetőség: Ansible-forgatókönyv írása és futtatása

  1. Mentse a következő kódot.create_rg.yml

    Ansible 2.9 azure_rm modullal

    ---
    - hosts: localhost
      connection: local
      tasks:
        - name: Creating resource group
          azure_rm_resourcegroup:
            name: "<resource_group_name"
            location: "<location>"
    

    Ansible 2.10 az azure.azcollection használatával

    - hosts: localhost
      connection: local
      collections:
        - azure.azcollection
      tasks:
        - name: Creating resource group
          azure_rm_resourcegroup:
            name: "<resource_group_name"
            location: "<location>"
    

    Cserélje le és <location> cserélje le <resource_group_name> az értékeket.

  2. Futtassa a forgatókönyvet ansible-playbook használatával.

    ansible-playbook create_rg.yml
    

További információ az azure.azcollectionről.

Az erőforrások eltávolítása

  1. Mentse a következő kódot.delete_rg.yml

    ---
    - hosts: localhost
      tasks:
        - name: Deleting resource group - "{{ name }}"
          azure_rm_resourcegroup:
            name: "{{ name }}"
            state: absent
          register: rg
        - debug:
            var: rg
    
  2. Futtassa a forgatókönyvet az ansible-playbook paranccsal. Cserélje le a helyőrzőt a törölni kívánt erőforráscsoport nevére. Az erőforráscsoporton belüli összes erőforrás törlődik.

    ansible-playbook delete_rg.yml --extra-vars "name=<resource_group>"
    

    Főbb pontok:

    • register A forgatókönyv változója és debug szakasza miatt az eredmények a parancs befejeződésekor jelennek meg.

Következő lépések