diff --git a/site/content/en/latest/install/install-helm.md b/site/content/en/latest/install/install-helm.md index 903abe50964..4c3351e6238 100644 --- a/site/content/en/latest/install/install-helm.md +++ b/site/content/en/latest/install/install-helm.md @@ -64,7 +64,7 @@ consideration when debugging. Some of the quick ways of using the helm install command for envoy gateway installation are below. {{% 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). +If you want to know all the available fields inside the values.yaml file, please see the [Helm Chart Values](./api). {{% /alert %}} ### Increase the replicas diff --git a/site/content/zh/latest/install/api.md b/site/content/zh/latest/install/api.md new file mode 100644 index 00000000000..36fe24f6e5b --- /dev/null +++ b/site/content/zh/latest/install/api.md @@ -0,0 +1,59 @@ ++++ +title = "gateway-helm" ++++ + + +![Version: v0.0.0-latest](https://img.shields.io/badge/Version-v0.0.0--latest-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: latest](https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square) + +The Helm chart for Envoy Gateway + +**Homepage:** + +## Maintainers + +| Name | Email | Url | +| ---- | ------ | --- | +| envoy-gateway-steering-committee | | | +| envoy-gateway-maintainers | | | + +## Source Code + +* + +## Values + +| Key | Type | Default | Description | +|-----|------|---------|-------------| +| certgen.job.annotations | object | `{}` | | +| certgen.job.resources | object | `{}` | | +| certgen.job.ttlSecondsAfterFinished | int | `30` | | +| certgen.rbac.annotations | object | `{}` | | +| certgen.rbac.labels | object | `{}` | | +| config.envoyGateway.gateway.controllerName | string | `"gateway.envoyproxy.io/gatewayclass-controller"` | | +| config.envoyGateway.logging.level.default | string | `"info"` | | +| config.envoyGateway.provider.type | string | `"Kubernetes"` | | +| createNamespace | bool | `false` | | +| deployment.envoyGateway.image.repository | string | `"docker.io/envoyproxy/gateway"` | | +| deployment.envoyGateway.image.tag | string | `"latest"` | | +| deployment.envoyGateway.imagePullPolicy | string | `"IfNotPresent"` | | +| deployment.envoyGateway.imagePullSecrets | list | `[]` | | +| deployment.envoyGateway.resources.limits.cpu | string | `"500m"` | | +| deployment.envoyGateway.resources.limits.memory | string | `"1024Mi"` | | +| deployment.envoyGateway.resources.requests.cpu | string | `"100m"` | | +| deployment.envoyGateway.resources.requests.memory | string | `"256Mi"` | | +| deployment.pod.affinity | object | `{}` | | +| deployment.pod.annotations."prometheus.io/port" | string | `"19001"` | | +| deployment.pod.annotations."prometheus.io/scrape" | string | `"true"` | | +| deployment.pod.labels | object | `{}` | | +| deployment.ports[0].name | string | `"grpc"` | | +| deployment.ports[0].port | int | `18000` | | +| deployment.ports[0].targetPort | int | `18000` | | +| deployment.ports[1].name | string | `"ratelimit"` | | +| deployment.ports[1].port | int | `18001` | | +| deployment.ports[1].targetPort | int | `18001` | | +| deployment.ports[2].name | string | `"metrics"` | | +| deployment.ports[2].port | int | `19001` | | +| deployment.ports[2].targetPort | int | `19001` | | +| deployment.replicas | int | `1` | | +| kubernetesClusterDomain | string | `"cluster.local"` | | + diff --git a/site/content/zh/latest/install/custom-cert.md b/site/content/zh/latest/install/custom-cert.md new file mode 100644 index 00000000000..9265fe9122d --- /dev/null +++ b/site/content/zh/latest/install/custom-cert.md @@ -0,0 +1,149 @@ +--- +title: 使用自定义证书的控制平面身份验证 +weight: -70 +--- + +Envoy Gateway 为 Envoy Gateway Pod 和 Envoy 代理队列之间的控制平面通信建立了安全的 TLS 连接。 +此处使用的 TLS 证书是自签名的,并使用在创建 Envoy Gateway 之前运行的 Job 生成, +并且这些证书被安装到 Envoy Gateway 和 Envoy 代理 Pod 上。 + +此任务将引导您完成为控制平面身份验证配置自定义证书。 + +## 开始之前 {#before-you-begin} + +我们使用 Cert-Manager 来管理证书。 +您可以按照[官方指南](https://cert-manager.io/docs/installation/kubernetes/)安装它。 + +## 为控制平面配置自定义证书 {#configure-custom-certs-for-control-plane} + +1. 首先您需要设置 CA 颁发者,在此任务中,我们以 `selfsigned-issuer` 为例。 + + **您不应在生产中使用自签名颁发者,您应该使用真实的 CA 颁发者。** + + ```shell + cat < +``` + +**注意**:以上是我们可以直接用于自定义安装的一些方法。但如果您正在寻找更复杂的更改, +[values.yaml](https://helm.sh/docs/chart_template_guide/values_files/) 可以帮助您。 + +### 使用 values.yaml 文件进行复杂安装 {#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 +``` + +在这里,我们对 value.yaml 文件进行了三处更改。将 CPU 的资源限制增加到 `700m`, +将 gRPC 的端口更改为 `18005`,将限流端口更改为 `18006`,并将日志记录级别更新为 `debug`。 + +您可以通过以下命令使用 value.yaml 文件安装 Envoy Gateway。 + +```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" %}} +如果您想了解 values.yaml 文件中的所有可用字段,请参阅 [Helm Chart Values](./api)。 +{{% /alert %}} + +## 开放端口 {#open-ports} + +这些是 Envoy Gateway 和托管 Envoy 代理使用的端口。 + +### Envoy Gateway {#envoy-gateway} + +| Envoy Gateway | 地址 | 端口 | 是否可配置 | +|:----------------------:|:---------:|:------:| :------: | +| Xds EnvoyProxy Server | 0.0.0.0 | 18000 | No | +| Xds RateLimit Server | 0.0.0.0 | 18001 | No | +| Admin Server | 127.0.0.1 | 19000 | Yes | +| Metrics Server | 0.0.0.0 | 19001 | No | +| Health Check | 127.0.0.1 | 8081 | No | + +### EnvoyProxy {#envoyproxy} + +| Envoy Proxy | 地址 | 端口 | +|:---------------------------------:|:-----------:| :-----: | +| Admin Server | 127.0.0.1 | 19000 | +| Heath Check | 0.0.0.0 | 19001 | + +{{% alert title="后续步骤" color="warning" %}} +Envoy Gateway 现在应该已成功安装并运行。要体验 Envoy Gateway 的更多功能,请参阅[任务](../tasks)。 +{{% /alert %}} diff --git a/site/content/zh/latest/install/install-yaml.md b/site/content/zh/latest/install/install-yaml.md new file mode 100644 index 00000000000..cc94bb353b3 --- /dev/null +++ b/site/content/zh/latest/install/install-yaml.md @@ -0,0 +1,38 @@ ++++ +title = "使用 Kubernetes YAML 安装" +weight = -99 ++++ + +此任务将引导您完成在 Kubernetes 集群中安装 Envoy Gateway。 + +手动安装过程不允许像 [Helm 安装方法](./install-helm)那样对配置进行更多控制, +因此如果您需要对 Envoy Gateway 安装进行更多控制,建议您使用 Helm。 + +## 开始之前 {#before-you-begin} + +Envoy Gateway 设计为在 Kubernetes 中运行以进行生产。最重要的要求是: + +* Kubernetest 1.25+ 版本 +* `kubectl` 命令行工具 + +{{% alert title="兼容性矩阵" color="warning" %}} +请参阅[版本兼容性矩阵](./matrix)了解更多信息。 +{{% /alert %}} + +## 使用 YAML 安装 {#install-with-yaml} + +Envoy Gateway 通常从命令行部署到 Kubernetes。如果您没有 Kubernetes,则应该使用 `kind` 来创建一个。 + +{{% alert title="开发者指南" color="primary" %}} +请参阅[开发者指南](../../contributions/develop)了解更多信息。 +{{% /alert %}} + +1. 在终端中,运行以下命令: + + ```shell + kubectl apply -f https://github.com/envoyproxy/gateway/releases/download/latest/install.yaml + ``` + +2. 后续步骤 + + Envoy Gateway 现在应该已成功安装并运行,但是为了体验 Envoy Gateway 的更多功能,您可以参考[任务](/latest/tasks)。