diff --git a/cluster.yml b/cluster.yml
index da4a0b69ab933f7cd848644615c1e7b9ce8b4131..f4e7d10e5e6975a44b69a0b2edec090abb45683c 100644
--- a/cluster.yml
+++ b/cluster.yml
@@ -60,7 +60,7 @@
   roles:
     - { role: kubespray-defaults}
     - { role: kubernetes/preinstall, tags: preinstall }
-    - { role: "container-engine", tags: "container-engine" }
+    - { role: "container-engine", tags: "container-engine", when: deploy_container_engine|default(true) }
     - { role: download, tags: download, when: "not skip_downloads" }
   environment: "{{proxy_env}}"
 
diff --git a/inventory/sample/group_vars/all/all.yml b/inventory/sample/group_vars/all/all.yml
index 8a9a032507f9cf72e42fd95f1989d73948e4f7a7..24d74ed6097900532372d9576c0e37c4aa1e9f5b 100644
--- a/inventory/sample/group_vars/all/all.yml
+++ b/inventory/sample/group_vars/all/all.yml
@@ -82,6 +82,10 @@ skip_non_kubeadm_warning: false
 ## Set true to download and cache container
 #download_container: true
 
+## Deploy container engine
+# Set false if you want to deploy container engine manually.
+#deploy_container_engine: true
+
 ## Set Pypi repo and cert accordingly
 #pyrepo_index: https://pypi.example.com/simple
 #pyrepo_cert: /etc/ssl/certs/ca-certificates.crt
diff --git a/roles/reset/tasks/main.yml b/roles/reset/tasks/main.yml
index 4ff3e1f8009b2358d0032b9de8a3655fd2d1a328..7b4f041d17e684ce2b8e72863f51567417048ac6 100644
--- a/roles/reset/tasks/main.yml
+++ b/roles/reset/tasks/main.yml
@@ -75,7 +75,7 @@
   delay: 5
   tags:
     - crio
-  when: container_manager == 'crio'
+  when: container_manager == 'crio' and deploy_container_engine|default(true)
 
 - name: reset | gather mounted kubelet dirs
   shell: mount | grep /var/lib/kubelet/ | awk '{print $3}' | tac
diff --git a/scale.yml b/scale.yml
index 970897be6c0eea92b7316adfb47b7791bc4a67c3..348ec28bab389255bdccb78f59b1169aac477d92 100644
--- a/scale.yml
+++ b/scale.yml
@@ -62,7 +62,7 @@
   roles:
     - { role: kubespray-defaults}
     - { role: kubernetes/preinstall, tags: preinstall }
-    - { role: container-engine, tags: "container-engine"}
+    - { role: container-engine, tags: "container-engine", when: deploy_container_engine|default(true) }
     - { role: download, tags: download, when: "not skip_downloads" }
     - { role: etcd, tags: etcd, etcd_cluster_setup: false }
     - { role: kubernetes/node, tags: node }
diff --git a/upgrade-cluster.yml b/upgrade-cluster.yml
index 88202768c6bfbc092d477eea27c6fed3a8497d93..cddc2e959a79bff9a811cef3d703597f6d8d28cf 100644
--- a/upgrade-cluster.yml
+++ b/upgrade-cluster.yml
@@ -61,7 +61,7 @@
   roles:
     - { role: kubespray-defaults}
     - { role: kubernetes/preinstall, tags: preinstall }
-    - { role: container-engine, tags: "container-engine"}
+    - { role: container-engine, tags: "container-engine", when: deploy_container_engine|default(true) }
     - { role: download, tags: download, when: "not skip_downloads" }
   environment: "{{proxy_env}}"