add base
This commit is contained in:
56
tasks/01create_template.yaml
Normal file
56
tasks/01create_template.yaml
Normal file
@@ -0,0 +1,56 @@
|
||||
---
|
||||
- name: Create a VM folder on given datacenter
|
||||
community.vmware.vcenter_folder:
|
||||
hostname: '{{ vcenter_hostname }}'
|
||||
username: '{{ vcenter_username }}'
|
||||
password: '{{ vcenter_password }}'
|
||||
datacenter_name: "{{ datacenter }}"
|
||||
folder_name: "{{ vm_folder_name }}"
|
||||
parent_folder: "{{ vm_parent_folder_name }}"
|
||||
folder_type: vm
|
||||
state: present
|
||||
register: vm_folder_creation_result
|
||||
delegate_to: localhost
|
||||
|
||||
- name: Create a VM folder on given datacenter
|
||||
community.vmware.vcenter_folder:
|
||||
hostname: '{{ vcenter_hostname }}'
|
||||
username: '{{ vcenter_username }}'
|
||||
password: '{{ vcenter_password }}'
|
||||
datacenter_name: "{{ datacenter }}"
|
||||
folder_name: "{{ template_folder_name }}"
|
||||
parent_folder: "{{ vm_parent_folder_name }}"
|
||||
folder_type: vm
|
||||
state: present
|
||||
register: vm_folder_creation_result
|
||||
delegate_to: localhost
|
||||
|
||||
- name: Create virtual machine for template
|
||||
community.vmware.vmware_deploy_ovf:
|
||||
hostname: "{{ vcenter_hostname }}"
|
||||
username: "{{ vcenter_username }}"
|
||||
password: "{{ vcenter_password }}"
|
||||
validate_certs: false
|
||||
folder: "/{{ datacenter }}/vm/{{ vm_parent_folder_name }}/{{ template_folder_name }}"
|
||||
datacenter: "{{ datacenter }}"
|
||||
cluster: "{{ cluster }}"
|
||||
datastore: "{{ datastore }}"
|
||||
resource_pool: "{{ resource_pool }}"
|
||||
name: "{{ vm_hostname_template }}"
|
||||
networks: "{u'VM Network':u'{{ ProvisioningNetworkLabel }}'}"
|
||||
power_on: false
|
||||
ovf: "{{ ovf_file }}"
|
||||
|
||||
- name: Convert vm to template
|
||||
community.vmware.vmware_guest:
|
||||
hostname: "{{ vcenter_hostname }}"
|
||||
username: "{{ vcenter_username }}"
|
||||
password: "{{ vcenter_password }}"
|
||||
validate_certs: false
|
||||
folder: "/{{ datacenter }}/vm/{{ vm_parent_folder_name }}/{{ template_folder_name }}"
|
||||
datacenter: "{{ datacenter }}"
|
||||
cluster: "{{ cluster }}"
|
||||
datastore: "{{ datastore }}"
|
||||
resource_pool: "{{ resource_pool }}"
|
||||
name: "{{ vm_hostname_template }}"
|
||||
is_template: true
|
||||
30
tasks/02create_first.yaml
Normal file
30
tasks/02create_first.yaml
Normal file
@@ -0,0 +1,30 @@
|
||||
---
|
||||
- name: Create virtual machines from template
|
||||
community.vmware.vmware_guest:
|
||||
hostname: "{{ vcenter_hostname }}"
|
||||
username: "{{ vcenter_username }}"
|
||||
password: "{{ vcenter_password }}"
|
||||
validate_certs: false
|
||||
folder: "/{{ datacenter }}/vm/{{ vm_parent_folder_name }}/{{ vm_folder_name }}"
|
||||
datacenter: "{{ datacenter }}"
|
||||
cluster: "{{ cluster }}"
|
||||
datastore: "{{ datastore }}"
|
||||
resource_pool: "{{ resource_pool }}"
|
||||
name: "test-{{ item.value.hostname }}"
|
||||
template: "{{ vm_hostname_template }}"
|
||||
state: poweredon
|
||||
disk:
|
||||
- size: 100gb
|
||||
advanced_settings:
|
||||
- key: "guestinfo.ignition.config.data"
|
||||
value: "{{ lookup('template', 'ignition/{{ item.value.hostname }}.json') | b64encode }}"
|
||||
- key: "guestinfo.ignition.config.data.encoding"
|
||||
value: "base64"
|
||||
wait_for_ip_address: true
|
||||
wait_for_ip_address_timeout: 600
|
||||
with_dict: "{{ kubehosts }}"
|
||||
register: deploy_vm
|
||||
|
||||
# - name: Show debug info
|
||||
# debug:
|
||||
# msg: "{{ deploy_vm.results.instance.ipv4 }}"
|
||||
18
tasks/02create_first_raw.yaml
Normal file
18
tasks/02create_first_raw.yaml
Normal file
@@ -0,0 +1,18 @@
|
||||
---
|
||||
- name: Read token
|
||||
ansible.builtin.raw: "cat /var/lib/rancher/k3s/server/token"
|
||||
become: true
|
||||
register: token_result
|
||||
|
||||
- name: Show token
|
||||
ansible.builtin.debug:
|
||||
msg: "{{ token_result.stdout_lines }}"
|
||||
|
||||
- name: Read kubeconfig
|
||||
ansible.builtin.raw: "cat /etc/rancher/k3s/k3s.yaml"
|
||||
become: true
|
||||
register: kubeconfig_result
|
||||
|
||||
- name: Show kubeconfig
|
||||
ansible.builtin.debug:
|
||||
msg: "{{ kubeconfig_result.stdout }}"
|
||||
28
tasks/03create_nodes.yaml
Normal file
28
tasks/03create_nodes.yaml
Normal file
@@ -0,0 +1,28 @@
|
||||
---
|
||||
- name: Create virtual machines from template
|
||||
community.vmware.vmware_guest:
|
||||
hostname: "{{ vcenter_hostname }}"
|
||||
username: "{{ vcenter_username }}"
|
||||
password: "{{ vcenter_password }}"
|
||||
validate_certs: false
|
||||
folder: "/{{ datacenter }}/vm/{{ vm_parent_folder_name }}/{{ vm_folder_name }}"
|
||||
datacenter: "{{ datacenter }}"
|
||||
cluster: "{{ cluster }}"
|
||||
datastore: "{{ datastore }}"
|
||||
resource_pool: "{{ resource_pool }}"
|
||||
name: "test-{{ item.value.hostname }}"
|
||||
template: "{{ vm_hostname_template }}"
|
||||
state: poweredon
|
||||
disk:
|
||||
- size: 100gb
|
||||
advanced_settings:
|
||||
- key: "guestinfo.ignition.config.data"
|
||||
value: "{{ lookup('template', 'ignition/{{ item.value.hostname }}.json') | b64encode }}"
|
||||
- key: "guestinfo.ignition.config.data.encoding"
|
||||
value: "base64"
|
||||
with_dict: "{{ kubehosts_rest }}"
|
||||
register: deploy_vm
|
||||
|
||||
# - name: Show debug info
|
||||
# debug:
|
||||
# msg: "{{ deploy_vm.results.instance.ipv4 }}"
|
||||
Reference in New Issue
Block a user