开始使用网关 API¶
1. 安装网关控制器 或 手动安装网关 API CRD
然后
2. 尝试以下可用指南之一:
- 简单网关 (一个很好的入门指南)
- HTTP 路由
- HTTP 重定向和重写
- HTTP 流量拆分
- 跨命名空间路由
- 配置 TLS
- TCP 路由
- gRPC 路由
- 从 Ingress 迁移
安装网关控制器¶
有多个 项目 支持网关 API。通过在 Kubernetes 集群中安装网关控制器,您可以尝试上述指南。这将演示您所需的路由配置实际上是通过您的网关资源(以及您的网关资源所代表的网络基础设施)实现的。请注意,许多网关控制器设置会为您安装和删除网关 API 包。
安装网关 API¶
从早期的实验通道版本升级
如果您以前安装了实验通道的早期版本,请参阅 v1.1 升级说明。
网关 API 包代表与网关 API 版本相关的 CRD 集合。每个版本都包含两个具有不同稳定性级别的通道
安装标准通道¶
标准发布通道包含已升级到 GA 或 beta 的所有资源,包括 GatewayClass、Gateway、HTTPRoute 和 ReferenceGrant。要安装此通道,请运行以下 kubectl 命令
kubectl apply -f https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.1.0/standard-install.yaml
安装实验通道¶
实验发布通道包含标准发布通道中的所有内容,以及一些实验性资源和字段。这包括 TCPRoute、TLSRoute、UDPRoute 和 GRPCRoute。
请注意,API 的未来版本可能包含对实验性资源和字段的重大更改。例如,任何实验性资源或字段都可能在未来版本中被删除。有关实验通道的更多信息,请参阅我们的 版本控制文档。
要安装实验通道,请运行以下 kubectl 命令
kubectl apply -f https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.1.0/experimental-install.yaml
v1.1 升级说明¶
如果您已在使用先前网关 API 版本的先前实验通道版本的 GRPCRoute 或 BackendTLSPolicy,则在此升级时需要小心。如果您以前从未安装过网关 API,或者只使用过 API 的标准通道,则可以跳过本节的其余部分。
GRPCRoute¶
摘要:如果您已在使用 v1alpha2 GRPCRoute,请坚持使用 v1.1 中的 GRPCRoute 的实验通道,直到您依赖的实现已更新为支持 GRPCRoute v1。
说明:随着 GRPCRoute 升级到 GA,它现在包含在标准通道中。不幸的是,对于已在使用 GRPCRoute 的实验通道版本的用户来说,这可能是一个问题。作为一项规则,标准通道中的 CRD 不会公开 alpha API 版本,以避免该通道中的任何版本弃用。这意味着 GRPCRoute 的标准通道版本不包含 v1alpha2。在网关 API v1.1 版本发布之前构建的所有 GRPCRoute 实现都将仅依赖 v1alpha2,并且需要更新以支持 GRPCRoute v1。直到实现更新为支持 v1 之前,您可以安全地升级到包含在 v1.1 中的 GRPCRoute 的实验通道版本,该版本公开 v1 和 v1alpha2。
升级顺序:如果您已在使用 v1alpha2 GRPCRoute,我们建议您按照以下升级顺序进行操作
- 安装实验 v1.1 GRPCRoute CRD
- 更新您所有的清单以使用
v1
而不是v1alpha2
- 升级到支持 GRPCRoute
v1
API 版本的实现 - 安装标准通道 v1.1 GRPCRoute CRD
BackendTLSPolicy¶
摘要:如果您以前安装了 BackendTLSPolicy,请等待您依赖的实现更新为支持 API 的 v1alpha3
。当升级到支持 v1alpha3
的实现时,您还需要在安装新的 BackendTLSPolicy CRD 之前卸载旧的 CRD。
说明:BackendTLSPolicy 在 v1.1 中对几个重要的字段进行了重命名,导致版本升级到 v1alpha3。由于这是实验通道,因此我们没有提供此更改的原位升级路径,而是需要与您依赖的 BackendTLSPolicy 实现协调 CRD 升级。
升级顺序:如果您已在使用 v1alpha2 BackendTLSPolicy,我们建议您按照以下升级顺序进行操作
- 等待您选择的实现发布对 v1alpha3 的支持
- 删除旧的 v1.1 之前的 BackendTLSPolicy CRD(这也会删除集群中 BackendTLSPolicy 的所有实例)
- 安装新的 v1.1 BackendTLSPolicy CRD
- 部署支持 BackendTLSPolicy v1alpha3 的实现版本
请注意,某些实现可能更喜欢切换步骤 3 和 4 的顺序,值得检查您选择的任何相关实现的发布说明。
清理¶
完成后,您可以通过在上面的命令中将“apply”替换为“delete”来清理网关 API CRD。如果这些资源正在使用中,或者它们是由网关控制器安装的,则不要卸载它们。这将卸载整个集群的网关 API 资源。如果其他人可能正在使用这些资源,请不要这样做,因为这会破坏使用这些资源的任何东西。
更多关于 CRD 管理的信息¶
本指南只提供有关如何开始使用网关 API 的高级概述。有关管理网关 API CRD 的更多信息,请参阅我们的 CRD 管理指南。