mirror of
https://github.com/openshift/openshift-docs.git
synced 2026-02-05 12:46:18 +01:00
71 lines
3.7 KiB
Plaintext
71 lines
3.7 KiB
Plaintext
:_mod-docs-content-type: ASSEMBLY
|
|
[id="deployment-strategies"]
|
|
= Using deployment strategies
|
|
include::_attributes/common-attributes.adoc[]
|
|
:context: deployment-strategies
|
|
|
|
toc::[]
|
|
|
|
_Deployment strategies_ are used to change or upgrade applications without downtime so that users barely notice a change.
|
|
|
|
Because users generally access applications through a route handled by a router, deployment strategies can focus on `DeploymentConfig` object features or routing features. Strategies that focus on `DeploymentConfig` object features impact all routes that use the application. Strategies that use router features target individual routes.
|
|
|
|
Most deployment strategies are supported through the `DeploymentConfig` object, and some additional strategies are supported through router features.
|
|
|
|
[id="choosing-deployment-strategies"]
|
|
== Choosing a deployment strategy
|
|
|
|
Consider the following when choosing a deployment strategy:
|
|
|
|
- Long-running connections must be handled gracefully.
|
|
- Database conversions can be complex and must be done and rolled back along with the application.
|
|
- If the application is a hybrid of microservices and traditional components, downtime might be required to complete the transition.
|
|
- You must have the infrastructure to do this.
|
|
- If you have a non-isolated test environment, you can break both new and old versions.
|
|
|
|
A deployment strategy uses readiness checks to determine if a new pod is ready for use. If a readiness check fails, the `DeploymentConfig` object retries to run the pod until it times out. The default timeout is `10m`, a value set in `TimeoutSeconds` in `dc.spec.strategy.*params`.
|
|
|
|
// Rolling strategies
|
|
include::modules/deployments-rolling-strategy.adoc[leveloffset=+1]
|
|
|
|
include::modules/deployments-canary-deployments.adoc[leveloffset=+2]
|
|
|
|
// Creating rolling deployments
|
|
include::modules/creating-rolling-deployments-CLI.adoc[leveloffset=+2]
|
|
|
|
// Editing a deployment
|
|
:context: rolling-strategy
|
|
include::modules/odc-editing-deployments.adoc[leveloffset=+2]
|
|
|
|
// Starting a deployment
|
|
include::modules/odc-starting-rolling-deployment.adoc[leveloffset=+2]
|
|
|
|
[role="_additional-resources"]
|
|
.Additional resources
|
|
* xref:../../applications/creating_applications/odc-creating-applications-using-developer-perspective.adoc#odc-creating-applications-using-developer-perspective[Creating and deploying applications on {product-title} using the *Developer* perspective]
|
|
* xref:../../applications/odc-viewing-application-composition-using-topology-view.adoc#odc-viewing-application-composition-using-topology-view[Viewing the applications in your project, verifying their deployment status, and interacting with them in the *Topology* view]
|
|
|
|
// Recreate strategies
|
|
include::modules/deployments-recreate-strategy.adoc[leveloffset=+1]
|
|
|
|
// Editing a deployment
|
|
:context: recreate-strategy
|
|
include::modules/odc-editing-deployments.adoc[leveloffset=+2]
|
|
|
|
// Starting a deployment
|
|
include::modules/odc-starting-recreate-deployment.adoc[leveloffset=+2]
|
|
|
|
[role="_additional-resources"]
|
|
.Additional resources
|
|
* xref:../../applications/creating_applications/odc-creating-applications-using-developer-perspective.adoc#odc-creating-applications-using-developer-perspective[Creating and deploying applications on {product-title} using the *Developer* perspective]
|
|
* xref:../../applications/odc-viewing-application-composition-using-topology-view.adoc#odc-viewing-application-composition-using-topology-view[Viewing the applications in your project, verifying their deployment status, and interacting with them in the *Topology* view]
|
|
|
|
// Custom strategies
|
|
include::modules/deployments-custom-strategy.adoc[leveloffset=+1]
|
|
|
|
// Editing a deployment
|
|
:context: custom-strategy
|
|
include::modules/odc-editing-deployments.adoc[leveloffset=+2]
|
|
|
|
include::modules/deployments-lifecycle-hooks.adoc[leveloffset=+1]
|