Deis Workflow 2.1 Release
Happy Tuesday, I hope everyone had a wonderful weekend! Before we struck out for fun in the weekend sun we cut a hot and fresh release of Workflow. Arriving as version 2.1 we've got lots of fixes and a few goodies to boot.
Support for AWS Instance Profiles
We've updated all of the Deis Workflow components to support credential
acquisition through Instance Profiles. To enable this support, leave
secretkey blank when preparing your Workflow charts.
If you would like to transition to Instance Profiles on a running cluster you must:
- Upgrade to Workflow 2.1
- Edit Secret
secretkeyvalues with empty strings
- Restart the pods for deis-database, deis-registry and deis-builder.
Metric and Log shipping via NSQ
We have changed the metric and log shipping infrastructure to use NSQ. This
architectural change helps the metric and log shipping infrastructure function
under much higher rates. You will see a new
deis-nsqd component running in
your cluster after a 2.1.0 upgrade. All other components will use NSQ
Support for off-cluster Postgres
We've also added support to use an off-cluster instance of Postgres. For folks
familiar with Deis V1 this functionality mirrors the "stateless" installations.
When creating a new installation of Deis Workflow you will need to update the
database_location option to
off-cluster and provide connection information
[database] section of
For more information, see our documentation on configuring Postgres.
Better application health checks
We've greatly expanded the ability to define and manage application health checks in Workflow 2.1. We've exposed the ability to define both liveness and readiness checks along with additional ways to call those checks.
We will ultimately deprecate
HEALTHCHECK_ options, until then, we will
config:set HEALTHCHECK_ CLI calls into the new format.
Liveness checks let you inform Kubernetes that your application is, well, alive. If the liveness check fails, the Pod which failed the check will be restarted.
Setting a simple liveness check to hit port 80 on your application is as easy
deis healthchecks:set liveness httpGet 80.
Readiness checks let you tell the load balancer that your application is up and ready to handle traffic. Readiness checks are a great place for your application to verify downstream dependencies. If a dependency is unavailable, restarting your app may not resolve the issue. Instead, you may use readiness checks to inform the load balancer that your process can't accept any traffic at the moment.
Setting a complex readiness check with custom HTTP headers is also easy:
In addition to http-based health checks, we now support
For more detailed information on configuring and using health checks see our
Upgrading to Workflow 2.1
Upgrading is very easy if you've configured off-cluster object storage. Follow our upgrade instructions and enjoy Workflow 2.1
Deis community meeting this week!
Please join us for the next Deis community meeting on Thursday, July 7th:
- Agenda: https://goo.gl/8VW12D
- Time: 11:00 AM PDT (19:00 UTC)
- Calendar link: https://goo.gl/82ToK7
- Video Conference: https://engineyard.zoom.us/j/510595782
See you there!