diff --git a/docs/vsphere.md b/docs/vsphere.md
index 5374304c1f346f825261844bfb4dc1be70b200fa..8f91cf078c57f04660e653294be37895b1ad503e 100644
--- a/docs/vsphere.md
+++ b/docs/vsphere.md
@@ -34,10 +34,12 @@ Then, in the same file, you need to declare your vCenter credential following th
 | vsphere_datastore            | TRUE     | string  |                            |         | Datastore name to use                                                                                                                                                                         |
 | vsphere_working_dir          | TRUE     | string  |                            |         | Working directory from the view "VMs and template" in the   vCenter where VM are placed                                                                                                       |
 | vsphere_scsi_controller_type | TRUE     | string  | buslogic, pvscsi, parallel | pvscsi  | SCSI controller name. Commonly "pvscsi".                                                                                                                                                      |
-| vsphere_vm_uuid              | FALSE    | string  |                            |         | VM Instance UUID of virtual machine that host K8s master. Can be   retrieved from instanceUuid property in VmConfigInfo, or as vc.uuid in VMX   file or in `/sys/class/dmi/id/product_serial` |
+| vsphere_vm_uuid              | FALSE    | string  |                            |         | VM Instance UUID of virtual machine that host K8s master. Can be   retrieved from instanceUuid property in VmConfigInfo, or as vc.uuid in VMX   file or in `/sys/class/dmi/id/product_serial` (Optional, only used for Kubernetes <= 1.9.2) |
 | vsphere_public_network       | FALSE    | string  |                            | Blank   | Name of the   network the VMs are joined to                                                                                                                                                   |
+| vsphere_resource_pool       | FALSE    | string  |                            | Blank   | Name of the Resource pool where the VMs are located (Optional, only used for Kubernetes >= 1.9.2)                                                                                                                                                 |
 
 Example configuration
+
 ```yml
 vsphere_vcenter_ip: "myvcenter.domain.com"
 vsphere_vcenter_port: 443
@@ -48,6 +50,7 @@ vsphere_datacenter: "DATACENTER_name"
 vsphere_datastore: "DATASTORE_name"
 vsphere_working_dir: "Docker_hosts"
 vsphere_scsi_controller_type: "pvscsi"
+vsphere_resource_pool: "K8s-Pool"
 ```
 
 ## Deployment
diff --git a/roles/kubernetes/preinstall/defaults/main.yml b/roles/kubernetes/preinstall/defaults/main.yml
index e81a2a14860db14dcc7ab80506e32b39fdc777d7..4199d4c7f1106936f8a13cf90942088a55716f88 100644
--- a/roles/kubernetes/preinstall/defaults/main.yml
+++ b/roles/kubernetes/preinstall/defaults/main.yml
@@ -47,6 +47,8 @@ vsphere_datacenter: "{{ lookup('env', 'VSPHERE_DATACENTER') }}"
 vsphere_datastore: "{{ lookup('env', 'VSPHERE_DATASTORE') }}"
 vsphere_working_dir: "{{ lookup('env', 'VSPHERE_WORKING_DIR') }}"
 vsphere_insecure: "{{ lookup('env', 'VSPHERE_INSECURE') }}"
+vsphere_resource_pool: "{{ lookup('env', 'VSPHERE_RESOURCE_POOL') }}"
+
 vsphere_scsi_controller_type: pvscsi
 # vsphere_public_network is name of the network the VMs are joined to
 vsphere_public_network: "{{ lookup('env', 'VSPHERE_PUBLIC_NETWORK')|default('') }}"
diff --git a/roles/kubernetes/preinstall/templates/vsphere-cloud-config.j2 b/roles/kubernetes/preinstall/templates/vsphere-cloud-config.j2
index ab58f7485102de2876c435c12fbf7402cbb8c2bf..d82d72bf82f6aff1dca8aae7013304b3b172fab2 100644
--- a/roles/kubernetes/preinstall/templates/vsphere-cloud-config.j2
+++ b/roles/kubernetes/preinstall/templates/vsphere-cloud-config.j2
@@ -1,15 +1,36 @@
 [Global]
-datacenter = "{{ vsphere_datacenter }}"
-datastore = "{{ vsphere_datastore }}"
-insecure-flag = {{ vsphere_insecure }}
+user = "{{ vsphere_user }}"
 password = "{{ vsphere_password }}"
 port = {{ vsphere_vcenter_port }}
-server = "{{ vsphere_vcenter_ip }}"
-user = "{{ vsphere_user }}"
+insecure-flag = {{ vsphere_insecure }}
+
+{% if kube_version | version_compare('v1.9.2', '>=') %}
+datacenters = "{{ vsphere_datacenter }}"
+{% else %}
+datastore = "{{ vsphere_datastore }}"
+datacenter = "{{ vsphere_datacenter }}"
 working-dir = "{{ vsphere_working_dir }}"
-{% if vsphere_vm_uuid is defined %}
-vm-uuid = {{ vsphere_vm_uuid }}
+server = "{{ vsphere_vcenter_ip }}"
+{% if vsphere_vm_uuid is defined and vsphere_vm_uuid != ""  %}
+vm-uuid = "{{ vsphere_vm_uuid }}"
 {% endif %}
+{% endif %}
+
+{% if kube_version | version_compare('v1.9.2', '>=') %}
+
+[VirtualCenter "{{ vsphere_vcenter_ip }}"]
+
+
+[Workspace]
+server = "{{ vsphere_vcenter_ip }}"
+datacenter = "{{ vsphere_datacenter }}"
+folder = "{{ vsphere_working_dir }}"
+default-datastore = "{{ vsphere_datastore }}"
+{% if vsphere_resource_pool is defined and vsphere_resource_pool != ""  %}
+resourcepool-path = "{{ vsphere_resource_pool }}"
+{% endif %}
+{% endif %}
+
 
 [Disk]
 scsicontrollertype = {{ vsphere_scsi_controller_type }}
@@ -17,4 +38,4 @@ scsicontrollertype = {{ vsphere_scsi_controller_type }}
 {% if vsphere_public_network is defined and vsphere_public_network != ""  %}
 [Network]
 public-network = {{ vsphere_public_network }}
-{% endif %}
+{% endif %}
\ No newline at end of file