Skip to content

Commit

Permalink
doc: update gateway-address doc (#2638)
Browse files Browse the repository at this point in the history
* update gateway address doc

Signed-off-by: shawnh2 <shawnhxh@outlook.com>

* fix gen-check

Signed-off-by: shawnh2 <shawnhxh@outlook.com>

* Update securitypolicy-with-extauth.out.yaml to make gen-check pass again

Signed-off-by: sh2 <shawnhxh@outlook.com>

---------

Signed-off-by: shawnh2 <shawnhxh@outlook.com>
Signed-off-by: sh2 <shawnhxh@outlook.com>
  • Loading branch information
shawnh2 authored Feb 19, 2024
1 parent 199f50c commit 56a0178
Showing 1 changed file with 18 additions and 22 deletions.
40 changes: 18 additions & 22 deletions site/content/en/latest/user/gateway-address.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,35 +2,23 @@
title: "Gateway Address"
---

The Gateway API provides an optional [Addresses][] field through which Envoy Gateway can set addresses for Envoy Proxy Service. The currently supported addresses are:
The Gateway API provides an optional [Addresses][] field through which Envoy Gateway can set addresses for Envoy Proxy Service.
Depending on the Service Type, the addresses of gateway can be used as:

- [External IPs](#External-IPs)
- [External IPs](#external-ips)
- [Cluster IP](#cluster-ip)

## Installation
## Prerequisites

Install 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
```
Follow the steps from the [Quickstart](../quickstart) to install Envoy Gateway and the example manifest.

## External IPs

Using the addresses in `Gateway.Spec.Addresses` as the [External IPs][] of Envoy Proxy Service, this will __require__ the address to be of type `IPAddress`.
Using the addresses in `Gateway.Spec.Addresses` as the [External IPs][] of Envoy Proxy Service,
this will __require__ the address to be of type `IPAddress` and the [ServiceType][] to be of `LoadBalancer` or `NodePort`.

Install the GatewayClass, Gateway from quickstart:

```shell
kubectl apply -f https://github.com/envoyproxy/gateway/releases/download/latest/quickstart.yaml -n default
```

Set the address of the Gateway, the address settings here are for reference only:
The Envoy Gateway deploys Envoy Proxy Service as `LoadBalancer` by default,
so you can set the address of the Gateway directly (the address settings here are for reference only):

```shell
kubectl patch gateway eg --type=json --patch '[{
Expand Down Expand Up @@ -65,5 +53,13 @@ envoy-gateway-metrics-service ClusterIP 10.96.124.73 <none> 844

__Note:__ If the `Gateway.Spec.Addresses` is explicitly set, it will be the only addresses that populates the Gateway status.

## Cluster IP

Using the addresses in `Gateway.Spec.Addresses` as the [Cluster IP][] of Envoy Proxy Service,
this will __require__ the address to be of type `IPAddress` and the [ServiceType][] to be of `ClusterIP`.


[Addresses]: https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.GatewayAddress
[External IPs]: https://kubernetes.io/docs/concepts/services-networking/service/#external-ips
[Cluster IP]: https://kubernetes.io/docs/concepts/services-networking/service/#type-clusterip
[ServiceType]: ../../api/extension_types#servicetype

0 comments on commit 56a0178

Please sign in to comment.