Backport of docs: Fix Kubernetes CRD example configs into release/1.16.x (#19438)
docs: Fix Kubernetes CRD example configs (#18878) Fixes configuration examples for several Consul Kubernetes CRDs. The CRDs were missing required fields such as `apiVersion`, `metadata`, and `spec`. Co-authored-by: Tu Nguyen <im2nguyen@gmail.com>
This commit is contained in:
parent
f0c23587e0
commit
588e108c51
|
@ -87,20 +87,25 @@ Catalog = {
|
|||
```
|
||||
|
||||
```yaml
|
||||
kind: control-plane-request-limit
|
||||
mode: permissive
|
||||
name: <name-for-the-entry>
|
||||
read_rate: 100
|
||||
write_rate: 100
|
||||
kv:
|
||||
read_rate: 100
|
||||
write_rate: 100
|
||||
acl:
|
||||
read_rate: 100
|
||||
write_rate: 100
|
||||
catalog:
|
||||
read_rate: 100
|
||||
write_rate: 100
|
||||
apiVersion: consul.hashicorp.com/v1alpha1
|
||||
kind: ControlPlaneRequestLimit
|
||||
metadata:
|
||||
name: <name-for-the-entry>
|
||||
spec:
|
||||
mode: permissive
|
||||
# the maximum number of read requests per second that the agent allows.
|
||||
readRate: 100
|
||||
# the maximum number of write requests per second that the agent allows.
|
||||
writeRate: 100
|
||||
kv:
|
||||
readRate: 100
|
||||
writeRate: 100
|
||||
acl:
|
||||
readRate: 100
|
||||
writeRate: 100
|
||||
catalog:
|
||||
readRate: 100
|
||||
writeRate: 100
|
||||
```
|
||||
|
||||
</CodeTabs>
|
||||
|
|
|
@ -1281,12 +1281,12 @@ Forwarding = {
|
|||
|
||||
```yaml
|
||||
apiVersion: consul.hashicorp.com/v1alpha1
|
||||
kind: jwtProvider
|
||||
kind: JWTProvider
|
||||
metadata:
|
||||
name: okta
|
||||
spec:
|
||||
issuer: okta
|
||||
jsonwebkeyset:
|
||||
jsonWebKeySet:
|
||||
remote:
|
||||
uri: https://<org>.okta.com/oauth2/default/v1/keys
|
||||
cacheDuration: 30m
|
||||
|
|
|
@ -15,13 +15,13 @@ Datacenters can reside in different clouds or runtime environments where general
|
|||
Mesh gateways can be used with any of the following Consul configurations for managing separate datacenters or partitions.
|
||||
|
||||
1. WAN Federation
|
||||
* [Mesh gateways can be used to route service-to-service traffic between datacenters](/consul/docs/connect/gateways/mesh-gateway/service-to-service-traffic-wan-datacenters)
|
||||
* [Mesh gateways can be used to route all WAN traffic, including from Consul servers](/consul/docs/connect/gateways/mesh-gateway/wan-federation-via-mesh-gateways)
|
||||
* [Mesh gateways can be used to route service-to-service traffic between datacenters](/consul/docs/connect/gateways/mesh-gateway/service-to-service-traffic-wan-datacenters)
|
||||
* [Mesh gateways can be used to route all WAN traffic, including from Consul servers](/consul/docs/connect/gateways/mesh-gateway/wan-federation-via-mesh-gateways)
|
||||
2. Cluster Peering
|
||||
* [Mesh gateways can be used to route service-to-service traffic between datacenters](/consul/docs/connect/cluster-peering/usage/establish-cluster-peering)
|
||||
* [Mesh gateways can be used to route control-plane traffic from Consul servers](/consul/docs/connect/gateways/mesh-gateway/peering-via-mesh-gateways)
|
||||
* [Mesh gateways can be used to route service-to-service traffic between datacenters](/consul/docs/connect/cluster-peering/usage/establish-cluster-peering)
|
||||
* [Mesh gateways can be used to route control-plane traffic from Consul servers](/consul/docs/connect/gateways/mesh-gateway/peering-via-mesh-gateways)
|
||||
3. Admin Partitions
|
||||
* [Mesh gateways can be used to route service-to-service traffic between admin partitions in the same Consul datacenter](/consul/docs/connect/gateways/mesh-gateway/service-to-service-traffic-partitions)
|
||||
* [Mesh gateways can be used to route service-to-service traffic between admin partitions in the same Consul datacenter](/consul/docs/connect/gateways/mesh-gateway/service-to-service-traffic-partitions)
|
||||
|
||||
### Consul
|
||||
|
||||
|
@ -84,21 +84,24 @@ Use the following example configurations to help you understand some of the comm
|
|||
|
||||
The following `proxy-defaults` configuration will enable gateways for all mesh services in the `local` mode.
|
||||
|
||||
<CodeTabs heading="Example: Enabling gateways globally.">
|
||||
<CodeTabs heading="Example: Enabling gateways globally">
|
||||
|
||||
```hcl
|
||||
Kind = "proxy-defaults"
|
||||
Name = "global"
|
||||
MeshGateway {
|
||||
Mode = "local"
|
||||
Mode = "local"
|
||||
}
|
||||
```
|
||||
|
||||
```yaml
|
||||
Kind: proxy-defaults
|
||||
MeshGateway:
|
||||
- Mode: local
|
||||
Name: global
|
||||
apiVersion: consul.hashicorp.com/v1alpha1
|
||||
kind: ProxyDefaults
|
||||
metadata:
|
||||
name: global
|
||||
spec:
|
||||
meshGateway:
|
||||
mode: local
|
||||
```
|
||||
|
||||
```json
|
||||
|
@ -123,15 +126,18 @@ The following `service-defaults` configuration will enable gateways for all mesh
|
|||
Kind = "service-defaults"
|
||||
Name = "web"
|
||||
MeshGateway {
|
||||
Mode = "local"
|
||||
Mode = "local"
|
||||
}
|
||||
```
|
||||
|
||||
```yaml
|
||||
Kind: service-defaults
|
||||
MeshGateway:
|
||||
- Mode: local
|
||||
Name: web
|
||||
apiVersion: consul.hashicorp.com/v1alpha1
|
||||
kind: ServiceDefaults
|
||||
metadata:
|
||||
name: web
|
||||
spec:
|
||||
meshGateway:
|
||||
mode: local
|
||||
```
|
||||
|
||||
```json
|
||||
|
@ -155,22 +161,22 @@ The following [proxy service configuration](/consul/docs/connect/proxies/deploy-
|
|||
|
||||
```hcl
|
||||
service {
|
||||
name = "web-sidecar-proxy"
|
||||
kind = "connect-proxy"
|
||||
port = 8181
|
||||
proxy {
|
||||
destination_service_name = "web"
|
||||
mesh_gateway {
|
||||
mode = "remote"
|
||||
name = "web-sidecar-proxy"
|
||||
kind = "connect-proxy"
|
||||
port = 8181
|
||||
proxy {
|
||||
destination_service_name = "web"
|
||||
mesh_gateway {
|
||||
mode = "remote"
|
||||
}
|
||||
upstreams = [
|
||||
{
|
||||
destination_name = "api"
|
||||
datacenter = "secondary"
|
||||
local_bind_port = 10000
|
||||
}
|
||||
upstreams = [
|
||||
{
|
||||
destination_name = "api"
|
||||
datacenter = "secondary"
|
||||
local_bind_port = 10000
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
# Or alternatively inline with the service definition:
|
||||
|
@ -230,38 +236,38 @@ The following service definition will enable gateways in the `local` mode for on
|
|||
|
||||
```hcl
|
||||
service {
|
||||
name = "web-sidecar-proxy"
|
||||
kind = "connect-proxy"
|
||||
port = 8181
|
||||
proxy {
|
||||
destination_service_name = "web"
|
||||
upstreams = [
|
||||
{
|
||||
destination_name = "api"
|
||||
destination_peer = "cluster-01"
|
||||
local_bind_port = 10000
|
||||
mesh_gateway {
|
||||
mode = "remote"
|
||||
}
|
||||
},
|
||||
{
|
||||
destination_name = "db"
|
||||
datacenter = "secondary"
|
||||
local_bind_port = 10001
|
||||
mesh_gateway {
|
||||
mode = "local"
|
||||
}
|
||||
},
|
||||
{
|
||||
destination_name = "logging"
|
||||
datacenter = "secondary"
|
||||
local_bind_port = 10002
|
||||
mesh_gateway {
|
||||
mode = "none"
|
||||
}
|
||||
},
|
||||
]
|
||||
}
|
||||
name = "web-sidecar-proxy"
|
||||
kind = "connect-proxy"
|
||||
port = 8181
|
||||
proxy {
|
||||
destination_service_name = "web"
|
||||
upstreams = [
|
||||
{
|
||||
destination_name = "api"
|
||||
destination_peer = "cluster-01"
|
||||
local_bind_port = 10000
|
||||
mesh_gateway {
|
||||
mode = "remote"
|
||||
}
|
||||
},
|
||||
{
|
||||
destination_name = "db"
|
||||
datacenter = "secondary"
|
||||
local_bind_port = 10001
|
||||
mesh_gateway {
|
||||
mode = "local"
|
||||
}
|
||||
},
|
||||
{
|
||||
destination_name = "logging"
|
||||
datacenter = "secondary"
|
||||
local_bind_port = 10002
|
||||
mesh_gateway {
|
||||
mode = "none"
|
||||
}
|
||||
},
|
||||
]
|
||||
}
|
||||
}
|
||||
```
|
||||
```json
|
||||
|
|
|
@ -121,9 +121,13 @@ Peering {
|
|||
```
|
||||
|
||||
```yaml
|
||||
Kind: mesh
|
||||
Peering:
|
||||
PeerThroughMeshGateways: true
|
||||
apiVersion: consul.hashicorp.com/v1alpha1
|
||||
kind: Mesh
|
||||
metadata:
|
||||
name: mesh
|
||||
spec:
|
||||
peering:
|
||||
peerThroughMeshGateways: true
|
||||
```
|
||||
</CodeTabs>
|
||||
|
||||
|
|
|
@ -78,7 +78,7 @@ Use the following example configurations to help you understand some of the comm
|
|||
|
||||
The following `proxy-defaults` configuration will enable gateways for all mesh services in the `local` mode.
|
||||
|
||||
<CodeTabs heading="Example: Enabling gateways globally.">
|
||||
<CodeTabs heading="Example: Enabling gateways globally">
|
||||
|
||||
```hcl
|
||||
Kind = "proxy-defaults"
|
||||
|
@ -89,10 +89,13 @@ MeshGateway {
|
|||
```
|
||||
|
||||
```yaml
|
||||
Kind: proxy-defaults
|
||||
MeshGateway:
|
||||
- Mode: local
|
||||
Name: global
|
||||
apiVersion: consul.hashicorp.com/v1alpha1
|
||||
kind: ProxyDefaults
|
||||
metadata:
|
||||
name: global
|
||||
spec:
|
||||
meshGateway:
|
||||
mode: local
|
||||
```
|
||||
|
||||
```json
|
||||
|
@ -122,10 +125,13 @@ MeshGateway {
|
|||
```
|
||||
|
||||
```yaml
|
||||
Kind: service-defaults
|
||||
MeshGateway:
|
||||
- Mode: local
|
||||
Name: web
|
||||
apiVersion: consul.hashicorp.com/v1alpha1
|
||||
kind: ServiceDefaults
|
||||
metadata:
|
||||
name: web
|
||||
spec:
|
||||
meshGateway:
|
||||
mode: local
|
||||
```
|
||||
|
||||
```json
|
||||
|
|
|
@ -94,7 +94,7 @@ Use the following example configurations to help you understand some of the comm
|
|||
|
||||
The following `proxy-defaults` configuration will enable gateways for all mesh services in the `local` mode.
|
||||
|
||||
<CodeTabs heading="Example: Enabling gateways globally.">
|
||||
<CodeTabs heading="Example: Enabling gateways globally">
|
||||
|
||||
```hcl
|
||||
Kind = "proxy-defaults"
|
||||
|
@ -105,10 +105,13 @@ MeshGateway {
|
|||
```
|
||||
|
||||
```yaml
|
||||
Kind: proxy-defaults
|
||||
MeshGateway:
|
||||
- Mode: local
|
||||
Name: global
|
||||
apiVersion: consul.hashicorp.com/v1alpha1
|
||||
kind: ProxyDefaults
|
||||
metadata:
|
||||
name: global
|
||||
spec:
|
||||
meshGateway:
|
||||
mode: local
|
||||
```
|
||||
|
||||
```json
|
||||
|
@ -137,10 +140,13 @@ MeshGateway {
|
|||
```
|
||||
|
||||
```yaml
|
||||
Kind: service-defaults
|
||||
MeshGateway:
|
||||
- Mode: local
|
||||
Name: web
|
||||
apiVersion: consul.hashicorp.com/v1alpha1
|
||||
kind: ServiceDefaults
|
||||
metadata:
|
||||
name: web
|
||||
spec:
|
||||
meshGateway:
|
||||
mode: local
|
||||
```
|
||||
|
||||
```json
|
||||
|
|
|
@ -80,7 +80,7 @@ EnvoyExtensions = [
|
|||
</CodeBlockConfig>
|
||||
</Tab>
|
||||
<Tab heading="Kubernetes" group="yaml">
|
||||
<CodeBlockConfig filename="api-auth-service-defaults">
|
||||
<CodeBlockConfig filename="api-auth-service-defaults.yaml">
|
||||
|
||||
```yaml
|
||||
apiVersion: consul.hashicorp.com/v1alpha1
|
||||
|
|
|
@ -125,30 +125,33 @@ EOF
|
|||
<CodeBlockConfig filename="wasm-extension-serve-waf.yaml">
|
||||
|
||||
```yaml
|
||||
kind: service-defaults
|
||||
name: api
|
||||
protocol: http
|
||||
envoyExtensions:
|
||||
- name: builtin/wasm
|
||||
required: true
|
||||
arguments:
|
||||
protocol: http
|
||||
listenerType: inbound
|
||||
pluginConfig:
|
||||
VmConfig:
|
||||
Code:
|
||||
Remote:
|
||||
HttpURI:
|
||||
Service:
|
||||
Name: file-server
|
||||
URI: https://file-server/waf.wasm
|
||||
Configuration:
|
||||
rules:
|
||||
- Include @demo-conf
|
||||
- Include @crs-setup-demo-conf
|
||||
- SecDebugLogLevel 9
|
||||
- SecRuleEngine On
|
||||
- Include @owasp_crs/*.conf
|
||||
apiVersion: consul.hashicorp.com/v1alpha1
|
||||
kind: ServiceDefaults
|
||||
metadata:
|
||||
name: api
|
||||
spec:
|
||||
protocol: http
|
||||
envoyExtensions:
|
||||
- name: builtin/wasm
|
||||
required: true
|
||||
arguments:
|
||||
protocol: http
|
||||
listenerType: inbound
|
||||
pluginConfig:
|
||||
VmConfig:
|
||||
Code:
|
||||
Remote:
|
||||
HttpURI:
|
||||
Service:
|
||||
Name: file-server
|
||||
URI: https://file-server/waf.wasm
|
||||
Configuration:
|
||||
rules:
|
||||
- Include @demo-conf
|
||||
- Include @crs-setup-demo-conf
|
||||
- SecDebugLogLevel 9
|
||||
- SecRuleEngine On
|
||||
- Include @owasp_crs/*.conf
|
||||
```
|
||||
|
||||
</CodeBlockConfig>
|
||||
|
|
Loading…
Reference in New Issue