Skip to content

Commit

Permalink
docs: merge installation docs (#1979)
Browse files Browse the repository at this point in the history
* docs: merge installation docs

Signed-off-by: bitliu <bitliu@tencent.com>

* update

Signed-off-by: bitliu <bitliu@tencent.com>

---------

Signed-off-by: bitliu <bitliu@tencent.com>
  • Loading branch information
Xunzhuo authored Oct 17, 2023
1 parent 69cd803 commit 0ffd485
Show file tree
Hide file tree
Showing 4 changed files with 209 additions and 241 deletions.
112 changes: 104 additions & 8 deletions site/content/en/latest/install/install-helm.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,16 +31,112 @@ Envoy Gateway is typically deployed to Kubernetes from the command line. If you
Refer to the [Developer Guide](/latest/contributions/develop) to learn more.
{{% /alert %}}

When you run the Helm chart, it installs Envoy Gateway.
Install the Gateway API CRDs and Envoy Gateway:

1. Install the Gateway API CRDs and Envoy Gateway with the following command:
```shell
helm install eg oci://docker.io/envoyproxy/gateway-helm --version v0.0.0-latest -n envoy-gateway-system --create-namespace
```

``` shell
helm install eg oci://docker.io/envoyproxy/gateway-helm --version v0.0.0-latest -n envoy-gateway-system --create-namespace
```
Wait for Envoy Gateway to become available:

2. Next Steps
```shell
kubectl wait --timeout=5m -n envoy-gateway-system deployment/envoy-gateway --for=condition=Available
```

Envoy Gateway should now be successfully installed and running, but in order to experience more abilities of Envoy Gateway, you can refer to [User Guides](/latest/user).
Install the GatewayClass, Gateway, HTTPRoute and example app:

For more advanced configuration and details about helm values, please see the [Helm Chart Values](../api).
```shell
kubectl apply -f https://github.com/envoyproxy/gateway/releases/download/latest/quickstart.yaml -n default
```

**Note**: [`quickstart.yaml`] defines that Envoy Gateway will listen for
traffic on port 80 on its globally-routable IP address, to make it easy to use
browsers to test Envoy Gateway. When Envoy Gateway sees that its Listener is
using a privileged port (<1024), it will map this internally to an
unprivileged port, so that Envoy Gateway doesn't need additional privileges.
It's important to be aware of this mapping, since you may need to take it into
consideration when debugging.

[`quickstart.yaml`]: https://github.com/envoyproxy/gateway/releases/download/latest/quickstart.yaml

## Helm chart customizations

Some of the quick ways of using the helm install command for envoy gateway installation are below.

### Increase the replicas

```shell
helm install eg oci://docker.io/envoyproxy/gateway-helm --version v0.0.0-latest -n envoy-gateway-system --create-namespace --set deployment.replicas=2
```

### Change the kubernetesClusterDomain name

If you have installed your cluster with different domain name you can use below command.

```shell
helm install eg oci://docker.io/envoyproxy/gateway-helm --version v0.0.0-latest -n envoy-gateway-system --create-namespace --set kubernetesClusterDomain=<domain name>
```

**Note**: Above are some of the ways we can directly use for customization of our installation. But if you are looking for more complex changes [values.yaml](https://helm.sh/docs/chart_template_guide/values_files/) comes to rescue.

### Using values.yaml file for complex installation

```yaml
deployment:
envoyGateway:
resources:
limits:
cpu: 700m
memory: 128Mi
requests:
cpu: 10m
memory: 64Mi
ports:
- name: grpc
port: 18005
targetPort: 18000
- name: ratelimit
port: 18006
targetPort: 18001

config:
envoyGateway:
logging:
level:
default: debug
```
Here we have made three changes to our values.yaml file. Increase the resources limit for cpu to `700m`, changed the port for grpc to `18005` and for ratelimit to `18006` and also updated the logging level to `debug`.

You can use the below command to install the envoy gateway using values.yaml file.

```shell
helm install eg oci://docker.io/envoyproxy/gateway-helm --version v0.0.0-latest -n envoy-gateway-system --create-namespace -f values.yaml
```

{{% alert title="Helm Chart Values" color="primary" %}}
If you want to know all the available fields inside the values.yaml file, please see the [Helm Chart Values](../api).
{{% /alert %}}

## Open Ports

These are the ports used by Envoy Gateway and the managed Envoy Proxy.

### Envoy Gateway

| Envoy Gateway | Address | Port |
|:----------------------:|:---------:|:------:|
| Xds EnvoyProxy Server | 0.0.0.0 | 18000 |
| Xds RateLimit Server | 0.0.0.0 | 18001 |
| Admin Server | 127.0.0.1 | 19000 |

### EnvoyProxy

| Envoy Proxy | Address | Port |
|:---------------------------------:|:-----------:| :-----: |
| Admin Server | 127.0.0.1 | 19000 |
| Heath Check | 0.0.0.0 | 19001 |

{{% alert title="Next Steps" color="warning" %}}
Envoy Gateway should now be successfully installed and running, but in order to experience more abilities of Envoy Gateway, you can refer to [User Guides](../../user).
{{% /alert %}}
112 changes: 0 additions & 112 deletions site/content/en/latest/user/installation.md

This file was deleted.

114 changes: 105 additions & 9 deletions site/content/en/v0.5.0/install/install-helm.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,19 +28,115 @@ You can visit [Envoy Gateway Helm Chart](https://hub.docker.com/r/envoyproxy/gat
Envoy Gateway is typically deployed to Kubernetes from the command line. If you don't have Kubernetes, you should use `kind` to create one.

{{% alert title="Developer Guide" color="primary" %}}
Refer to the [Developer Guide](../../contributions/develop) to learn more.
Refer to the [Developer Guide](/latest/contributions/develop) to learn more.
{{% /alert %}}

When you run the Helm chart, it installs Envoy Gateway.
Install the Gateway API CRDs and Envoy Gateway:

1. Install the Gateway API CRDs and Envoy Gateway with the following command:
```shell
helm install eg oci://docker.io/envoyproxy/gateway-helm --version v0.0.0-latest -n envoy-gateway-system --create-namespace
```

``` shell
helm install eg oci://docker.io/envoyproxy/gateway-helm --version v0.0.0-latest -n envoy-gateway-system --create-namespace
```
Wait for Envoy Gateway to become available:

2. Next Steps
```shell
kubectl wait --timeout=5m -n envoy-gateway-system deployment/envoy-gateway --for=condition=Available
```

Envoy Gateway should now be successfully installed and running, but in order to experience more abilities of Envoy Gateway, you can refer to [User Guides](../../user).
Install the GatewayClass, Gateway, HTTPRoute and example app:

For more advanced configuration and details about helm values, please see the [Helm Chart Values](../api).
```shell
kubectl apply -f https://github.com/envoyproxy/gateway/releases/download/latest/quickstart.yaml -n default
```

**Note**: [`quickstart.yaml`] defines that Envoy Gateway will listen for
traffic on port 80 on its globally-routable IP address, to make it easy to use
browsers to test Envoy Gateway. When Envoy Gateway sees that its Listener is
using a privileged port (<1024), it will map this internally to an
unprivileged port, so that Envoy Gateway doesn't need additional privileges.
It's important to be aware of this mapping, since you may need to take it into
consideration when debugging.

[`quickstart.yaml`]: https://github.com/envoyproxy/gateway/releases/download/latest/quickstart.yaml

## Helm chart customizations

Some of the quick ways of using the helm install command for envoy gateway installation are below.

### Increase the replicas

```shell
helm install eg oci://docker.io/envoyproxy/gateway-helm --version v0.0.0-latest -n envoy-gateway-system --create-namespace --set deployment.replicas=2
```

### Change the kubernetesClusterDomain name

If you have installed your cluster with different domain name you can use below command.

```shell
helm install eg oci://docker.io/envoyproxy/gateway-helm --version v0.0.0-latest -n envoy-gateway-system --create-namespace --set kubernetesClusterDomain=<domain name>
```

**Note**: Above are some of the ways we can directly use for customization of our installation. But if you are looking for more complex changes [values.yaml](https://helm.sh/docs/chart_template_guide/values_files/) comes to rescue.

### Using values.yaml file for complex installation

```yaml
deployment:
envoyGateway:
resources:
limits:
cpu: 700m
memory: 128Mi
requests:
cpu: 10m
memory: 64Mi
ports:
- name: grpc
port: 18005
targetPort: 18000
- name: ratelimit
port: 18006
targetPort: 18001

config:
envoyGateway:
logging:
level:
default: debug
```
Here we have made three changes to our values.yaml file. Increase the resources limit for cpu to `700m`, changed the port for grpc to `18005` and for ratelimit to `18006` and also updated the logging level to `debug`.

You can use the below command to install the envoy gateway using values.yaml file.

```shell
helm install eg oci://docker.io/envoyproxy/gateway-helm --version v0.0.0-latest -n envoy-gateway-system --create-namespace -f values.yaml
```

{{% alert title="Helm Chart Values" color="primary" %}}
If you want to know all the available fields inside the values.yaml file, please see the [Helm Chart Values](../api).
{{% /alert %}}

## Open Ports

These are the ports used by Envoy Gateway and the managed Envoy Proxy.

### Envoy Gateway

| Envoy Gateway | Address | Port |
|:----------------------:|:---------:|:------:|
| Xds EnvoyProxy Server | 0.0.0.0 | 18000 |
| Xds RateLimit Server | 0.0.0.0 | 18001 |
| Admin Server | 127.0.0.1 | 19000 |

### EnvoyProxy

| Envoy Proxy | Address | Port |
|:---------------------------------:|:-----------:| :-----: |
| Admin Server | 127.0.0.1 | 19000 |
| Heath Check | 0.0.0.0 | 19001 |

{{% alert title="Next Steps" color="warning" %}}
Envoy Gateway should now be successfully installed and running, but in order to experience more abilities of Envoy Gateway, you can refer to [User Guides](../../user).
{{% /alert %}}
Loading

0 comments on commit 0ffd485

Please sign in to comment.