diff --git a/docs/kube-vip.md b/docs/kube-vip.md
index d5878ab6af08b389ff38755b52f3897e466882aa..4ac3fbcfdd8be0bd366a637cad7594ce0ca3082b 100644
--- a/docs/kube-vip.md
+++ b/docs/kube-vip.md
@@ -76,3 +76,11 @@ In addition, [load-balancing method](https://kube-vip.io/docs/installation/flags
 ```yaml
 kube_vip_lb_fwdmethod: masquerade
 ```
+
+If you want to adjust the parameters of [kube-vip LeaderElection](https://kube-vip.io/docs/installation/flags/#environment-variables):
+
+```yaml
+kube_vip_leaseduration: 30
+kube_vip_renewdeadline: 20
+kube_vip_retryperiod: 4
+```
diff --git a/roles/kubernetes/node/defaults/main.yml b/roles/kubernetes/node/defaults/main.yml
index b3f8fbf10fab3c8bf6cf65b7b915e980988b32fb..7366b263f69ca1bf18b0d23edcc796aea53f2523 100644
--- a/roles/kubernetes/node/defaults/main.yml
+++ b/roles/kubernetes/node/defaults/main.yml
@@ -87,6 +87,9 @@ kube_vip_address:
 kube_vip_enableServicesElection: false
 kube_vip_lb_enable: false
 kube_vip_lb_fwdmethod: local
+kube_vip_leaseduration: 5
+kube_vip_renewdeadline: 3
+kube_vip_retryperiod: 1
 
 # Requests for load balancer app
 loadbalancer_apiserver_memory_requests: 32M
@@ -258,4 +261,4 @@ conntrack_modules:
 ## Enable distributed tracing for kubelet
 kubelet_tracing: false
 kubelet_tracing_endpoint: 0.0.0.0:4317
-kubelet_tracing_sampling_rate_per_million: 100
\ No newline at end of file
+kubelet_tracing_sampling_rate_per_million: 100
diff --git a/roles/kubernetes/node/templates/manifests/kube-vip.manifest.j2 b/roles/kubernetes/node/templates/manifests/kube-vip.manifest.j2
index 936ad44d2678cb24fc33ea34a4d48250d3ec89f9..ead73495d5cd456a1576a5a26140aa61b1f94d40 100644
--- a/roles/kubernetes/node/templates/manifests/kube-vip.manifest.j2
+++ b/roles/kubernetes/node/templates/manifests/kube-vip.manifest.j2
@@ -48,11 +48,11 @@ spec:
     - name: vip_leaderelection
       value: "true"
     - name: vip_leaseduration
-      value: "5"
+      value: {{ kube_vip_leaseduration | string | to_json }}
     - name: vip_renewdeadline
-      value: "3"
+      value: {{ kube_vip_renewdeadline | string | to_json }}
     - name: vip_retryperiod
-      value: "1"
+      value: {{ kube_vip_retryperiod | string | to_json }}
 {% endif %}
 {% if kube_vip_bgp_enabled %}
     - name: bgp_enable