服务 API
包
- autoscaling.internal.knative.dev/v1alpha1
- serving.knative.dev/v1
- serving.knative.dev/v1alpha1
- serving.knative.dev/v1beta1
autoscaling.internal.knative.dev/v1alpha1
包 v1alpha1 包含 Autoscaling v1alpha1 API 类型。
资源类型
PodAutoscaler
PodAutoscaler 是 Knative 的抽象,它封装了 Knative 组件实例化自动扩展器的接口。 此定义是一个抽象,可能由多个定义支持。 有关更多信息,请参阅 Knative 可插拔性演示文稿: https://docs.google.com/presentation/d/19vW9HFZ6Puxt31biNZF3uLRejDmu82rxJIk1cWmxF7w/edit
字段 | 描述 | ||||||||
---|---|---|---|---|---|---|---|---|---|
apiVersion string |
autoscaling.internal.knative.dev/v1alpha1
|
||||||||
kind string |
PodAutoscaler |
||||||||
metadata Kubernetes meta/v1.ObjectMeta |
(可选) 请参阅 Kubernetes API 文档以了解 metadata 字段的字段。 |
||||||||
spec PodAutoscalerSpec |
(可选)
Spec 包含 PodAutoscaler 的期望状态 (来自客户端)。
|
||||||||
status PodAutoscalerStatus |
(可选)
Status 传达 PodAutoscaler 的观察到的状态 (来自控制器)。 |
Metric
Metric 表示一个用于配置指标收集器的资源。
字段 | 描述 | ||||||
---|---|---|---|---|---|---|---|
metadata Kubernetes meta/v1.ObjectMeta |
(可选) 请参阅 Kubernetes API 文档以了解 metadata 字段的字段。 |
||||||
spec MetricSpec |
(可选)
Spec 包含 Metric 的期望状态 (来自客户端)。
|
||||||
status MetricStatus |
(可选)
Status 传达 Metric 的观察到的状态 (来自控制器)。 |
MetricSpec
(出现在:Metric)
MetricSpec 包含指标收集器操作所需的所有值。
字段 | 描述 |
---|---|
stableWindow time.Duration |
StableWindow 是稳定状态下指标的聚合窗口。 |
panicWindow time.Duration |
PanicWindow 是需要快速反应的指标的聚合窗口。 |
scrapeTarget string |
ScrapeTarget 是发布指标端点的 K8s 服务。 |
MetricStatus
(出现在:Metric)
MetricStatus 反映了此特定实体的指标收集状态。
字段 | 描述 |
---|---|
Status knative.dev/pkg/apis/duck/v1.Status |
( |
PodAutoscalerSpec
(出现在:PodAutoscaler)
PodAutoscalerSpec 包含 PodAutoscaler 的期望状态 (来自客户端)。
字段 | 描述 |
---|---|
containerConcurrency int64 |
(可选)
ContainerConcurrency 指定修订版每个容器允许的最大飞行 (并发) 请求。 默认值为 |
scaleTargetRef Kubernetes core/v1.ObjectReference |
ScaleTargetRef 定义了此 PodAutoscaler 负责快速调整大小的 / 可扩展资源。 |
reachability ReachabilityType |
(可选)
Reachability 指定 |
protocolType knative.dev/networking/pkg/apis/networking.ProtocolType |
应用程序层协议。 与从修订版规范推断出的 |
PodAutoscalerStatus
(出现在:PodAutoscaler)
PodAutoscalerStatus 传达 PodAutoscaler 的观察到的状态 (来自控制器)。
字段 | 描述 |
---|---|
Status knative.dev/pkg/apis/duck/v1.Status |
( |
serviceName string |
ServiceName 是服务此修订版的 K8s 服务名称,由此 PA 扩展。 此服务由此 PA 所拥有的 ServerlessService 对象创建和拥有。 |
metricsServiceName string |
MetricsServiceName 是提供修订版指标的 K8s 服务名称。 此服务由 PA 对象管理。 |
desiredScale int32 |
DesiredScale 显示修订版当前期望的副本数。 |
actualScale int32 |
ActualScale 显示修订版的实际副本数。 |
PodScalable
PodScalable 是 PodAutoscaler 的 ScaleTargetRef 所引用的资源必须实现的鸭子类型。 它们还必须实现 /scale
子资源,以便与基于 /scale
的实现 (例如 HPA) 一起使用,但这进一步限制了所引用资源可能采用的形状。
字段 | 描述 | ||||||
---|---|---|---|---|---|---|---|
metadata Kubernetes meta/v1.ObjectMeta |
请参阅 Kubernetes API 文档以了解 metadata 字段的字段。 |
||||||
spec PodScalableSpec |
|
||||||
status PodScalableStatus |
PodScalableSpec
(出现在:PodScalable)
PodScalableSpec 是 PodScalable 的期望状态 (或至少是我们的共享部分) 的规范。
字段 | 描述 |
---|---|
replicas int32 |
|
selector Kubernetes meta/v1.LabelSelector |
|
template Kubernetes core/v1.PodTemplateSpec |
PodScalableStatus
(出现在:PodScalable)
PodScalableStatus 是 PodScalable 的观察到的状态 (或至少是我们的共享部分)。
字段 | 描述 |
---|---|
replicas int32 |
ReachabilityType (string
别名)
(出现在:PodAutoscalerSpec)
ReachabilityType 是用于 PodAutoscaler
的 ScaleTarget
可访问性的不同状态的枚举类型。
值 | 描述 |
---|---|
"Reachable" |
ReachabilityReachable 表示 |
"" |
ReachabilityUnknown 表示 |
"Unreachable" |
ReachabilityUnreachable 表示 |
serving.knative.dev/v1
包 v1 包含 Serving v1 API 类型。
资源类型
Configuration
Configuration 表示线性修订历史记录的“浮动 HEAD”。 用户通过更新 Configuration 的规范来创建新的修订版。 “最新创建”修订版的名称在状态下可用,以及“最新就绪”修订版的名称。 另请参阅: https://github.com/knative/serving/blob/main/docs/spec/overview.md#configuration
字段 | 描述 | ||
---|---|---|---|
apiVersion string |
serving.knative.dev/v1
|
||
kind string |
Configuration |
||
metadata Kubernetes meta/v1.ObjectMeta |
(可选) 请参阅 Kubernetes API 文档以了解 metadata 字段的字段。 |
||
spec ConfigurationSpec |
(可选)
|
||
status ConfigurationStatus |
(可选) |
Revision
Revision 是代码和配置的不可变快照。 修订版引用容器映像。 修订版由对 Configuration 的更新创建。
另请参阅: https://github.com/knative/serving/blob/main/docs/spec/overview.md#revision
字段 | 描述 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
apiVersion string |
serving.knative.dev/v1
|
||||||||||
kind string |
Revision |
||||||||||
metadata Kubernetes meta/v1.ObjectMeta |
(可选) 请参阅 Kubernetes API 文档以了解 metadata 字段的字段。 |
||||||||||
spec RevisionSpec |
(可选)
|
||||||||||
status RevisionStatus |
(可选) |
Route
Route 负责配置对修订版集合的入口。 Route 分发的某些修订版可以指定为引用负责创建它们的 Configuration; 在这些情况下,Route 还负责监视 Configuration 以了解“最新就绪修订版”更改,并平滑地推出最新修订版。 另请参阅: https://github.com/knative/serving/blob/main/docs/spec/overview.md#route
字段 | 描述 | ||
---|---|---|---|
apiVersion string |
serving.knative.dev/v1
|
||
kind string |
Route |
||
metadata Kubernetes meta/v1.ObjectMeta |
(可选) 请参阅 Kubernetes API 文档以了解 metadata 字段的字段。 |
||
spec RouteSpec |
(可选)
Spec 包含 Route 的期望状态 (来自客户端)。
|
||
status RouteStatus |
(可选)
Status 传达 Route 的观察到的状态 (来自控制器)。 |
Service
Service 充当管理 Route 和 Configuration 的顶级容器,它们实现网络服务。 Service 存在是为了提供一个单一的抽象,可以对其进行访问控制,进行推理,并封装软件生命周期决策,例如推出策略和团队资源所有权。 Service 仅充当底层 Route 和 Configuration 的协调器 (就像 Kubernetes Deployment 协调 ReplicaSets 一样),它的使用是可选的,但建议使用。
Service 的控制器将跟踪其拥有的 Configuration 和 Route 的状态,反映其状态和条件作为其自身的状态和条件。
另请参阅: https://github.com/knative/serving/blob/main/docs/spec/overview.md#service
字段 | 描述 | ||||
---|---|---|---|---|---|
apiVersion string |
serving.knative.dev/v1
|
||||
kind string |
Service |
||||
metadata Kubernetes meta/v1.ObjectMeta |
(可选) 请参阅 Kubernetes API 文档以了解 metadata 字段的字段。 |
||||
spec ServiceSpec |
(可选)
|
||||
status ServiceStatus |
(可选) |
ConfigurationSpec
(出现在:Configuration, ServiceSpec)
ConfigurationSpec 包含 Configuration 的期望状态 (来自客户端)。
字段 | 描述 |
---|---|
template RevisionTemplateSpec |
(可选)
Template 包含要冲压出的修订版的最新规范。 |
ConfigurationStatus
(出现在:Configuration)
ConfigurationStatus 传达 Configuration 的观察到的状态 (来自控制器)。
字段 | 描述 |
---|---|
Status knative.dev/pkg/apis/duck/v1.Status |
( |
ConfigurationStatusFields ConfigurationStatusFields |
( |
ConfigurationStatusFields
(出现于:ConfigurationStatus, ServiceStatus)
ConfigurationStatusFields 包含 Configuration 状态中通常不会共享的字段。 这是单独定义并内联的,以便其他类型可以通过鸭子类型轻松使用这些字段。
字段 | 描述 |
---|---|
latestReadyRevisionName string |
(可选)
LatestReadyRevisionName 保存从此 Configuration 中创建的最新 Revision 的名称,其“Ready”条件已变为“True”。 |
latestCreatedRevisionName string |
(可选)
LatestCreatedRevisionName 是从此 Configuration 创建的最后一个 Revision。 它可能尚未准备好,为此请使用 LatestReadyRevisionName。 |
ContainerStatus
(出现于:RevisionStatus)
ContainerStatus 保存容器名称和镜像摘要值的信息
字段 | 描述 |
---|---|
name string |
|
imageDigest string |
RevisionSpec
(出现于:Revision, RevisionTemplateSpec)
RevisionSpec 保存 Revision 的期望状态(来自客户端)。
字段 | 描述 |
---|---|
PodSpec Kubernetes core/v1.PodSpec |
( |
containerConcurrency int64 |
(可选)
ContainerConcurrency 指定修订版每个容器允许的最大飞行 (并发) 请求。 默认值为 |
timeoutSeconds int64 |
(可选)
TimeoutSeconds 是请求实例允许响应请求的最大持续时间(以秒为单位)。 如果未指定,将提供系统默认值。 |
responseStartTimeoutSeconds int64 |
(可选)
ResponseStartTimeoutSeconds 是请求路由层等待传递到容器的请求开始发送任何网络流量的最大持续时间(以秒为单位)。 |
idleTimeoutSeconds int64 |
(可选)
IdleTimeoutSeconds 是请求在不从用户的应用程序接收任何字节的情况下允许保持打开状态的最大持续时间(以秒为单位)。 如果未指定,将提供系统默认值。 |
RevisionStatus
(出现于:Revision)
RevisionStatus 传达 Revision 的观察状态(来自控制器)。
字段 | 描述 |
---|---|
Status knative.dev/pkg/apis/duck/v1.Status |
( |
logUrl string |
(可选)
LogURL 根据控制器配置中指定的 Revision URL 模板,指定为此特定 Revision 生成的日志 URL。 |
containerStatuses []ContainerStatus |
(可选)
ContainerStatuses 是 .Spec.Container[*].Image 中存在的图像与其各自摘要及其容器名称的切片。 摘要在 Revision 创建期间解析。 ContainerStatuses 保存服务和非服务容器的容器名称和镜像摘要。 参考:http://bit.ly/image-digests |
initContainerStatuses []ContainerStatus |
(可选)
InitContainerStatuses 是 .Spec.InitContainer[*].Image 中存在的图像与其各自摘要及其容器名称的切片。 摘要在 Revision 创建期间解析。 ContainerStatuses 保存服务和非服务容器的容器名称和镜像摘要。 参考:http://bit.ly/image-digests |
actualReplicas int32 |
(可选)
ActualReplicas 反映运行此 Revision 的就绪 Pod 数量。 |
desiredReplicas int32 |
(可选)
DesiredReplicas 反映运行此 Revision 的期望 Pod 数量。 |
RevisionTemplateSpec
(出现于:ConfigurationSpec)
RevisionTemplateSpec 描述了从模板创建时 Revision 应该具有的数据。 基于:https://github.com/kubernetes/api/blob/e771f807/core/v1/types.go#L3179-L3190
字段 | 描述 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
metadata Kubernetes meta/v1.ObjectMeta |
(可选) 请参阅 Kubernetes API 文档以了解 metadata 字段的字段。 |
||||||||||
spec RevisionSpec |
(可选)
|
RouteSpec
(出现于:Route, ServiceSpec)
RouteSpec 保存 Route 的期望状态(来自客户端)。
字段 | 描述 |
---|---|
traffic []TrafficTarget |
(可选)
Traffic 指定如何将流量分布在修订版和配置的集合上。 |
RouteStatus
(出现于:Route)
RouteStatus 传达 Route 的观察状态(来自控制器)。
字段 | 描述 |
---|---|
Status knative.dev/pkg/apis/duck/v1.Status |
( |
RouteStatusFields RouteStatusFields |
( |
RouteStatusFields
(出现于:RouteStatus, ServiceStatus)
RouteStatusFields 包含 Route 状态中通常不会共享的字段。 这是单独定义并内联的,以便其他类型可以通过鸭子类型轻松使用这些字段。
字段 | 描述 |
---|---|
url knative.dev/pkg/apis.URL |
(可选)
URL 保存将流量分配到提供的流量目标的 URL。 它通常具有以下形式 http[s]://{route-name}.{route-namespace}.{cluster-level-suffix} |
address knative.dev/pkg/apis/duck/v1.Addressable |
(可选)
Address 保存 Route 成为事件目标所需的信息。 |
traffic []TrafficTarget |
(可选)
Traffic 保存配置的流量分配。 这些条目将始终包含 RevisionName 引用。 当 ConfigurationName 出现在规范中时,这将保存我们最后观察到的 LatestReadyRevisionName。 |
RoutingState (string
别名)
RoutingState 表示 Revision 在服务路由方面的状态。
值 | 描述 |
---|---|
"active" |
RoutingStateActive 是 Revision 的一种状态,该状态被 Route 积极引用。 |
"pending" |
RoutingStatePending 是 Revision 创建后但其路由状态尚未确定之前的状态。 在 Revision 垃圾回收方面,它被视为活动状态。 |
"reserve" |
RoutingStateReserve 是 Revision 的一种状态,该状态不再被 Route 引用,并且已缩减规模,但可能会被快速固定到 Route 以重新激活。 |
"" |
RoutingStateUnset 是路由状态的空值,此状态是意外的。 |
ServiceSpec
(出现于:Service)
ServiceSpec 表示 Service 对象的配置。 Service 的规范是 Route 和 Configuration 的规范的并集。 Service 限制了这些字段中可以表达的内容,例如 Route 必须引用提供的 Configuration; 但是,这些限制也使更友好的默认值成为可能,例如 Route 从不需要 Configuration 名称,并且可以默认设置为适当的“运行最新”规范。
字段 | 描述 |
---|---|
ConfigurationSpec ConfigurationSpec |
( ServiceSpec 内联了一个不受限制的 ConfigurationSpec。 |
RouteSpec RouteSpec |
( ServiceSpec 内联 RouteSpec 并通过 webhook 限制/默认其字段。 特别是,此规范只能引用此 Service 的配置和修订版 (这也影响默认值)。 |
ServiceStatus
(出现于:Service)
ServiceStatus 表示 Service 资源的 Status 部分。
字段 | 描述 |
---|---|
Status knative.dev/pkg/apis/duck/v1.Status |
( |
ConfigurationStatusFields ConfigurationStatusFields |
( 除了内联 ConfigurationSpec 之外,我们还内联特定于 ConfigurationStatus 的字段。 |
RouteStatusFields RouteStatusFields |
( 除了内联 RouteSpec 之外,我们还内联特定于 RouteStatus 的字段。 |
TrafficTarget
(出现于:RouteSpec, RouteStatusFields)
TrafficTarget 保存 Route 的路由表中的单个条目。
字段 | 描述 |
---|---|
tag string |
(可选)
Tag 可选用于公开专用 URL 以专门引用此目标。 |
revisionName string |
(可选)
要将此部分流量发送到的特定 Revision 的 RevisionName。 这与 ConfigurationName 互斥。 |
configurationName string |
(可选)
Configuration 的 ConfigurationName,我们将向其最新 Revision 发送此部分流量。 当引用的 Configuration 的“status.latestReadyRevisionName”发生变化时,我们将自动将流量从之前的“最新就绪”Revision 迁移到新的 Revision。 此字段永远不会在 Route 的状态中设置,而只会在其规范中设置。 这与 RevisionName 互斥。 |
latestRevision bool |
(可选)
LatestRevision 可选提供以指示应使用 Configuration 的最新就绪 Revision 用于此流量目标。 如果 RevisionName 为空,则提供 LatestRevision 时必须为 true; 当 RevisionName 非空时,它必须为 false。 |
percent int64 |
(可选)
Percent 指示应使用基于百分比的路由,并且该值指示路由到此 Revision 或 Configuration 的流量百分比。 |
url knative.dev/pkg/apis.URL |
(可选)
URL 显示用于访问命名流量目标的 URL。 URL 在状态中显示,并且在规范中不允许。 URL 必须包含方案(例如 http://)和主机名,但不能包含其他任何内容(例如基本身份验证、URL 路径等) |
serving.knative.dev/v1alpha1
包 v1alpha1 包含 serving api 的 v1alpha1 版本。 Api 版本允许在保持向后兼容性的同时更改资源的 api 合同,方法是支持同一资源的多个并发版本
资源类型
CannotConvertError
当字段无法转换时,将返回 CannotConvertError。
字段 | 描述 |
---|---|
Message string |
|
字段 string |
serving.knative.dev/v1beta1
包 v1beta1 包含 serving api 的 v1beta1 版本。 Api 版本允许在保持向后兼容性的同时更改资源的 api 合同,方法是支持同一资源的多个并发版本
资源类型
DomainMapping
DomainMapping 是从自定义主机名到 Addressable 的映射。
字段 | 描述 | ||||
---|---|---|---|---|---|
apiVersion string |
serving.knative.dev/v1beta1
|
||||
kind string |
DomainMapping |
||||
metadata Kubernetes meta/v1.ObjectMeta |
(可选)
标准对象的元数据。 更多信息:https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#metadata 请参阅 Kubernetes API 文档以了解metadata 字段的字段。 |
||||
spec DomainMappingSpec |
(可选)
Spec 是 DomainMapping 的期望状态。 更多信息:https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
|
||||
status DomainMappingStatus |
(可选)
Status 是 DomainMapping 的当前状态。 更多信息:https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status |
CannotConvertError
当字段无法转换时,将返回 CannotConvertError。
字段 | 描述 |
---|---|
Message string |
|
字段 string |
DomainMappingSpec
(出现于:DomainMapping)
DomainMappingSpec 描述了用户希望存在的 DomainMapping。
字段 | 描述 |
---|---|
ref knative.dev/pkg/apis/duck/v1.KReference |
Ref 指定 DomainMapping 的目标。 Ref 标识的对象必须是一个 Addressable,其 URL 形式为 此契约由 Knative 类型(例如 Knative Services 和 Knative Routes)以及 Kubernetes Services 满足。 |
tls SecretTLS |
(可选)
TLS 允许 DomainMapping 使用现有密钥终止 TLS 流量。 |
DomainMappingStatus
(出现于:DomainMapping)
DomainMappingStatus 描述了 DomainMapping 的当前状态。
字段 | 描述 |
---|---|
Status knative.dev/pkg/apis/duck/v1.Status |
( |
url knative.dev/pkg/apis.URL |
(可选)
URL 是此 DomainMapping 的 URL。 |
address knative.dev/pkg/apis/duck/v1.Addressable |
(可选)
Address 保存 DomainMapping 成为事件目标所需的信息。 |
SecretTLS
(出现于:DomainMappingSpec)
SecretTLS 用于 TLS SecretName 的包装器。
字段 | 描述 |
---|---|
secretName string |
SecretName 是用于终止 TLS 流量的现有密钥的名称。 |
使用 gen-crd-api-reference-docs
生成。