From 0ffd4859a2ebb043bb1c8e5d279e04c8697b0f07 Mon Sep 17 00:00:00 2001 From: Xunzhuo Date: Tue, 17 Oct 2023 12:32:13 +0800 Subject: [PATCH] docs: merge installation docs (#1979) * docs: merge installation docs Signed-off-by: bitliu * update Signed-off-by: bitliu --------- Signed-off-by: bitliu --- .../content/en/latest/install/install-helm.md | 112 +++++++++++++++-- site/content/en/latest/user/installation.md | 112 ----------------- .../content/en/v0.5.0/install/install-helm.md | 114 ++++++++++++++++-- site/content/en/v0.5.0/user/installation.md | 112 ----------------- 4 files changed, 209 insertions(+), 241 deletions(-) delete mode 100644 site/content/en/latest/user/installation.md delete mode 100644 site/content/en/v0.5.0/user/installation.md diff --git a/site/content/en/latest/install/install-helm.md b/site/content/en/latest/install/install-helm.md index 68ea4f2997b..ad6f945bddb 100644 --- a/site/content/en/latest/install/install-helm.md +++ b/site/content/en/latest/install/install-helm.md @@ -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= +``` + +**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 %}} diff --git a/site/content/en/latest/user/installation.md b/site/content/en/latest/user/installation.md deleted file mode 100644 index 61e5c0a8061..00000000000 --- a/site/content/en/latest/user/installation.md +++ /dev/null @@ -1,112 +0,0 @@ ---- -title: "Installation" ---- - -## Prerequisites - -A Kubernetes cluster. - -__Note:__ Refer to the [Compatibility Matrix](/blog/2022/10/01/versions/) for supported Kubernetes versions. - -## Installation - -Install the Gateway API CRDs and Envoy Gateway: - -```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: - -```shell -kubectl wait --timeout=5m -n envoy-gateway-system deployment/envoy-gateway --for=condition=Available -``` - -Install the GatewayClass, Gateway, HTTPRoute and example app: - -```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 - -``` -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. - -``` -helm install eg oci://docker.io/envoyproxy/gateway-helm --version v0.0.0-latest -n envoy-gateway-system --create-namespace --set kubernetesClusterDomain= -``` - -**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. - -``` -helm install eg oci://docker.io/envoyproxy/gateway-helm --version v0.0.0-latest -n envoy-gateway-system --create-namespace -f values.yaml -``` - -If you want to know all the available fields inside the values.yaml file checkout the `helm` section [here](../helm/api.md) - -## Open Ports - -These are the ports used by Envoy Gateway and the managed Envoy Proxy. - -| 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 | - - - -| Envoy Proxy | Address | Port | -|:---------------------------------:|:-----------:| :-----: | -| Admin Server | 127.0.0.1 | 19000 | -| Heath Check & Prometheus Listener | 0.0.0.0 | 19001 | diff --git a/site/content/en/v0.5.0/install/install-helm.md b/site/content/en/v0.5.0/install/install-helm.md index 9e90a1057ad..ad6f945bddb 100644 --- a/site/content/en/v0.5.0/install/install-helm.md +++ b/site/content/en/v0.5.0/install/install-helm.md @@ -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= +``` + +**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 %}} diff --git a/site/content/en/v0.5.0/user/installation.md b/site/content/en/v0.5.0/user/installation.md deleted file mode 100644 index 2f22c47fbe0..00000000000 --- a/site/content/en/v0.5.0/user/installation.md +++ /dev/null @@ -1,112 +0,0 @@ ---- -title: "Installation" ---- - -## Prerequisites - -A Kubernetes cluster. - -__Note:__ Refer to the [Compatibility Matrix](/blog/2022/10/01/versions/) for supported Kubernetes versions. - -## Installation - -Install the Gateway API CRDs and Envoy Gateway: - -```shell -helm install eg oci://docker.io/envoyproxy/gateway-helm --version v0.5.0 -n envoy-gateway-system --create-namespace -``` - -Wait for Envoy Gateway to become available: - -```shell -kubectl wait --timeout=5m -n envoy-gateway-system deployment/envoy-gateway --for=condition=Available -``` - -Install the GatewayClass, Gateway, HTTPRoute and example app: - -```shell -kubectl apply -f https://github.com/envoyproxy/gateway/releases/download/v0.5.0/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/v0.5.0/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 - -``` -helm install eg oci://docker.io/envoyproxy/gateway-helm --version v0.5.0 -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. - -``` -helm install eg oci://docker.io/envoyproxy/gateway-helm --version v0.5.0 -n envoy-gateway-system --create-namespace --set kubernetesClusterDomain= -``` - -**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. - -``` -helm install eg oci://docker.io/envoyproxy/gateway-helm --version v0.5.0 -n envoy-gateway-system --create-namespace -f values.yaml -``` - -If you want to know all the available fields inside the values.yaml file checkout the `helm` section [here](../helm/api.md) - -## Open Ports - -These are the ports used by Envoy Gateway and the managed Envoy Proxy. - -| 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 | - - - -| Envoy Proxy | Address | Port | -|:-----------------: |:-----------:| :-----: | -| Admin Server | 127.0.0.1 | 19000 | -| Heath Check Listener| 0.0.0.0 | 19001 | \ No newline at end of file