chore: add udp usage & upgrade the verion of ApisixRoute (#585)

diff --git a/docs/en/latest/concepts/apisix_route.md b/docs/en/latest/concepts/apisix_route.md
index 68799ae..d015938 100644
--- a/docs/en/latest/concepts/apisix_route.md
+++ b/docs/en/latest/concepts/apisix_route.md
@@ -35,7 +35,7 @@
 should be:
 
 ```yaml
-apiVersion: apisix.apache.org/v2alpha1
+apiVersion: apisix.apache.org/v2beta1
 kind: ApisixRoute
 metadata:
   name: foo-bar-route
@@ -73,7 +73,7 @@
 with `GET` method to `foo` service (a Kubernetes Service).
 
 ```yaml
-apiVersion: apisix.apache.org/v2alpha1
+apiVersion: apisix.apache.org/v2beta1
 kind: ApisixRoute
 metadata:
   name: method-route
@@ -94,7 +94,7 @@
 It's composed by several expressions, which in turn composed by subject, operator and value/set.
 
 ```yaml
-apiVersion: apisix.apache.org/v2alpha1
+apiVersion: apisix.apache.org/v2beta1
 kind: ApisixRoute
 metadata:
   name: method-route
@@ -128,7 +128,7 @@
 the `resolveGranularity` to `service` (default is `endpoint`).
 
 ```yaml
-apiVersion: apisix.apache.org/v2alpha1
+apiVersion: apisix.apache.org/v2beta1
 kind: ApisixRoute
 metadata:
   name: method-route
@@ -155,7 +155,7 @@
 You can specify weight for each backend, the default weight is `100`.
 
 ```yaml
-apiVersion: apisix.apache.org/v2alpha1
+apiVersion: apisix.apache.org/v2beta1
 kind: ApisixRoute
 metadata:
   name: method-route
@@ -193,7 +193,7 @@
 in `ApisixRoute`. All configuration items are named same to the one in APISIX.
 
 ```yaml
-apiVersion: apisix.apache.org/v2alpha1
+apiVersion: apisix.apache.org/v2beta1
 kind: ApisixRoute
 metadata:
   name: httpbin-route
@@ -223,7 +223,7 @@
 by creating a route with specifying the `websocket` field.
 
 ```yaml
-apiVersion: apisix.apache.org/v2alpha1
+apiVersion: apisix.apache.org/v2beta1
 kind: ApisixRoute
 metadata:
   name: ws-route
@@ -247,13 +247,14 @@
 apisix-ingress-controller supports the port-based tcp route.
 
 ```yaml
-apiVersion: apisix.apache.org/v2alpha1
+apiVersion: apisix.apache.org/v2beta1
 kind: ApisixRoute
 metadata:
   name: tcp-route
 spec:
-  tcp:
+  stream:
     - name: tcp-route-rule1
+      protocol: TCP
       match:
         ingressPort: 9100
       backend:
@@ -264,3 +265,28 @@
 The above yaml configuration guides TCP traffic entered to the Ingress proxy server (i.e. [APISIX](https://apisix.apache.org)) port `9100` should be routed to the backend service `tcp-server`.
 
 Note since APISIX doesn't support dynamic listening, so here the `9100` port should be pre-defined in APISIX [configuration](https://github.com/apache/apisix/blob/master/conf/config-default.yaml#L101).
+
+UDP Route
+---------
+
+apisix-ingress-controller supports the port-based udp route.
+
+```yaml
+apiVersion: apisix.apache.org/v2beta1
+kind: ApisixRoute
+metadata:
+  name: udp-route
+spec:
+  stream:
+    - name: udp-route-rule1
+      protocol: UDP
+      match:
+        ingressPort: 9200
+      backend:
+        serviceName: udp-server
+        servicePort: 53
+```
+
+The above yaml configuration guides UDP traffic entered to the Ingress proxy server (i.e. [APISIX](https://apisix.apache.org)) port `9200` should be routed to the backend service `udp-server`.
+
+Note since APISIX doesn't support dynamic listening, so here the `9200` port should be pre-defined in APISIX [configuration](https://github.com/apache/apisix/blob/master/conf/config-default.yaml#L105).
diff --git a/docs/en/latest/design.md b/docs/en/latest/design.md
index 4d51156..b3576d4 100644
--- a/docs/en/latest/design.md
+++ b/docs/en/latest/design.md
@@ -122,7 +122,7 @@
 For example, the settings of the black and white list can be configured through the `k8s.apisix.apache.org/whitelist-source-range` annotation in the `ApisixRoute` resource object.
 
 ```yaml
-apiVersion: apisix.apache.org/v1
+apiVersion: apisix.apache.org/v2beta1
 kind: ApisixRoute
 metadata:
   annotations:
diff --git a/docs/en/latest/practices/check-crd-status.md b/docs/en/latest/practices/check-crd-status.md
index 2e43e75..049691a 100644
--- a/docs/en/latest/practices/check-crd-status.md
+++ b/docs/en/latest/practices/check-crd-status.md
@@ -46,7 +46,7 @@
 
 ```yaml
 kubectl apply -f - <<EOF
-apiVersion: apisix.apache.org/v2alpha1
+apiVersion: apisix.apache.org/v2beta1
 kind: ApisixRoute
 metadata:
   name: httpbin-route
diff --git a/docs/en/latest/practices/mtls.md b/docs/en/latest/practices/mtls.md
index 7651bb4..a69a17f 100644
--- a/docs/en/latest/practices/mtls.md
+++ b/docs/en/latest/practices/mtls.md
@@ -51,7 +51,7 @@
 
 ```yaml
 # route.yaml
-apiVersion: apisix.apache.org/v2alpha1
+apiVersion: apisix.apache.org/v2beta1
 kind: ApisixRoute
 metadata:
   name: httpserver-route
diff --git a/docs/en/latest/practices/proxy-the-httpbin-service.md b/docs/en/latest/practices/proxy-the-httpbin-service.md
index 6412748..3ed5cce 100644
--- a/docs/en/latest/practices/proxy-the-httpbin-service.md
+++ b/docs/en/latest/practices/proxy-the-httpbin-service.md
@@ -46,7 +46,7 @@
 
 ```yaml
 # httpbin-route.yaml
-apiVersion: apisix.apache.org/v2alpha1
+apiVersion: apisix.apache.org/v2beta1
 kind: ApisixRoute
 metadata:
   name: httpserver-route
diff --git a/docs/en/latest/practices/the-hard-way.md b/docs/en/latest/practices/the-hard-way.md
index 74ec36d..26bcf8f 100644
--- a/docs/en/latest/practices/the-hard-way.md
+++ b/docs/en/latest/practices/the-hard-way.md
@@ -782,7 +782,7 @@
 Here is an example ApisixRoute:
 
 ```yaml
-apiVersion: apisix.apache.org/v2alpha1
+apiVersion: apisix.apache.org/v2beta1
 kind: ApisixRoute
 metadata:
   name: httpserver-route