使用 Ansible 從 vmware vCenter 上的虛擬機器範本部署虛擬機器導致網路無法存取

使用 Ansible 從 vmware vCenter 上的虛擬機器範本部署虛擬機器導致網路無法存取

作業系統:Oracle Linux 8.7 vCenter:7.0.3 build 20051473 管理程式:VMware ESXi、7.0.3、19193900 ansible-playbook [core 2.13.5] python 版本= 3.8.102 年值, 12:59:47) [GCC 9.4.0] jinja 版本 = 3.1.2 libyaml = True

我使用以下 Ansible 任務從範本部署虛擬機器:

- name: Create a new virtual machine {{ hostname }} on vCenter {{ vcenter_hostname }} from template {{ source_template }}
  community.vmware.vmware_guest:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    validate_certs: false
    datacenter: "{{ datacenter_name }}"
    folder: /{{ datacenter_name }}/vm/
    name: "{{ hostname }}"
    state: present
    template: "{{ source_template }}"
    esxi_hostname: "{{ esxi_hostname }}"
    disk:
      - size_gb: "{{ size_disk }}"
        type: "{{ disk_type }}"
        datastore: "{{ datastore_name }}"
    hardware:
      memory_mb: "{{ memory }}"
      memory_reservation_lock: true
      num_cpus: "{{ vcpu }}"
      cpu_reservation: "{{ reserved_cpu }}"
      scsi: paravirtual
      nested_virt: true
    networks:
    - name: VM Network
      ip: "{{ ip_address }}"
      netmask: "{{ ip_netmask }}"
      gateway: "{{ default_gateway }}"
      device_type: vmxnet3
      type: static
      state: present
    customization:
      dns_servers:
        - "{{ dns_1 }}"
        - "{{ dns_2 }}"
    wait_for_ip_address: true
  delegate_to: localhost
  register: deploy_vm

部署 VM 後,ansible playbook 無法繼續執行下列任務:

fatal: [template-common]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh: ssh: connect to host 172.24.76.35 port 22: Connection refused", "unreachable": true}

我訪問了虛擬機,發現它無法存取網路。我透過 nmtui 解決了從位址欄位中刪除 MAC 位址的問題:

nmtui界面

但是,如果我在虛擬機器範本中部署虛擬機器時執行此操作,則會遇到相同的問題。連mac位址都是正確的。

我也嘗試過:

  • 從 /etc/sysconfig/network-scripts/ifcfg-ens192 中移除 HWADDR 參數
  • 刪除 /etc/udev/rules.d/70.persistent-ipoib.rules
  • 在將來源虛擬機器轉換為虛擬機器範本之前刪除網路介面卡

經過所有這些修改,從 VM 範本建立的 VM 仍然無法使用該介面。

我想強調的是,即使 MAC 位址在 HWADDR 參數中設定得很好,並且在 nmtui 命令顯示的介面中(如上所示),網路介面也不會工作,直到我從 nmtui 配置中刪除 MAC 位址。

有沒有辦法阻止mac位址被自動寫入nmtui?

任何其他解決方案或配置都是有效的,唯一的要求是部署的虛擬機器具有工作介面,無需任何額外的互動。

相關內容