自定义资源定义 API 参考
本文档提供 API7 Ingress Controller 自定义资源定义 (CRD) 的 API 资源描述。
包 (Packages)
apisix.apache.org/v1alpha1
v1alpha1 包包含 apisix.apache.org v1alpha1 API 组的 API Schema 定义。
BackendTrafficPolicy
BackendTrafficPolicy 定义应用于后端服务的流量处理策略配置。
| 字段 | 描述 |
|---|---|
apiVersion string | apisix.apache.org/v1alpha1 |
kind string | BackendTrafficPolicy |
metadata ObjectMeta | 有关 metadata 字段的详细信息,请参阅 Kubernetes API 文档。 |
spec BackendTrafficPolicySpec | BackendTrafficPolicySpec 定义应用于后端服务的流量处理策略,例如负载均衡策略、连接设置和故障转移行为。 |
Consumer
Consumer 定义消费者的配置。
| 字段 | 描述 |
|---|---|
apiVersion string | apisix.apache.org/v1alpha1 |
kind string | Consumer |
metadata ObjectMeta | 有关 metadata 字段的详细信息,请参阅 Kubernetes API 文档。 |
spec ConsumerSpec | ConsumerSpec 定义消费者的配置,包括消费者名称、身份验证凭据和插件设置。 |
GatewayProxy
GatewayProxy 定义用于将流量路由到服务的网关代理实例的配置。
| 字段 | 描述 |
|---|---|
apiVersion string | apisix.apache.org/v1alpha1 |
kind string | GatewayProxy |
metadata ObjectMeta | 有关 metadata 字段的详细信息,请参阅 Kubernetes API 文档。 |
spec GatewayProxySpec | GatewayProxySpec 定义网关代理实例的配置,包括网络设置、全局插件和插件元数据。 |
HTTPRoutePolicy
HTTPRoutePolicy 定义流量策略的配置。
| 字段 | 描述 |
|---|---|
apiVersion string | apisix.apache.org/v1alpha1 |
kind string | HTTPRoutePolicy |
metadata ObjectMeta | 有关 metadata 字段的详细信息,请参阅 Kubernetes API 文档。 |
spec HTTPRoutePolicySpec | HTTPRoutePolicySpec 定义 HTTPRoutePolicy 的配置,包括路由优先级和请求匹配条件。 |
PluginConfig
PluginConfig 定义插件配置。
| 字段 | 描述 |
|---|---|
apiVersion string | apisix.apache.org/v1alpha1 |
kind string | PluginConfig |
metadata ObjectMeta | 有关 metadata 字段的详细信息,请参阅 Kubernetes API 文档。 |
spec PluginConfigSpec | PluginConfigSpec 定义 PluginConfig 的所需状态,其中指定了插件及其配置。 |
类型 (Types)
本节描述 CRD 使用的类型。
AdminKeyAuth
AdminKeyAuth 定义管理密钥身份验证配置。
| 字段 | 描述 |
|---|---|
value string | Value 显式设置管理密钥值(不推荐用于生产环境)。 |
valueFrom AdminKeyValueFrom | ValueFrom 指定管理密钥的来源。 |
出现在:
AdminKeyValueFrom
AdminKeyValueFrom 定义管理密钥的来源。
| 字段 | 描述 |
|---|---|
secretKeyRef SecretKeySelector | SecretKeyRef 引用 Secret 中的一个键。 |
出现在:
AuthType
基本类型: string
AuthType 定义身份验证的类型。
出现在:
BackendPolicyTargetReferenceWithSectionName
基本类型: LocalPolicyTargetReferenceWithSectionName
| 字段 | 描述 |
|---|---|
group Group | Group 是目标资源的组。 |
kind Kind | Kind 是目标资源的种类。 |
name ObjectName | Name 是目标资源的名称。 |
sectionName SectionName | SectionName 是目标资源中某个部分(section)的名称。当未指定时,此 targetRef 将以整个资源为目标。在以下资源中,SectionName 解释如下: • Gateway:监听器名称 • HTTPRoute:HTTPRouteRule 名称 • Service:端口名称 如果指定了 SectionName,但在目标对象上不存在,则该 Policy 必须附加失败,并且策略实现应在 Policy 状态中记录 ResolvedRefs 或类似 Condition。 |
出现在:
BackendTrafficPolicySpec
| 字段 | 描述 |
|---|---|
targetRefs BackendPolicyTargetReferenceWithSectionName array | TargetRef 标识应用策略的 API 对象。目前,Backends(即 Service、ServiceImport 或任何特定于实现的 backendRef)是唯一有效的 API 目标引用。 |
loadbalancer LoadBalancer | LoadBalancer 表示 Kubernetes Service 的负载均衡器配置。默认策略是轮询(round robin)。 |
scheme string | Scheme 是用于与上游通信的协议。默认为 http。可以是 http、https、grpc 或 grpcs。 |
retries integer | Retries 指定网关在发生超时或 502 错误等错误时应重试发送请求的次数。 |
timeout Timeout | Timeout 设置连接上游的读取、发送和连接超时。 |
passHost string | PassHost 配置当请求被转发到上游时应如何决定主机头(Host header)。默认为 pass。可以是 pass、node 或 rewrite:• pass:保留原始的 Host 头• node:使用上游节点的主机• rewrite:通过 upstreamHost 设置为自定义主机 |
upstreamHost Hostname | UpstreamHost 指定上游请求的主机。仅在 passHost 设置为 rewrite 时使用。 |
出现在: