Spec-Zone.ru › Ansible 2.11

Как собирать информацию об вашей среде

  • Введение
  • Требования к сценарию
  • Как собирать информацию

    • Центр обработки данных

      • Результат
    • Кластер

      • Результат
      • Результат
    • Хранилище данных

      • Результат
    • Папка

      • Результат
      • Результат

Введение

Этот раздел показывает, как использовать Ansible для сбора информации о вашей среде. Эта информация полезна для других учебных пособий.

Требования к сценарию

В этом сценарии у нас есть vCenter с хостом ESXi.

Наша среда предварительно инициализирована следующими элементами:

  • Центр обработки данных с именем my_dc
  • Кластер с именем my_cluser
  • Кластер с именем my_cluser
  • Хост ESXi с именем esxi1 входит в кластер
  • Два хранилища данных на ESXi: rw_datastore и ro_datastore
  • Сеть гостя на основе dvswitch

Наконец, мы используем переменные среды для аутентификации, как описано в Как настроить сборку vmware_rest.

Как собирать информацию

В этих примерах мы используем модуль vcenter_*_info для сбора информации об связанных ресурсах.

Все эти модули возвращают ключ value. В зависимости от контекста, этот ключ value будет либо списком, либо словарем.

Центр обработки данных

Здесь мы используем модуль vcenter_datacenter_info для вывода списка всех центров обработки данных:

- name: collect a list of the datacenters
  vmware.vmware_rest.vcenter_datacenter_info:
  register: my_datacenters

Результат

Как ожидалось, ключ value вывода является списком.

{
    "value": [
        {
            "name": "my_dc",
            "datacenter": "datacenter-1630"
        }
    ],
    "changed": false
}

Кластер

Здесь мы делаем то же самое с vcenter_cluster_info.

- name: Build a list of all the clusters
  vmware.vmware_rest.vcenter_cluster_info:
  register: all_the_clusters

Результат

{
    "value": [
        {
            "drs_enabled": false,
            "cluster": "domain-c1636",
            "name": "my_cluster",
            "ha_enabled": false
        }
    ],
    "changed": false
}

И мы также можем получить подробности о конкретном кластере с параметром cluster.

- name: Retrieve details about the first cluster
  vmware.vmware_rest.vcenter_cluster_info:
    cluster: "{{ all_the_clusters.value[0].cluster }}"
  register: my_cluster_info

Результат

И ключ value вывода на этот раз является словарем.

{
    "value": {
        "name": "my_cluster",
        "resource_pool": "resgroup-1637"
    },
    "id": "domain-c1636",
    "changed": false
}

Хранилище данных

Здесь мы используем vcenter_datastore_info для получения списка всех хранилищ данных:

- name: Retrieve a list of all the datastores
  vmware.vmware_rest.vcenter_datastore_info:
  register: my_datastores

Результат

{
    "value": [
        {
            "datastore": "datastore-1644",
            "name": "local",
            "type": "VMFS",
            "free_space": 13523484672,
            "capacity": 15032385536
        },
        {
            "datastore": "datastore-1645",
            "name": "ro_datastore",
            "type": "NFS",
            "free_space": 24638349312,
            "capacity": 26831990784
        },
        {
            "datastore": "datastore-1646",
            "name": "rw_datastore",
            "type": "NFS",
            "free_space": 24638349312,
            "capacity": 26831990784
        }
    ],
    "changed": false
}

Папка

И здесь вы снова используете модуль vcenter_folder_info для извлечения списка всех папок.

- name: Build a list of all the folders
  vmware.vmware_rest.vcenter_folder_info:
  register: my_folders

Результат

{
    "value": [
        {
            "folder": "group-d1",
            "name": "Datacenters",
            "type": "DATACENTER"
        }
    ],
    "changed": false
}

В большинстве случаев вам потребуется только один тип папки. В этом случае мы можем использовать фильтры, чтобы уменьшить количество собираемых данных. Большинство модулей _info поставляются с похожими фильтрами.

- name: Build a list of all the folders with the type VIRTUAL_MACHINE and called vm
  vmware.vmware_rest.vcenter_folder_info:
    filter_type: VIRTUAL_MACHINE
    filter_names:
      - vm
  register: my_folders

Результат

{
    "value": [
        {
            "folder": "group-v1631",
            "name": "vm",
            "type": "VIRTUAL_MACHINE"
        }
    ],
    "changed": false
}

© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/scenario_guides/vmware_rest_scenarios/collect_information.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API