Resource: Service
Service acts as a top-level container that manages a set of Routes and Configurations which implement a network service. Service exists to provide a singular abstraction which can be access controlled, reasoned about, and which encapsulates software lifecycle decisions such as rollout policy and team resource ownership. Service acts only as an orchestrator of the underlying Routes and Configurations (much as a kubernetes Deployment orchestrates ReplicaSets).
The Service's controller will track the statuses of its owned Configuration and Route, reflecting their statuses and conditions as its own.
See also: https://github.com/knative/serving/blob/main/docs/spec/overview.md#service
JSON representation |
---|
{ "apiVersion": string, "kind": string, "metadata": { object ( |
Fields | |
---|---|
apiVersion |
The API version for this call such as "serving.knative.dev/v1". |
kind |
The kind of resource, in this case "Service". |
metadata |
Metadata associated with this Service, including name, namespace, labels, and annotations. Cloud Run (fully managed) uses the following annotation keys to configure features on a Service:
|
spec |
Spec holds the desired state of the Service (from the client). |
status |
Status communicates the observed state of the Service (from the controller). |
ServiceSpec
ServiceSpec holds the desired state of the Route (from the client), which is used to manipulate the underlying Route and Configuration(s).
JSON representation |
---|
{ "template": { object ( |
Fields | |
---|---|
template |
Template holds the latest specification for the Revision to be stamped out. |
traffic[] |
Traffic specifies how to distribute traffic over a collection of Knative Revisions and Configurations. |
ServiceStatus
The current state of the Service. Output only.
JSON representation |
---|
{ "observedGeneration": integer, "conditions": [ { object ( |
Fields | |
---|---|
observedGeneration |
ObservedGeneration is the 'Generation' of the Route that was last processed by the controller. Clients polling for completed reconciliation should poll until observedGeneration = metadata.generation and the Ready condition's status is True or False. |
conditions[] |
Conditions communicates information about ongoing/complete reconciliation processes that bring the "spec" inline with the observed state of the world. Service-specific conditions include: * "ConfigurationsReady": true when the underlying Configuration is ready. * "RoutesReady": true when the underlying Route is ready. * "Ready": true when both the underlying Route and Configuration are ready. |
latestReadyRevisionName |
From ConfigurationStatus. LatestReadyRevisionName holds the name of the latest Revision stamped out from this Service's Configuration that has had its "Ready" condition become "True". |
latestCreatedRevisionName |
From ConfigurationStatus. LatestCreatedRevisionName is the last revision that was created from this Service's Configuration. It might not be ready yet, for that use LatestReadyRevisionName. |
traffic[] |
From RouteStatus. Traffic holds the configured traffic distribution. These entries will always contain RevisionName references. When ConfigurationName appears in the spec, this will hold the LatestReadyRevisionName that we last observed. |
url |
From RouteStatus. URL holds the url that will distribute traffic over the provided traffic targets. It generally has the form https://{route-hash}-{project-hash}-{cluster-level-suffix}.a.run.app |
address |
From RouteStatus. Similar to url, information on where the service is available on HTTP. |
Methods |
|
---|---|
|
Create a service. |
|
Delete a service. |
|
Get information about a service. |
|
List services. |
|
Replace a service. |