栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

DevOps - 用 Ansible 管理 VMware 虚拟机

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

DevOps - 用 Ansible 管理 VMware 虚拟机

《OpenShift 4.x HOL教程汇总》
本文在 Ansible 2.9 和 VMware vSphere 7 环境中进行验证。

文章目录
  • 创建虚拟机
  • 删除虚拟机
  • 启动虚拟机
  • 关闭虚拟机
  • 获得虚拟机配置
  • 修改虚拟机配置
  • 修改宿主机主机名
  • 创建虚拟机快照
  • 删除虚拟机快照

创建虚拟机
---
- name: create vm
  hosts: localhost
  tasks: 
    - name: create vm from template
      vmware_guest:
        hostname: 192.168.201.31 # 指定vSphere
        username: AAAAA # 指定vSphere 具备创建vm的用户
        password: BBBBB # 指定密码
        validate_certs: no
        folder: /

        cluster: IM-VMLAB # 指定cluster
        datacenter: Datacenter  # datacenter 名称

        name: my-vm # 指定vm名称
        state: poweredon
        guest_id: rhel6Guest
        disk:
        - size_gb: 200
          type: thin
          autoselect_datastore: yes #根据模板自动选择datastore
        hardware:
          memory_mb: 512
          num_cpus: 1
          scsi: paravirtual 
        template: Ansible-Client01 # 指定vm模板名称
        wait_for_ip_address: True
        
      register: newvm

    - name: IP address info
      debug: 
        msg: "{{newvm}} ansible_test_name"
删除虚拟机
- name: delete vm
  hosts: localhost
  tasks:
    - name: get fact by vm name
      vmware_guest:
        hostname: 192.168.201.31 # 指定vSphere
        username: AAAAA # 指定vSphere 具备创建vm的用户
        password: BBBBB # 指定密码
        validate_certs: no
        datacenter: Datacenter #指定datacenter
        folder: /
        name: my-vm
      register: facts
      
    - name: Remove a virtual machine by uuid
      vmware_guest:
        hostname: 192.168.201.31 # 指定vSphere
        username: AAAAA # 指定vSphere 具备创建vm的用户
        password: BBBBB # 指定密码
        validate_certs: no
        uuid: "{{ facts.instance.hw_product_uuid }}"
        state: absent
启动虚拟机
- name: poweron vm
  hosts: localhost
  tasks:
    - name: poweron vm
      vmware_guest:
        hostname: 192.168.201.31 # 指定vSphere
        username: AAAAA # 指定vSphere 具备创建vm的用户
        password: BBBBB # 指定密码
        validate_certs: no
        datacenter: Datacenter #指定datacenter
        folder: /
        name: my-vm
        state: poweredon
      register: facts
关闭虚拟机
- name: poweroff vm
  hosts: localhost
  tasks:
    - name: poweroff vm
      vmware_guest:
        hostname: 192.168.201.31 # 指定vSphere
        username: AAAAA # 指定vSphere 具备创建vm的用户
        password: BBBBB # 指定密码
        validate_certs: no
        datacenter: Datacenter #指定datacenter
        folder: /
        name: my-vm
        state: poweredoff
        force: yes
      register: facts
获得虚拟机配置
---
- name: get specific facts from vm
  hosts: localhost
  tasks:
    - name: get facts from vm
      vmware_guest:
        hostname: 192.168.201.31 # 指定vSphere
        username: AAAAA # 指定vSphere 具备创建vm的用户
        password: BBBBB # 指定密码
        validate_certs: no
        datacenter: Datacenter #指定datacenter
        folder: /
        name: my-vm
      register: facts

    - name: show msg
      debug: msg="{{facts}}"
修改虚拟机配置
- name: change vm config
  hosts: localhost
  tasks:
    - name: change vm config
      vmware_guest:
        hostname: 192.168.201.31 # 指定vSphere
        username: AAAAA # 指定vSphere 具备创建vm的用户
        password: BBBBB # 指定密码
        validate_certs: no
        datacenter: Datacenter #指定datacenter
        folder: /
        name: my-vm
        state: present
        hardware:
          memory_mb: 1024
      register: facts

    - name: show msg
      debug: msg="{{facts}}"
修改宿主机主机名
- name: set vm hostname
  hosts: localhost
  tasks:
    - name: set vm hostname
      vmware_vm_shell:
        hostname: 192.168.201.31 # 指定vSphere
        username: AAAAA # 指定vSphere 具备创建vm的用户
        password: BBBBB # 指定密码
        validate_certs: no
        datacenter: Datacenter #指定datacenter
        folder: /
        vm_id: my-vm
        vm_username: root
        vm_password: password
        vm_shell: "/usr/bin/hostnamectl"
        vm_shell_args: "set-hostname new_hostname > /tmp/$$.txt 2>&1"
创建虚拟机快照
- name: create a snapshot for vm
  hosts: localhost
  tasks:
    - name: create a snapshot for vm
      vmware_guest_snapshot:
        hostname: 192.168.201.31 # 指定vSphere
        username: AAAAA # 指定vSphere 具备创建vm的用户
        password: BBBBB # 指定密码
        validate_certs: no
        datacenter: Datacenter #指定datacenter
        folder: /
        name: my-vm
        state: present
        snapshot_name: snap1
        description: snap1_description
删除虚拟机快照
- name: delete a vm snapshot
  hosts: localhost
  tasks:
    - name: delete a vm snapshot
      vmware_guest_snapshot:
        hostname: 192.168.201.31 # 指定vSphere
        username: AAAAA # 指定vSphere 具备创建vm的用户
        password: BBBBB # 指定密码
        validate_certs: no
        datacenter: Datacenter #指定datacenter
        folder: /
        name: my-vm
        state: absent
        snapshot_name: snap1
        description: snap1_description
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/642879.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号