diff --git a/inventory/group_vars/all.yml b/inventory/group_vars/all.yml
index a300553671cace24923979ad9ca00228a65adb90..21b81a6ded7f5d0cd1463c4ff306280443a3234b 100644
--- a/inventory/group_vars/all.yml
+++ b/inventory/group_vars/all.yml
@@ -98,3 +98,6 @@ bin_dir: /usr/local/bin
 
 ## Please specify true if you want to perform a kernel upgrade
 kernel_upgrade: false
+
+## Etcd auto compaction retention for mvcc key value store in hour
+#etcd_compaction_retention: 0
diff --git a/roles/etcd/defaults/main.yml b/roles/etcd/defaults/main.yml
index 8fd72f3dbc7b9e94957b85b51685457d8bff0684..06714cd9067163b649a2b0577622d9fce2b40622 100644
--- a/roles/etcd/defaults/main.yml
+++ b/roles/etcd/defaults/main.yml
@@ -22,3 +22,5 @@ etcd_memory_limit: 512M
 #etcd_cpu_limit: 300m
 
 etcd_node_cert_hosts: "{{ groups['k8s-cluster'] | union(groups.get('calico-rr', [])) }}"
+
+etcd_compaction_retention: "0"
diff --git a/roles/etcd/templates/etcd.env.yml b/roles/etcd/templates/etcd.env.yml
index 07e200e03215c4ba0cbf2434b320d77c9c3ccdc3..115aa14b50746d57c01c7ac6ff0ea684211d155b 100644
--- a/roles/etcd/templates/etcd.env.yml
+++ b/roles/etcd/templates/etcd.env.yml
@@ -11,6 +11,7 @@ ETCD_LISTEN_PEER_URLS=https://{{ etcd_address }}:2380
 ETCD_NAME={{ etcd_member_name }}
 ETCD_PROXY=off
 ETCD_INITIAL_CLUSTER={{ etcd_peer_addresses }}
+ETCD_AUTO_COMPACTION_RETENTION={{ etcd_compaction_retention }}
 
 # TLS settings
 ETCD_TRUSTED_CA_FILE={{ etcd_cert_dir }}/ca.pem