尝试在 ansible 中创建新虚拟机时出错

尝试在 ansible 中创建新虚拟机时出错

我刚开始学习 Ansible。到目前为止,这很痛苦。我有这个代码来创建一个新的虚拟机。我按照这个教程。

    ---
- hosts: localhost
  connection: local
  tasks:
    - vsphere_guest:
            vcenter_hostname:1.1.1.12
            username: root
            password: pasword
            guest: newvm001
            state: powered_on
            validate_certs: no
            vm_extra_config:
                vcpu.hotadd: yes
                mem.hotadd:  yes
                notes: This is a test VM
                folder: MyFolder
            vm_disk:
                disk1:
                        size_gb: 10
                        type: thin
                        datastore: storage001
            vm_nic:
                nic1:
                    type: vmxnet3
                    network: VM Network
                    network_type: standard
            vm_hardware:
                memory_mb: 256
                num_cpus: 1
                osid: ubuntu64Guest
                scsi: paravirtual
            esxi:
                datacenter: 1.1.1.12
                hostname: 1.1.1.12

但我一直收到这个错误。

[警告]:未找到主机文件:/etc/ansible/hosts

[警告]:提供的主机列表为空,只有本地主机可用

播放[本地主机]

任务 [设置] ************************************************************************* 确定:[localhost]

任务 [vsphere_guest] **************************************************************** 致命:[localhost]:失败!=> {“changed”: false,“failed”: true,“msg”: “找不到名为 9.1.142.86 的数据中心”}

没有剩余主机 ***************************************************************** [警告]:无法创建重试文件“testing.retry”。[Errno 2] 没有这样的文件或目录:“”

播放回顾 ************************************************************************* 本地主机:ok=1 已更改=0 无法访问=0 已失败=1

为什么会这样?什么是数据中心?如何找到合适的数据中心?主机文件和库存文件之间有什么区别?

答案1

您有一个大问题和一个小问题。

首先,主要问题是:您没有提供正确的datacenter名称。

            esxi:
                datacenter: 1.1.1.12

这应该设置为 vSphere 中的数据中心对象的名称。(并且,如Ansible 文档ha-datacenter,如果您正在与独立 ESXi 主机对话,则应将其设置为。)

小问题是您使用 IP 地址而不是主机名来获取连接信息。如何处理这个问题显而易见。

相关内容