Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'doc/user/project/canary_deployments.md')
-rw-r--r--doc/user/project/canary_deployments.md79
1 files changed, 41 insertions, 38 deletions
diff --git a/doc/user/project/canary_deployments.md b/doc/user/project/canary_deployments.md
index 344caed7449..a76517a7341 100644
--- a/doc/user/project/canary_deployments.md
+++ b/doc/user/project/canary_deployments.md
@@ -25,9 +25,6 @@ If there is a problem with the new version of the application, only a small
percentage of users are affected and the change can either be fixed or quickly
reverted.
-Leveraging [Kubernetes' Canary deployments](https://kubernetes.io/docs/concepts/cluster-administration/manage-deployment/#canary-deployments), visualize your canary
-deployments right inside the [deploy board](deploy_boards.md), without the need to leave GitLab.
-
## Use cases
Canary deployments can be used when you want to ship features to only a portion of
@@ -45,38 +42,7 @@ may want to consider [setting `service.spec.sessionAffinity` to `ClientIP` in
your Kubernetes service definitions](https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies), but that is beyond the scope of
this document.
-## Enabling Canary Deployments
-
-Canary deployments require that you properly configure deploy boards:
-
-1. Follow the steps to [enable deploy boards](deploy_boards.md#enabling-deploy-boards).
-1. To track canary deployments you must label your Kubernetes deployments and
- pods with `track: canary`. To get started quickly, you can use the [Auto Deploy](../../topics/autodevops/stages.md#auto-deploy)
- template for canary deployments that GitLab provides.
-
-Depending on the deploy, the label should be either `stable` or `canary`.
-GitLab assumes the track label is `stable` if the label is blank or missing.
-Any other track label is considered `canary` (temporary).
-This allows GitLab to discover whether a deployment is stable or canary (temporary).
-
-Once all of the above are set up and the pipeline has run at least once,
-Go to the environments page under **Pipelines > Environments**.
-As the pipeline executes, deploy boards clearly mark canary pods, enabling
-quick and clear insight into the status of each environment and deployment.
-
-Canary deployments are marked with a yellow dot in the deploy board so that you
-can quickly notice them.
-
-![Canary deployments on deploy board](img/deploy_boards_canary_deployments.png)
-
-### Advanced traffic control with Canary Ingress (DEPRECATED)
-
-> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/215501) in GitLab 13.6.
-> - [Moved](https://gitlab.com/gitlab-org/gitlab/-/issues/212320) from GitLab Premium to GitLab Free in 13.8.
-> - [Deprecated](https://gitlab.com/groups/gitlab-org/configure/-/epics/8) in GitLab 14.5.
-
-WARNING:
-This feature was [deprecated](https://gitlab.com/groups/gitlab-org/configure/-/epics/8) in GitLab 14.5.
+## Advanced traffic control with Canary Ingress
Canary deployments can be more strategic with [Canary Ingress](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#canary),
which is an advanced traffic routing service that controls incoming HTTP
@@ -84,7 +50,7 @@ requests between stable and canary deployments based on factors such as weight,
and others. GitLab uses this service in its [Auto Deploy architecture](../../topics/autodevops/upgrading_auto_deploy_dependencies.md#v2-chart-resource-architecture)
to let users quickly and safely roll out their new deployments.
-#### How to set up a Canary Ingress in a canary deployment
+### How to set up a Canary Ingress in a canary deployment
A Canary Ingress is installed by default if your Auto DevOps pipeline uses
[`v2.0.0+` of `auto-deploy-image`](../../topics/autodevops/upgrading_auto_deploy_dependencies.md#verify-dependency-versions).
@@ -106,14 +72,51 @@ Here's an example setup flow from scratch:
1. [Run a new Auto DevOps pipeline](../../ci/pipelines/index.md#run-a-pipeline-manually)
and make sure that the `canary` job succeeds and creates a canary deployment with Canary Ingress.
-#### How to check the current traffic weight on a Canary Ingress
+### Show Canary Ingress deployments on deploy boards (deprecated)
+
+> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/215501) in GitLab 13.6.
+> - [Moved](https://gitlab.com/gitlab-org/gitlab/-/issues/212320) from GitLab Premium to GitLab Free in 13.8.
+> - [Deprecated](https://gitlab.com/groups/gitlab-org/configure/-/epics/8) in GitLab 14.5.
+
+WARNING:
+This feature was [deprecated](https://gitlab.com/groups/gitlab-org/configure/-/epics/8) in GitLab 14.5.
+
+To view canary deployments you must properly configure deploy boards:
+
+1. Follow the steps to [enable deploy boards](deploy_boards.md#enabling-deploy-boards).
+1. To track canary deployments you must label your Kubernetes deployments and
+ pods with `track: canary`. To get started quickly, you can use the [Auto Deploy](../../topics/autodevops/stages.md#auto-deploy)
+ template for canary deployments that GitLab provides.
+
+Depending on the deploy, the label should be either `stable` or `canary`.
+GitLab assumes the track label is `stable` if the label is blank or missing.
+Any other track label is considered `canary` (temporary).
+This allows GitLab to discover whether a deployment is stable or canary (temporary).
+
+Once all of the above are set up and the pipeline has run at least once,
+Go to the environments page under **Pipelines > Environments**.
+As the pipeline executes, deploy boards clearly mark canary pods, enabling
+quick and clear insight into the status of each environment and deployment.
+
+Canary deployments are marked with a yellow dot in the deploy board so that you
+can quickly notice them.
+
+![Canary deployments on deploy board](img/deploy_boards_canary_deployments.png)
+
+#### How to check the current traffic weight on a Canary Ingress (deprecated)
+
+WARNING:
+This feature was [deprecated](https://gitlab.com/groups/gitlab-org/configure/-/epics/8) in GitLab 14.5.
1. Visit the [deploy board](../../user/project/deploy_boards.md).
1. View the current weights on the right.
![Rollout Status Canary Ingress](img/canary_weight.png)
-#### How to change the traffic weight on a Canary Ingress
+#### How to change the traffic weight on a Canary Ingress (deprecated)
+
+WARNING:
+This feature was [deprecated](https://gitlab.com/groups/gitlab-org/configure/-/epics/8) in GitLab 14.5.
You can change the traffic weight in your environment's deploy board by using [GraphiQL](../../api/graphql/getting_started.md#graphiql),
or by sending requests to the [GraphQL API](../../api/graphql/getting_started.md#command-line).