diff --git a/inventory/sample/group_vars/k8s-cluster/k8s-net-flannel.yml b/inventory/sample/group_vars/k8s-cluster/k8s-net-flannel.yml
index be1245a4282b4c7997a3098ae2122092aa2ad63f..a42c5b3be4ef087c3df1e12311daa457b9f15441 100644
--- a/inventory/sample/group_vars/k8s-cluster/k8s-net-flannel.yml
+++ b/inventory/sample/group_vars/k8s-cluster/k8s-net-flannel.yml
@@ -14,3 +14,5 @@
 # for experimental backend
 # please refer to flannel's docs : https://github.com/coreos/flannel/blob/master/README.md
 # flannel_backend_type: "vxlan"
+# flannel_vxlan_vni: 1
+# flannel_vxlan_port: 8472
diff --git a/roles/network_plugin/flannel/defaults/main.yml b/roles/network_plugin/flannel/defaults/main.yml
index 09b18fd3b8c2c9948b6153a5345606f13388d7c4..b075135179b5cf47929003f0a11ada71d24403da 100644
--- a/roles/network_plugin/flannel/defaults/main.yml
+++ b/roles/network_plugin/flannel/defaults/main.yml
@@ -17,6 +17,8 @@
 # You can choose what type of flannel backend to use
 # please refer to flannel's docs : https://github.com/coreos/flannel/blob/master/README.md
 flannel_backend_type: "vxlan"
+flannel_vxlan_vni: 1
+flannel_vxlan_port: 8472
 
 # Limits for apps
 flannel_memory_limit: 500M
diff --git a/roles/network_plugin/flannel/templates/cni-flannel.yml.j2 b/roles/network_plugin/flannel/templates/cni-flannel.yml.j2
index 135be5c94188705dc577e565756eb7fffb07058b..f654a4e83b392f68233cbca3b4e2f0f90a0ea5f9 100644
--- a/roles/network_plugin/flannel/templates/cni-flannel.yml.j2
+++ b/roles/network_plugin/flannel/templates/cni-flannel.yml.j2
@@ -32,7 +32,10 @@ data:
     {
       "Network": "{{ kube_pods_subnet }}",
       "Backend": {
-        "Type": "{{ flannel_backend_type }}"
+        "Type": "{{ flannel_backend_type }}"{% if flannel_backend_type == "vxlan" %},
+        "VNI": {{ flannel_vxlan_vni }},
+        "Port": {{ flannel_vxlan_port }}
+{% endif %}
       }
     }
 ---