Skip to content

Commit 3e7e865

Browse files
committed
feat(deployments): add Deployments documentation
1 parent b19b066 commit 3e7e865

3 files changed

Lines changed: 37 additions & 5 deletions

File tree

src/applications/deploying-apps.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,32 @@ image in development or in your CI pipeline as you are in production.
5454

5555
Learn how to deploy applications [using Docker images](../applications/using-docker-images.md).
5656

57+
## Tuning Application Settings
58+
59+
It is possible to configure a few of the [globally tunable](../applications/managing-app-configuration.md) settings on per application basis using `config:set`.
60+
61+
Setting | Description
62+
----------------------------------------------- | ---------------------------------
63+
DEIS_DEPLOY_BATCHES | the number of pods to bring up and take down sequentially during a scale (default: number of available nodes)
64+
DEIS_KUBERNETES_DEPLOYMENTS | if enabled [Deployments][] is used to handle an application deploy instead of [ReplicationControllers][]
65+
| any value is acceptable to turn on [Deployments][], to turn it off either remove or pass an empty string (default: off)
66+
KUBERNETES_DEPLOYMENTS_REVISION_HISTORY_LIMIT | how many [revisions][[kubernetes-deployment-revision]] Kubernetes keeps around of a given Deployment (default: all revisions)
67+
68+
When `DEIS_KUBERNETES_DEPLOYMENTS=1` is set on an application then Deis Workflow will use [Deployments][] internally instead of [ReplicationControllers][].
69+
70+
The advantage of that is that rolling-updates will happen server-side in Kubernetes instead of in Deis Workflow Controller,
71+
along with a few other Pod management related functionality. This allows a deploy to continue even when the CLI connection is interrupted.
72+
73+
Deis Workflow will behave the same way with `DEIS_KUBERNETES_DEPLOYMENTS` enabled or disabled. The changes are behind the scenes.
74+
Where you will see differences while using the CLI is `deis ps:list` will output Pod names differently.
75+
76+
Behind the scenes your application deploy will be built up of a Deployment object per process type,
77+
each having multiple ReplicaSets (one per release) which in turn manage the Pods running your application.
78+
5779
[install client]: ../users/cli.md#installation
5880
[application]: ../reference-guide/terms.md#application
5981
[controller]: ../understanding-workflow/components.md#controller
6082
[Twelve-Factor App]: http://12factor.net/
83+
[Deployments]: http://kubernetes.io/docs/user-guide/deployments/
84+
[kubernetes-deployment-revision]: http://kubernetes.io/docs/user-guide/deployments/#revision-history-limit
85+
[ReplicationControllers]: http://kubernetes.io/docs/user-guide/replication-controller/

src/managing-workflow/tuning-component-settings.md

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ application or service. Helm is heavily influenced by [Homebrew](http://brew.sh/
55
[formula model](https://github.com/Homebrew/homebrew-core). A Helm Chart is to Helm as a Formula
66
is to Homebrew.
77

8-
After you cetch the Workflow chart, you can customize the chart using `helmc edit` before using
8+
After you fetch the Workflow chart, you can customize the chart using `helmc edit` before using
99
`helmc generate` and `helmc install` to complete the installation. To customize the respective
1010
component, edit `tpl/deis-<component>-rc.yaml` and modify the `env` section of the component to
1111
tune these settings.
@@ -39,7 +39,10 @@ RESERVED_NAMES | a comma-separated list of name
3939
SLUGRUNNER_IMAGE_NAME | the image used to run buildpack application slugs (default: "quay.io/deisci/slugrunner:canary")
4040
SLUG_BUILDER_IMAGE_PULL_POLICY | the kubernetes [image pull policy][pull-policy] for slugbuilder (default: "Always")
4141
DOCKER_BUILDER_IMAGE_PULL_POLICY | the kubernetes [image pull policy][pull-policy] for dockerbuilder (default: "Always")
42-
DEIS_DEPLOY_BATCHES | the number of pods to bring up and take down sequentially during a scale (default: all)
42+
DEIS_DEPLOY_BATCHES | the number of pods to bring up and take down sequentially during a scale (default: number of available nodes)
43+
DEIS_KUBERNETES_DEPLOYMENTS | if enabled [Deployments][] is used to handle an application deploy platform wide instead of [ReplicationControllers][]
44+
| any value is acceptable to turn on [Deployments][], to turn it off either remove or pass an empty string (default: off)
45+
KUBERNETES_DEPLOYMENTS_REVISION_HISTORY_LIMIT | how many [revisions][[kubernetes-deployment-revision]] Kubernetes keeps around of a given Deployment (default: all revisions)
4346
KUBERNETES_POD_TERMINATION_GRACE_PERIOD_SECONDS | how many seconds kubernetes waits for a pod to finish work after a SIGTERM before sending SIGKILL (default: 30)
4447

4548
## Customizing the Database
@@ -109,11 +112,14 @@ API_VERSION | The version number Workflow Manager sends to the versions AP
109112
[builder]: ../understanding-workflow/components.md#builder
110113
[controller]: ../understanding-workflow/components.md#controller
111114
[database]: ../understanding-workflow/components.md#database
115+
[Deployments]: http://kubernetes.io/docs/user-guide/deployments/
112116
[downward-api]: http://kubernetes.io/docs/user-guide/downward-api/
113117
[gunicorn]: http://gunicorn.org/
118+
[kubernetes-deployment-revision]: http://kubernetes.io/docs/user-guide/deployments/#revision-history-limit
114119
[logger]: ../understanding-workflow/components.md#logger-fluentd-logger
115120
[monitor]: ../understanding-workflow/components.md#monitor
116121
[pull-policy]: http://kubernetes.io/docs/user-guide/images/
117122
[registry]: ../understanding-workflow/components.md#registry
123+
[ReplicationControllers]: http://kubernetes.io/docs/user-guide/replication-controller/
118124
[router]: ../understanding-workflow/components.md#router
119125
[workflow manager]: ../understanding-workflow/components.md#workflow-manager

src/understanding-workflow/concepts.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,10 @@ the activity on your cluster, including: desired state convergence, stable
2323
service addresses, health monitoring, service discovery, and DNS resolution.
2424

2525
Workflow builds upon Kubernetes abstractions like Services, Replication
26-
Controllers, and Pods to provide a developer-friendly experience. Building containers
27-
directly from application source code, aggregating logs, and managing deployment
28-
configurations and app releases are just some of the features Workflow adds.
26+
Controllers, Deployments and Pods to provide a developer-friendly experience.
27+
Building containers directly from application source code, aggregating logs,
28+
and managing deployment configurations and app releases are just some of the
29+
features Workflow adds.
2930

3031
Deis Workflow is a set of Kubernetes-native components, installable via
3132
[Helm Classic][helm]. Systems engineers who are familiar with Kubernetes will feel right

0 commit comments

Comments
 (0)