Skip to content

Commit

Permalink
docs: update prerequisites files with installation and connectivity t… (
Browse files Browse the repository at this point in the history
#5094)

* docs: update prerequisites files with installation and connectivity testing steps

Signed-off-by: DeeBi9 <deepanshudb1@gmail.com>

* lint

Signed-off-by: DeeBi9 <deepanshudb1@gmail.com>

* docs: remove the Note

Signed-off-by: DeeBi9 <deepanshudb1@gmail.com>

* remove redundant code

Signed-off-by: DeeBi9 <deepanshudb1@gmail.com>

---------

Signed-off-by: DeeBi9 <deepanshudb1@gmail.com>
  • Loading branch information
DeeBi9 authored Jan 30, 2025
1 parent a3448c1 commit 3253339
Show file tree
Hide file tree
Showing 2 changed files with 63 additions and 17 deletions.
5 changes: 3 additions & 2 deletions site/content/en/latest/boilerplates/o11y_prerequisites.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
---
---

Follow the steps from the [Quickstart](../tasks/quickstart) to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.
{{< readfile "./prerequisites.md" >}}

---

Envoy Gateway provides an add-ons Helm Chart, which includes all the needing components for observability.
By default, the [OpenTelemetry Collector](https://opentelemetry.io/docs/collector/) is disabled.
Expand Down
75 changes: 60 additions & 15 deletions site/content/en/latest/boilerplates/prerequisites.md
Original file line number Diff line number Diff line change
@@ -1,24 +1,69 @@
---
---

Follow the steps from the [Quickstart](../tasks/quickstart) task to install Envoy Gateway and the example manifest.
Before proceeding, you should be able to query the example backend using HTTP.
Follow the steps below to install Envoy Gateway and the example manifest. Before
proceeding, you should be able to query the example backend using HTTP.

Verify the Gateway status:
<details>
<summary>Expand for instructions</summary>

{{< tabpane text=true >}}
{{% tab header="kubectl" %}}
1. Install the Gateway API CRDs and Envoy Gateway using Helm:

```shell
kubectl get gateway/eg -o yaml
```
```shell
helm install eg oci://docker.io/envoyproxy/gateway-helm --version {{< helm-version >}} -n envoy-gateway-system --create-namespace
```

{{% /tab %}}
{{% tab header="egctl (experimental)" %}}
2. Install the GatewayClass, Gateway, HTTPRoute and example app:

```shell
egctl x status gateway -v
```
```shell
kubectl apply -f https://github.com/envoyproxy/gateway/releases/download/{{< yaml-version >}}/quickstart.yaml -n default
```

{{% /tab %}}
{{< /tabpane >}}
3. Verify Connectivity:

{{< tabpane text=true >}}
{{% tab header="With External LoadBalancer Support" %}}

You can also test the same functionality by sending traffic to the External IP. To get the external IP of the
Envoy service, run:

```shell
export GATEWAY_HOST=$(kubectl get gateway/eg -o jsonpath='{.status.addresses[0].value}')
```

**Note**: In certain environments, the load balancer may be exposed using a hostname, instead of an IP address. If so, replace
`ip` in the above command with `hostname`.

Curl the example app through Envoy proxy:

```shell
curl --verbose --header "Host: www.example.com" http://$GATEWAY_HOST/get
```

{{% /tab %}}
{{% tab header="Without LoadBalancer Support" %}}

Get the name of the Envoy service created by the example Gateway:

```shell
export ENVOY_SERVICE=$(kubectl get svc -n envoy-gateway-system --selector=gateway.envoyproxy.io/owning-gateway-namespace=default,gateway envoyproxy.io/owning-gateway-name=eg -o jsonpath='{.items[0].metadata.name}')
```

Port forward to the Envoy service:

```shell
kubectl -n envoy-gateway-system port-forward service/${ENVOY_SERVICE} 8888:80 &
```

Curl the example app through Envoy proxy:

```shell
curl --verbose --header "Host: www.example.com" http://localhost:8888/get
```

{{% /tab %}}
{{< /tabpane >}}

</details>

---

0 comments on commit 3253339

Please sign in to comment.