Polish
This commit is contained in:
@@ -181,6 +181,8 @@ See the {spring-boot-module-api}/cloud/CloudFoundryVcapEnvironmentPostProcessor.
|
||||
|
||||
TIP: The https://github.com/pivotal-cf/java-cfenv/[Java CFEnv] project is a better fit for tasks such as configuring a DataSource.
|
||||
|
||||
|
||||
|
||||
[[cloud-deployment-kubernetes]]
|
||||
=== Kubernetes
|
||||
Spring Boot auto-detects Kubernetes deployment environments by checking the environment for `"*_SERVICE_HOST"` and `"*_SERVICE_PORT"` variables.
|
||||
@@ -188,6 +190,8 @@ You can override this detection with the configprop:management.health.probes.ena
|
||||
|
||||
Spring Boot helps you to <<spring-boot-features.adoc#boot-features-application-availability-state,manage the state of your application>> and export it with <<production-ready-features.adoc#production-ready-kubernetes-probes, HTTP Kubernetes Probes using Actuator>>.
|
||||
|
||||
|
||||
|
||||
[[cloud-deployment-kubernetes-container-lifecycle]]
|
||||
==== Kubernetes Container Lifecycle
|
||||
When Kubernetes deletes an application instance, the shutdown process involves several subsystems concurrently: shutdown hooks, unregistering the service, removing the instance from the load-balancer...
|
||||
@@ -207,6 +211,7 @@ lifecycle:
|
||||
Once the pre-stop hook has completed, SIGTERM will be sent to the container and <<spring-boot-features#boot-features-graceful-shutdown,graceful shutdown>> will begin, allowing any remaining in-flight requests to complete.
|
||||
|
||||
|
||||
|
||||
[[cloud-deployment-heroku]]
|
||||
=== Heroku
|
||||
Heroku is another popular PaaS platform.
|
||||
|
||||
@@ -870,6 +870,7 @@ It's also possible to override the `show-details` and `roles` properties if requ
|
||||
TIP: You can use `@Qualifier("groupname")` if you need to register custom `StatusAggregator` or `HttpCodeStatusMapper` beans for use with the group.
|
||||
|
||||
|
||||
|
||||
[[production-ready-kubernetes-probes]]
|
||||
=== Kubernetes Probes
|
||||
Applications deployed on Kubernetes can provide information about their internal state with https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes[Container Probes].
|
||||
@@ -905,6 +906,8 @@ The `"startupProbe"` is not necessarily needed here as the `"readinessProbe"` fa
|
||||
WARNING: If your Actuator endpoints are deployed on a separate management context, be aware that endpoints are then not using the same web infrastructure (port, connection pools, framework components) as the main application.
|
||||
In this case, a Probe check could be successful even if the main application does not work properly (for example, it cannot accept new connections).
|
||||
|
||||
|
||||
|
||||
[[production-ready-kubernetes-probes-external-state]]
|
||||
==== Checking external state with Kubernetes Probes
|
||||
Actuator configures the "liveness" and "readiness" Probes as Health Groups; this means that all the <<production-ready-health-groups, Health Groups features>> are available for them.
|
||||
@@ -927,6 +930,7 @@ Some external systems might not be shared by application instances or not essent
|
||||
Also, Kubernetes will react differently to applications being taken out of the load-balancer, depending on its https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/[autoscaling configuration].
|
||||
|
||||
|
||||
|
||||
[[production-ready-kubernetes-probes-lifecycle]]
|
||||
==== Application lifecycle and Probes states
|
||||
An important aspect of the Kubernetes Probes support is its consistency with the application lifecycle.
|
||||
@@ -952,7 +956,6 @@ When a Spring Boot application starts:
|
||||
|live
|
||||
|ready
|
||||
|Startup tasks are finished. The application is receiving traffic.
|
||||
|
||||
|===
|
||||
|
||||
When a Spring Boot application shuts down:
|
||||
@@ -975,12 +978,12 @@ When a Spring Boot application shuts down:
|
||||
|broken
|
||||
|unready
|
||||
|The application context is closed and the application cannot serve traffic.
|
||||
|
||||
|===
|
||||
|
||||
TIP: Check out the <<deployment.adoc#cloud-deployment-kubernetes-container-lifecycle,Kubernetes container lifecycle section>> for more information about Kubernetes deployment.
|
||||
|
||||
|
||||
|
||||
[[production-ready-application-info]]
|
||||
=== Application Information
|
||||
Application information exposes various information collected from all {spring-boot-actuator-module-code}/info/InfoContributor.java[`InfoContributor`] beans defined in your `ApplicationContext`.
|
||||
|
||||
@@ -191,12 +191,15 @@ NOTE: There are some restrictions when creating an `ApplicationContext` hierarch
|
||||
For example, Web components *must* be contained within the child context, and the same `Environment` is used for both parent and child contexts.
|
||||
See the {spring-boot-module-api}/builder/SpringApplicationBuilder.html[`SpringApplicationBuilder` Javadoc] for full details.
|
||||
|
||||
|
||||
|
||||
[[boot-features-application-availability-state]]
|
||||
=== Application Availability State
|
||||
When deployed on plaftorms, applications can provide information about their availability to the platform using infrastructure like https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/[Kubernetes Probes].
|
||||
Spring Boot manages this application state with the `ApplicationAvailabilityProvider` and makes it available to application components and the platform itself.
|
||||
|
||||
|
||||
|
||||
[[boot-features-application-availability-liveness]]
|
||||
==== Liveness State
|
||||
The "Liveness" state of an application tells whether its internal state allows it to work correctly, or recover by itself if it's currently failing.
|
||||
@@ -209,6 +212,8 @@ The internal state of Spring Boot applications is mostly represented by the Spri
|
||||
If the application context has started successfully, Spring Boot assumes that the application is in a valid state.
|
||||
An application is considered live as soon as the context has been refreshed, see <<boot-features-application-events-and-listeners, Spring Boot application lifecycle and related Application Events>>.
|
||||
|
||||
|
||||
|
||||
[[boot-features-application-availability-readiness]]
|
||||
==== Readiness State
|
||||
The "Readiness" state of an application tells whether the application is ready to handle traffic.
|
||||
|
||||
Reference in New Issue
Block a user