diff --git a/docs/en/latest/references/apisix_route_v2.md b/docs/en/latest/references/apisix_route_v2.md index 6deb9c2338..89cae10be5 100644 --- a/docs/en/latest/references/apisix_route_v2.md +++ b/docs/en/latest/references/apisix_route_v2.md @@ -99,5 +99,5 @@ The service resolve granularity determines whether the [Serivce ClusterIP](https | Granularity | Meaning | |-------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| endpoint | Filled upstream nodes by Pods' IP. | +| endpoint | Filled upstream nodes by Pods' IP. ApisixUpstream healthCheck is only effective on this case. | | service | Filled upstream nodes by Service ClusterIP, in such a case, loadbalacing are implemented by [kube-proxy](https://kubernetes.io/docs/concepts/overview/components/#kube-proxy). | diff --git a/docs/en/latest/references/apisix_route_v2beta3.md b/docs/en/latest/references/apisix_route_v2beta3.md index 242a69ea73..9859f65caa 100644 --- a/docs/en/latest/references/apisix_route_v2beta3.md +++ b/docs/en/latest/references/apisix_route_v2beta3.md @@ -25,65 +25,65 @@ title: ApisixRoute/v2beta3 Reference Meaning of each field in the spec of ApisixRoute are followed, the top level fields (`apiVersion`, `kind` and `metadata`) are same as other Kubernetes Resources. -| Field | Type | Description | -|---------------|----------|----------------------------------------------------| -| http | array | ApisixRoute's HTTP route rules. | -| http[].name | string (required) | The route rule name. | -| http[].priority | integer | The route priority, it's used to determine which route will be hitted when multile routes contains the same URI. Large number means higher priority. | -| http[].match | object | Route match conditions. | -| http[].match.paths | array | A series of URI that should be matched (oneof) to use this route rule. | -| http[].match.hosts | array | A series of hosts that should be matched (oneof) to use this route rule. -| http[].match.methods | array | A series of HTTP methods(`GET`, `POST`, `PUT`, `DELETE`, `PATCH`, `HEAD`, `OPTIONS`, `CONNECT`, `TRACE`) that should be matched (oneof) to use this route rule. -| http[].match.remoteAddrs | array | A series of IP address (CIDR format) that should be matched (oneof) to use this route rule. -| http[].match.exprs | array | A series expressions that the results should be matched (oneof) to use this route rule. -| http[].match.exprs[].subject | object | Expression subject. -| http[].match.exprs[].subject.scope | string | Specify where to find the subject, values can be `Header`, `Query`, `Cookie` and `Path`. -| http[].match.exprs[].subject.name | string | Specify subject name, when scope is `Path`, this field can be absent. -| http[].match.exprs[].op | string | Expression operator, see [Expression Operators](#expression-operators) for the detail of enumerations. -| http[].match.exprs[].value | string | Expected expression result, it's exclusive with `http[].match.exprs[].set`. -| http[].match.exprs[].set | array | Expected expression result set, only used when the operator is `In` or `NotIn`, it's exclusive with `http[].match.exprs[].value`. -| http[].backends | object | The backend services. When the number of backends more than one, weight based traffic split policy will be applied to shifting traffic between these backends. -| http[].backends[].serviceName | string | The backend service name, note the service and ApisixRoute should be created in the same namespace. Cross namespace referencing is not allowed. -| http[].backends[].servicePort | integer or string | The backend service port, can be the port number or the name defined in the service object. -| http[].backends[].resolveGranularity | string | See [Service Resolve Granularity](#service-resolve-granularity) for the details. -| http[].backends[].weight | int | The backend weight, which is critical when shifting traffic between multiple backends, default is `100`. Weight is ignored when there is only one backend. -| http[].backends[].subset | string | Subset specifies a subset for the target Service. The subset should be pre-definedin ApisixUpstream about this service. -| http[].plugins | array | A series of APISIX plugins that will be executed once this route rule is matched | -| http[].plugins[].name | string | The plugin name, see [docs](http://apisix.apache.org/docs/apisix/getting-started) for learning the available plugins. -| http[].plugins[].enable | boolean | Whether the plugin would be used | -| http[].plugins[].config | object | The configuration of the plugin that must have the same fields as in APISIX. | -| http[].websocket | boolean | Whether enable websocket proxy. | -| stream | array | ApisixRoutes' stream route rules, which contains TCP or UDP rules.| -| stream[].protocol | string (required) | The protocol of rule. Support `TCP` or `UDP`| -| stream[].name | string (required) | The Route rule name. | -| stream[].match | object (required) | The Route match conditions. | -| stream[].match.ingressPort | integer (required) | the Ingress proxy server listening port, note since APISIX doesn't support dynamic listening, this port should be defined in [apisix configuration](https://github.com/apache/apisix/blob/master/conf/config-default.yaml#L101).| -| stream[].backend | object | The backend service. Deprecated: use http[].backends instead. -| stream[].backend.serviceName | string | The backend service name, note the service and ApisixRoute should be created in the same namespace. Cross namespace referencing is not allowed. -| stream[].backend.servicePort | integer or string | The backend service port, can be the port number or the name defined in the service object. -| stream[].backend.resolveGranularity | string | See [Service Resolve Granularity](#service-resolve-granularity) for the details. -| stream[].backend.subset | string | Subset specifies a subset for the target Service. The subset should be pre-definedin ApisixUpstream about this service. +| Field | Type | Description | +|--------------------------------------|--------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| http | array | ApisixRoute's HTTP route rules. | +| http[].name | string (required) | The route rule name. | +| http[].priority | integer | The route priority, it's used to determine which route will be hitted when multile routes contains the same URI. Large number means higher priority. | +| http[].match | object | Route match conditions. | +| http[].match.paths | array | A series of URI that should be matched (oneof) to use this route rule. | +| http[].match.hosts | array | A series of hosts that should be matched (oneof) to use this route rule. | +| http[].match.methods | array | A series of HTTP methods(`GET`, `POST`, `PUT`, `DELETE`, `PATCH`, `HEAD`, `OPTIONS`, `CONNECT`, `TRACE`) that should be matched (oneof) to use this route rule. | +| http[].match.remoteAddrs | array | A series of IP address (CIDR format) that should be matched (oneof) to use this route rule. | +| http[].match.exprs | array | A series expressions that the results should be matched (oneof) to use this route rule. | +| http[].match.exprs[].subject | object | Expression subject. | +| http[].match.exprs[].subject.scope | string | Specify where to find the subject, values can be `Header`, `Query`, `Cookie` and `Path`. | +| http[].match.exprs[].subject.name | string | Specify subject name, when scope is `Path`, this field can be absent. | +| http[].match.exprs[].op | string | Expression operator, see [Expression Operators](#expression-operators) for the detail of enumerations. | +| http[].match.exprs[].value | string | Expected expression result, it's exclusive with `http[].match.exprs[].set`. | +| http[].match.exprs[].set | array | Expected expression result set, only used when the operator is `In` or `NotIn`, it's exclusive with `http[].match.exprs[].value`. | +| http[].backends | object | The backend services. When the number of backends more than one, weight based traffic split policy will be applied to shifting traffic between these backends. | +| http[].backends[].serviceName | string | The backend service name, note the service and ApisixRoute should be created in the same namespace. Cross namespace referencing is not allowed. | +| http[].backends[].servicePort | integer or string | The backend service port, can be the port number or the name defined in the service object. | +| http[].backends[].resolveGranularity | string | See [Service Resolve Granularity](#service-resolve-granularity) for the details. | +| http[].backends[].weight | int | The backend weight, which is critical when shifting traffic between multiple backends, default is `100`. Weight is ignored when there is only one backend. | +| http[].backends[].subset | string | Subset specifies a subset for the target Service. The subset should be pre-definedin ApisixUpstream about this service. | +| http[].plugins | array | A series of APISIX plugins that will be executed once this route rule is matched | +| http[].plugins[].name | string | The plugin name, see [docs](http://apisix.apache.org/docs/apisix/getting-started) for learning the available plugins. | +| http[].plugins[].enable | boolean | Whether the plugin would be used | +| http[].plugins[].config | object | The configuration of the plugin that must have the same fields as in APISIX. | +| http[].websocket | boolean | Whether enable websocket proxy. | +| stream | array | ApisixRoutes' stream route rules, which contains TCP or UDP rules. | +| stream[].protocol | string (required) | The protocol of rule. Support `TCP` or `UDP` | +| stream[].name | string (required) | The Route rule name. | +| stream[].match | object (required) | The Route match conditions. | +| stream[].match.ingressPort | integer (required) | the Ingress proxy server listening port, note since APISIX doesn't support dynamic listening, this port should be defined in [apisix configuration](https://github.com/apache/apisix/blob/master/conf/config-default.yaml#L101). | +| stream[].backend | object | The backend service. Deprecated: use http[].backends instead. | +| stream[].backend.serviceName | string | The backend service name, note the service and ApisixRoute should be created in the same namespace. Cross namespace referencing is not allowed. | +| stream[].backend.servicePort | integer or string | The backend service port, can be the port number or the name defined in the service object. | +| stream[].backend.resolveGranularity | string | See [Service Resolve Granularity](#service-resolve-granularity) for the details. | +| stream[].backend.subset | string | Subset specifies a subset for the target Service. The subset should be pre-definedin ApisixUpstream about this service. | ## Expression Operators -| Operator | Meaning | -|----------|---------| -| Equal| The result of `subject` should be equal to the `value` | -| NotEqual | The result of `subject` should not be equal to `value` | -| GreaterThan | The result of `subject` should be a number and it must larger then `value`. | -| LessThan | The result of `subject` should be a number and it must less than `value`. | -| In | The result of `subject` should be inside the `set`. | -| NotIn | The result of `subject` should not be inside the `set`. | -| RegexMatch | The result of `subject` should be matched by the `value` (a PCRE regex pattern). | -| RegexNotMatch | The result of `subject` should not be matched by the `value` (a PCRE regex pattern). | -| RegexMatchCaseInsensitive | Similar with `RegexMatch` but the match process is case insensitive | +| Operator | Meaning | +|------------------------------|----------------------------------------------------------------------------------------| +| Equal | The result of `subject` should be equal to the `value` | +| NotEqual | The result of `subject` should not be equal to `value` | +| GreaterThan | The result of `subject` should be a number and it must larger then `value`. | +| LessThan | The result of `subject` should be a number and it must less than `value`. | +| In | The result of `subject` should be inside the `set`. | +| NotIn | The result of `subject` should not be inside the `set`. | +| RegexMatch | The result of `subject` should be matched by the `value` (a PCRE regex pattern). | +| RegexNotMatch | The result of `subject` should not be matched by the `value` (a PCRE regex pattern). | +| RegexMatchCaseInsensitive | Similar with `RegexMatch` but the match process is case insensitive | | RegexNotMatchCaseInsensitive | Similar with `RegexNotMatchCaseInsensitive` but the match process is case insensitive. | ## Service Resolve Granularity The service resolve granularity determines whether the [Serivce ClusterIP](https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types) or its endpoints should be filled in the target upstream of APISIX. -| Granularity | Meaning | -| ----------- | ------- | -| endpoint | Filled upstream nodes by Pods' IP. -| service | Filled upstream nodes by Service ClusterIP, in such a case, loadbalacing are implemented by [kube-proxy](https://kubernetes.io/docs/concepts/overview/components/#kube-proxy).| +| Granularity | Meaning | +|--------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| endpoint | Filled upstream nodes by Pods' IP. ApisixUpstream healthCheck is only effective on this case. | +| service | Filled upstream nodes by Service ClusterIP, in such a case, loadbalacing are implemented by [kube-proxy](https://kubernetes.io/docs/concepts/overview/components/#kube-proxy). |