10 Oct 2016 in Helm, Annoucement

Alpha.5: Rollback, history, UX improvements, dependency management

This is the final Helm alpha release for the 2.0.0 development cycle.

WARNING: This release is not backward compatible. We try hard to avoid compatibility breaks because we know it is an inconvenience to you. But we made a tough call: It is better to correct some of our design flaws now than force everyone to "live with them" for the entirety of the 2.0.0 lifecycle. We apologize for the inconvenience, and we don't plan on any other compatibility breaks between now and 2.0.0.

As always, we want to give a big ❤️ to the community, which has continued to find bugs, submit issues, fix things, and participate in conversations. If you'd like to be a part of the community, we invite you to join the Kubernetes Helm Slack channel, drop in on a Thursday Developer Call, and jump in on the GitHub issue queues.

Binary Downloads

Binary downloads of the Alpha.5 Helm client can be found at the following links:

The big changes

Introducing helm rollback: A command for reverting a release to a previous version. It can even undelete releases that were deleted.

Helm and Tiller now are version-aware. They can better indicate whether they are compatible. You will get compatibility errors running helm alpha.4 and tiller alpha.5, for example.

Chart developers, we added a tool to help you manage chart dependencies. Check out helm dependency install and the new requirements.yaml file.

Repositories have been overhauled. To make it easier to find, install, and manage charts, we changed the format of index.yaml. If you run a chart repo, you should re-generate the index file!

Finally, we have worked hard to make some UX improvements:

  • The kubernetes-charts directory was renamed stable. Hooray for brevity.
  • helm update was changed to helm repo update
  • helm history is a new command to make it easy to see the history of a release.
  • helm search was rewritten to make it more usable
    • helm search with no term will return all charts
    • helm search stable/ will return all charts in the repository named stable
  • We dropped the requirement that you install with an explicit version number.
    • helm install stable/mariadb now installs the latest mariadb chart from the stable repository.
    • helm install stable/mariadb --version 0.1.0 now installs version 0.1.0 (rather than the latest)
    • The same syntax is true for helm inspect, helm upgrade, and helm fetch
    • Commands that generate listing (search, list, etc.) now use the table layout by default.

Changes for chart developers

In addition to the new helm dependency * tools, we have made a few small changes in the templates. Two new functions were added:

  • uuidv4 generates a random UUIDv4
  • toYaml encodes a value into YAML

Getting Started with 2.0.0-Alpha.5

The best way to get started is to head over to the Quick Start Guide. Or for more alternative installations, see the Installation Guide.

Please let us know if you find any issues with those guides. We want Helm installation to be an easy and reliable process.

When upgrading to a new version of Tiller, we recommend using kubectl to delete the old one: kubectl delete deployment --namespace kube-system tiller-deploy. This will not delete your releases. From there, running helm init will update you to the latest.

For Mac OSX

$ export HELM_OS=darwin && wget https://storage.googleapis.com/kubernetes-helm/helm-v2.0.0-alpha.5-$HELM_OS-amd64.tar.gz && tar -zxvf helm-v2.0.0-alpha.5-$HELM_OS-amd64.tar.gz && cd $HELM_OS-amd64

For Linux

$ export HELM_OS=linux && wget https://storage.googleapis.com/kubernetes-helm/helm-v2.0.0-alpha.5-$HELM_OS-amd64.tar.gz && tar -zxvf helm-v2.0.0-alpha.5-$HELM_OS-amd64.tar.gz && cd $HELM_OS-amd64

What's Next?

We consider Alpha.5 to be feature complete. The developers are now working on fixing bugs, improving stability, and building some great docs. This is a great time to jump in.

Our next release will be v2.0.0-beta.1. And we will be rolling out betas until we feel like the tool is ready for production use.

7 Oct 2016 in Community Meeting, Deis Workflow, Testing

October 2016 Community Meeting

Community Plus!

We are excited by the growth of the Deis community! Our slack channel is brimming with great folks and we'd love to set the stage for everyone to show off their hard work. If you are interested in a quick five or ten minute spot at the next meeting reach out to @sgoings or @jhansen on our community slack.

Release Review

We've continued to move quickly and shipped Workflow 2.5 and 2.6 in the last month. I gave a quick release review, check out the release blog posts for more details:

Deis Testing Infrastructure

Building and releasing Deis Workflow has put a lot of pressure on our CI infrastructure. We have quite a few components and drive a lot of end-to-end testing. Over the last year we've learned a number of lessons through success and failure. Jonathan Chauncey took the time to talk about our CI infrastructure and shed some light on our successes. I've included some of the project links below for Chauncey's walkthrough which starts at the 10 minute mark.

Click Play

Until Next Time

Our next community meeting will be Thursday, November 3rd, 2016. If you like calendar reminders, click, click, click!

See everyone in November!

4 Oct 2016 in Workflow, GKE, Series: Workflow on GKE

Production Deis Workflow on Google Container Engine, Part Two

This is part two of a two part series that walks you through a full production setup of Deis Workflow.

In part one, we set up off-cluster object storage, a Docker registry, and a Postgres platform database. We then installed Workflow on a Kubernetes cluster.

In this post, I will show you how to secure your cluster with SSL and get DNS set up for your Workflow domain. Finally, I will show you how to upgrade Workflow itself.

Read More
3 Oct 2016 in Workflow, Release, Announcement

Deis Workflow 2.6 Release

Summer may have come to a close in September, but that doesn't mean the Workflow train stops rolling.

The team recently cut Workflow 2.6 which contains a lot of bug fixes and package bumps. Listen to the Pomplamoose cover of Earth Wind and Fire's "September" and cruise through the highlights.

Release Highlights

InfluxDB and Telegraf have been bumped to the 1.0 versions.

Workflow now adds additional metadata to the application environment. This is useful for debugging application environments, can help with auditing, and might be something you want to include in an application health response.

We've cut new base images across the board which include fixes for the recent OpenSSL CVEs.

The logger component went to summer camp and cleaned up its act and is no longer using excessive cpu.

Thanks to community member @robholland, router will now pass through X-Request-Id and X-Correlation-Id headers.

Router also saw a fix for builder + PROXY_PROTOCOL contributed by @felixbuenemann.

Default buildpack versions have been bumped across the board:

There are many smaller fixes, cleanups and documentation additions. Check out the complete Workflow 2.6 change logs in the docs.

Up Next

Our next release is scheduled for October 11th, 2016. You can check out the 2.7 milestone on each of the component repositories, or take a gander at the Workflow Roadmap.

October Community Meeting

The Deis Community Meeting is Thursday October 6th. Join us at 11am Pacific/1900 UTC to talk about what we've been up to. Add the meeting to your calendar or join us directly on Zoom at https://engineyard.zoom.us/j/510595782.

29 Sep 2016 in Kubernetes

What's New With Kubernetes 1.4

Kubernetes announced the release of version 1.4 this week, and already, the response has been great.

The Kubernetes 1.4 release improves Kubernetes' installability, and includes a new tool, kubeadm, to help with this. It also includes support for stateful applications and improves user experience and security.

In this post I'll take a quick look at these new features.

Read More