Serving API
パッケージ
- autoscaling.internal.knative.dev/v1alpha1
- serving.knative.dev/v1
- serving.knative.dev/v1alpha1
- serving.knative.dev/v1beta1
autoscaling.internal.knative.dev/v1alpha1
パッケージ v1alpha1 には、オートスケーリング 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 |
(オプション) metadata フィールドのフィールドについては、Kubernetes API ドキュメントを参照してください。 |
||||||||
spec PodAutoscalerSpec |
(オプション)
Spec は、PodAutoscaler の希望の状態を保持します (クライアントから)。
|
||||||||
status PodAutoscalerStatus |
(オプション)
Status は、PodAutoscaler の観測された状態を (コントローラーから) 伝えます。 |
メトリクス
メトリクスは、メトリクスコレクターを設定するためのリソースを表します。
フィールド | 説明 | ||||||
---|---|---|---|---|---|---|---|
metadata Kubernetes meta/v1.ObjectMeta |
(オプション) metadata フィールドのフィールドについては、Kubernetes API ドキュメントを参照してください。 |
||||||
spec MetricSpec |
(オプション)
Spec は、メトリクスの希望の状態を保持します (クライアントから)。
|
||||||
status MetricStatus |
(オプション)
Status は、この特定のエンティティのメトリクス収集の観測された状態を (コントローラーから) 伝えます。 |
MetricSpec
(表示場所:メトリクス)
MetricSpec には、メトリクスコレクターが動作するために必要なすべての値が含まれています。
フィールド | 説明 |
---|---|
stableWindow time.Duration |
StableWindow は、安定状態のメトリクスの集計ウィンドウです。 |
panicWindow time.Duration |
PanicWindow は、迅速な対応が必要なメトリクスの集計ウィンドウです。 |
scrapeTarget string |
ScrapeTarget は、メトリクスエンドポイントを公開する K8s サービスです。 |
MetricStatus
(表示場所:メトリクス)
MetricStatus は、この特定のエンティティのメトリクス収集のステータスを反映します。
フィールド | 説明 |
---|---|
Status knative.dev/pkg/apis/duck/v1.Status |
( |
PodAutoscalerSpec
(表示場所:PodAutoscaler)
PodAutoscalerSpec は、PodAutoscaler の希望の状態を保持します (クライアントから)。
フィールド | 説明 |
---|---|
containerConcurrency int64 |
(オプション)
ContainerConcurrency は、リビジョンのコンテナごとに許可される最大インフライト (同時) リクエスト数を指定します。デフォルトは |
scaleTargetRef Kubernetes core/v1.ObjectReference |
ScaleTargetRef は、この PodAutoscaler が迅速な適切なサイズ調整を担当する /scale-able リソースを定義します。 |
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 は、この PA によってスケーリングされたリビジョンを提供する K8s サービス名です。このサービスは、この PA が所有する ServerlessService オブジェクトによって作成および所有されます。 |
metricsServiceName string |
MetricsServiceName は、リビジョンメトリクスを提供する K8s サービス名です。このサービスは、PA オブジェクトによって管理されます。 |
desiredScale int32 |
DesiredScale は、リビジョンの現在の希望レプリカ数を示します。 |
actualScale int32 |
ActualScale は、リビジョンの実際のレプリカ数を示します。 |
PodScalable
PodScalable は、PodAutoscaler の ScaleTargetRef によって参照されるリソースが実装する必要があるダックタイプです。また、/scale
ベースの実装 (例: HPA) で使用するために /scale
サブリソースも実装する必要がありますが、これにより、参照されるリソースが取る可能性のある形状がさらに制約されます。
フィールド | 説明 | ||||||
---|---|---|---|---|---|---|---|
metadata Kubernetes meta/v1.ObjectMeta |
metadata フィールドのフィールドについては、Kubernetes API ドキュメントを参照してください。 |
||||||
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 の spec を更新することにより、新しいリビジョンを作成します。「最新作成」リビジョンの名前はステータスで確認でき、「最新準備完了」リビジョンの名前も確認できます。以下も参照してください: 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 |
(オプション) metadata フィールドのフィールドについては、Kubernetes API ドキュメントを参照してください。 |
||
spec ConfigurationSpec |
(オプション)
|
||
status ConfigurationStatus |
(オプション) |
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 |
(オプション) metadata フィールドのフィールドについては、Kubernetes API ドキュメントを参照してください。 |
||||||||||
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 |
(オプション) metadata フィールドのフィールドについては、Kubernetes API ドキュメントを参照してください。 |
||
spec RouteSpec |
(オプション)
Spec は、Route の希望の状態を保持します (クライアントから)。
|
||
status RouteStatus |
(オプション)
Statusは、Routeの観測された状態(コントローラーからの情報)を伝えます。 |
Service
Serviceは、ネットワークサービスを実装するRouteとConfigurationを管理する最上位のコンテナとして機能します。Serviceが存在する理由は、アクセス制御や推論が可能で、ロールアウトポリシーやチームリソースの所有権などのソフトウェアライフサイクルの決定をカプセル化できる単一の抽象化を提供するためです。Serviceは、基盤となるRouteとConfigurationのオーケストレーターとしてのみ機能し(Kubernetes DeploymentがReplicaSetをオーケストレーションするのと同様)、その使用は任意ですが推奨されます。
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 |
(オプション) metadata フィールドのフィールドについては、Kubernetes API ドキュメントを参照してください。 |
||||
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からスタンプアウトされ、「Ready」状態が「True」になった最新のリビジョンの名前を保持します。 |
latestCreatedRevisionName string |
(オプション)
LatestCreatedRevisionNameは、このConfigurationから作成された最後のリビジョンです。まだ準備ができていない可能性があり、その場合は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は、コントローラーの設定で指定されたリビジョンURLテンプレートに基づいて、この特定のリビジョンに対して生成されたログ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は、このリビジョンを実行している準備完了したポッドの数を反映します。 |
desiredReplicas int32 |
(オプション)
DesiredReplicasは、このリビジョンを実行するポッドの望ましい数を反映します。 |
RevisionTemplateSpec
(出現箇所:ConfigurationSpec)
RevisionTemplateSpecは、テンプレートから作成されたときにリビジョンが持つべきデータを記述します。参照:https://github.com/kubernetes/api/blob/e771f807/core/v1/types.go#L3179-L3190
フィールド | 説明 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
metadata Kubernetes meta/v1.ObjectMeta |
(オプション) metadata フィールドのフィールドについては、Kubernetes API ドキュメントを参照してください。 |
||||||||||
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の参照が含まれます。SpecにConfigurationNameが表示される場合、これは最後に観測したLatestReadyRevisionNameを保持します。 |
RoutingState(string
のエイリアス)
RoutingStateは、ルートを提供するという点でのリビジョンの状態を表します。
値 | 説明 |
---|---|
"active" |
RoutingStateActiveは、Routeによってアクティブに参照されているリビジョンの状態です。 |
"pending" |
RoutingStatePendingは、リビジョンが作成された後、ルーティング状態が決定される前の状態です。リビジョンのガベージコレクションの目的では、アクティブとして扱われます。 |
"reserve" |
RoutingStateReserveは、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 |
(オプション)
トラフィックのこの部分を送信する特定のリビジョンのRevisionName。これは、ConfigurationNameとは相互に排他的です。 |
configurationName string |
(オプション)
トラフィックのこの部分を送信する構成の最新のリビジョンのConfigurationName。参照される構成の「status.latestReadyRevisionName」が変更されると、トラフィックは以前の「最新の準備完了」リビジョンから新しいリビジョンに自動的に移行されます。このフィールドは、Routeのステータスには設定されず、そのスペックにのみ設定されます。これはRevisionNameとは相互に排他的です。 |
latestRevision bool |
(オプション)
LatestRevisionは、構成の最新の準備完了リビジョンをこのトラフィックターゲットに使用する必要があることを示すためにオプションで提供できます。提供される場合、RevisionNameが空の場合はLatestRevisionがtrueである必要があります。RevisionNameが空でない場合はfalseである必要があります。 |
percent int64 |
(オプション)
Percentは、パーセントベースのルーティングを使用する必要があることを示し、値は、このリビジョンまたは構成にルーティングされるトラフィックのパーセントを示します。 |
url knative.dev/pkg/apis.URL |
(オプション)
URLは、名前付きトラフィックターゲットにアクセスするためのURLを表示します。URLはステータスに表示され、スペックでは許可されていません。URLにはスキーム(例:http://)とホスト名が含まれている必要がありますが、その他(基本認証、URLパスなど)を含めることはできません。 |
serving.knative.dev/v1alpha1
パッケージv1alpha1には、サービスAPIのv1alpha1バージョンが含まれています。APIバージョンを使用すると、同じリソースの複数の同時バージョンをサポートすることにより、下位互換性を維持しながらリソースのAPIコントラクトを変更できます。
リソースタイプ
CannotConvertError
CannotConvertErrorは、フィールドを変換できない場合に返されます。
フィールド | 説明 |
---|---|
Message string |
|
フィールド string |
serving.knative.dev/v1beta1
パッケージv1beta1には、サービス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 metadata フィールドのフィールドについては、Kubernetes API ドキュメントを参照してください。 |
||||
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は、Domain Mappingのターゲットを指定します。 Refで識別されるオブジェクトは、 このコントラクトは、Knative ServicesやKnative RoutesなどのKnative型、および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
で生成されました。