Tag: Helm
6 Apr 2017 in Community Meeting, Deis Workflow, KubeCon, Helm

April 2017 Update

March and early April have been busy! KubeCon EU, DevOps Days Vancouver, Workflow 2.13, Service Catalog's first release, and Helm community just shipped 2.3! Welcome to the multi-media extravaganza of an update!

Read More
22 Feb 2017 in Helm, Announcement, Monocular

Building A Helm Repository UI.

Readers of this blog are well acquainted with the amazing, rapid success of Helm. Matt Butcher, who leads Deis's Helm efforts, narrated the unlikely origin story here.

I'll add some additional subtext to that tale: one of the assumptions of our hackathon design efforts was that such a product would need a web UI for users to explore, search, and get detailed info on published charts (of course we hadn't yet named these packages charts!). Though this UI was key in communicating the value proposition of a standard Kubernetes package manager ecosystem to our honorable hackathon judges, it was largely set aside as we went about actually building the core components of the Helm stack, and most importantly, building the community of contributors and users.

Gone But Not Forgotten

Today, Bitnami presents the first public web UI to interface with official published Helm charts:

https://kubeapps.com.

Read More
14 Feb 2017 in Helm, Announcement, Valentine

A valentine from the Helm team.

Today the Kubernetes Helm team sent the community a valentine in the form of a new release, version 2.2.0. Since version 2.1.0, Helm has gained over 150 contributions from more than 40 contributors.

Helm 2.2's headline feature is its new testing framework. Chart developers have been clamoring for a way to verify that their charts are working in-cluster. This newly released helm test command provides just that. Now chart creators can define a suite of tests to verify the integrity of a release.

Along with the testing framework, 2.2.0 contains dozens of features designed to improve both the chart development experience and the operator's experience. New flags give operators better control over how charts are installed, queried, and upgraded. New template objects and functions give developers more ways to learn about the Kubernetes environment. And a new set of tags and conditions makes it possible for complex charts to switch on and off certain dependencies. Finally, many updates have bolstered the documentation for Helm.

Read More
8 Feb 2017 in Helm, Announcement

Graduation day for Helm! The first project to exit Kubernetes Incubator.

We are excited to announce that Helm, the package manager for Kubernetes, has officially graduated from the Kubernetes Incubator program!

A huge amount of thanks is due to the Helm user and contributor communities. Your usage, support, development and hard work made this all possible.

The Kubernetes incubation process is designed to set a high quality bar for projects under the Kubernetes umbrella. Projects must not only demonstrate that they are functional, but also that they are active, stable, well-governed, and useful to the broader community. To pass these gates, the Helm project met multiple criteria. We iterated through several stable releases. The community showed its support. And the project continues on its relentless quest to build the best Kubernetes package manager.

Read More
24 Jan 2017 in Training, Kubernetes, Helm, Workflow

Check out our new training!

Over the last year our Professional Services team has helped many companies succeed at all stages of Kubernetes adoption. We’ve worked with teams just starting out with containers to organizations grappling with multi-cloud Kubernetes at scale.

We've taken these real-world experiences and crafted a set of training courses that help give your organization the boost it needs. From Kubernetes Fundamentals to Kubernetes Cluster Planning and Day-two Kubernetes Operations, we have a set of courses that map to your Kubernetes journey. In addition, we offer introductory and advanced courses for Deis open source tools like Helm and Workflow.

Read More
17 Nov 2016 in Helm, Annoucement

Helm 2.0 stable release!

Kubernetes Helm, the package manager for Kubernetes, has released the 2.0.0 version of software. Helm 2 gives teams the tools to collaborate when creating, installing, and managing applications inside of Kubernetes.

With Helm you can…

  • Find pre-packaged software (charts) to install and use
  • Easily create and host your own packages
  • Install packages into any Kubernetes cluster
  • Query the cluster to see what packages are installed and running
  • Update, delete, rollback, or view the history of installed packages

Helm includes two components: The Helm CLI tool, and an in-cluster release manager named Tiller. The Tiller component is responsible for tracking and managing installed packages.

Helm was the missing piece that enabled us to deploy our healthcare application to Kubernetes in a HIPAA-compliant way. It's also made our development/acceptance infrastructure much easier to manage. -- Sean Knox, Director of Engineering, Able Health

Read More
15 Nov 2016 in Jenkins, Deis Workflow, Helm

Running Jenkins Nodes on Kubernetes

A Component is Born

In this post, I'm going to demonstrate a new component called jenkins-node. jenkins-node is a new project that brings up a Jenkins slave on Kubernetes. It uses Helm to install into the cluster, connects to the Jenkins master and runs build executions in its workspace.

The Current Infrastructure

Before this project was conceived, we have several nodes running across the system:

Read More
11 Nov 2016 in Deis Workflow, Helm

Workflow Helm charts - Signed, Sealed, Delivered, They're Yours

Workflow & Co., Now in Delicious Kubernetes Helm Flavor

You may have noticed Kubernetes Helm charts for Workflow and associated components being released, starting with Workflow v2.8.0. Though officially still experimental, we encourage users to try them out!

(As Helm nears its final 2.0.0 release, the Workflow team is currently putting the finishing touches on a migration strategy for upgrading clusters from Helm Classic to Helm. Stay tuned!)

Read More
7 Nov 2016 in Community Meeting, Deis Workflow, Helm

November 2016 Community Meeting

Helm Nearing Stable Release

The Helm community is fast approaching a stable release. With two Release Candidates out in the wild as well as growing momentum around folks authoring charts, we couldn't be more excited!

If you haven't had a chance to play with Helm, check out the quickstart documentation and play with some stable charts.

Workflow 2.8 Release Review

Now that the Helm project is cutting Release Candidates it is time to start the migration process from Helm Classic to Helm 2.0. The Workflow team is now cutting experimental charts for Workflow using Helm 2.0! To try out these new charts, head over to the installation documentation. The Workflow team will be working on a migration path for Helm Classic to Helm 2.0 in the upcoming releases.

Read More
21 Oct 2016 in Helm, Annoucement

Helm Beta.1: Fixes, fixes, everywhere...

The Helm community has cut the first beta release for 2.0.0! Helm is now feature complete and the community is focusing on fixing bugs, general stability, and documentation.

If you haven't checked out Helm, now is a great time to jump in and help the team batten down the hatches.

As always, the great Helm community can be found in the #helm channel on the Kubernetes Slack.

Read More
21 Oct 2016 in Helm

Getting Started Authoring Helm Charts

Helm is the package manager for Kubernetes. In my last post, I showed you how to install a Helm chart. Check that out if you're new to Helm or you just want a refresher.

In this post, I'm going to dig into the Helm chart authoring process to illustrate just how easy it is to get started.

I will build on our previous example: Apache Spark.

Since publishing my last post, the Spark chart is now available in the official Kubernetes chart repo. So I'll use this chart as a working example, and walk you through the bits and pieces that make it up.

Read More
14 Oct 2016 in Helm, Annoucement

Happy 1st Birthday Helm!

The Story Behind Helm

Happy 1st Birthday, Helm!

On October 15th, 2015, the project now known as Helm was born. Only one year in, Kubernetes Helm is part of the CNCF, and is marching toward the v2.0.0 release. And in every sense of the word, it is now a community-driven project. But the circumstances behind the creation of Helm read like a script for a Silicon Valley tech comedy.

Read More
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.

Read More
7 Sep 2016 in Helm, Kubernetes

Trusting Who's at the Helm

Last year at KubeCon in San Francisco, I first learnt about Helm—a sort of Homebrew for Kubernetes. It seemed too good to be true, so I dug deeper. Fast forward to today, and I find myself packaging applications with Helm.

In this post, I'll talk briefly about why Helm is so exciting, and then show you how to install and use one of the packages I wrote.

Why Use a Package Manager?

A team I worked with was deploying various components to Kubernetes, including: Zookeeper, etcd, Consul, Cassandra, Kafka, and Elasticsearch. Each one of these components was using a manifest file that someone on the team had written by hand, and then these manifest files had been improved over time. Each change, each improvement, reflecting some sort of knowledge or experience the team had gained.

But there are many teams across the world deploying these same components. And let's face it, most deploy situations are similar enough. So each one of these teams is, for the most part, duplicating each other's work.

But what if there was a way to avoid that? What if we could organise that collective knowledge and bring people together to collaborate on it.

Read More
6 Sep 2016 in Helm, Annoucement

Helm Alpha.4: Persistent Storage, Improved Status, Provenance Files, and API Version Checking

Helm 2.0.0-alpha.4 is the penultimate Helm Alpha release. This new version introduces four major changes:

  • ConfigMap storage is now the default backend. When you create a release with Helm, the release data will be stored in config maps in the kube-system namespace. This means releases are now persistent.
  • helm status got a much-needed overhaul, and now provides lots of useful information about the details of a release.
  • The Tiller server now checks the apiVersion field of manifests before loading a chart into Kubernetes. Now, for example, a chart that uses PetSets will stop early if it detects that the Kubernetes installation does not support PetSets.
  • Helm can now cryptographically verify the integrity of a packaged chart using a provenance file. To this end, helm package now has a --sign flag, and several commands now have a --verify flag.
Read More
10 Aug 2016 in Helm, Annoucement

Helm Alpha.3: The biggest release yet!

Helm v2.0.0-Alpha.3 has many new features and improvements. It marks our biggest release yet. The Helm team owes a tremendous debt of gratitude to our outstanding community, which has been a source of ideas, issues, fixes, features, and encouragement. Thank you!

Alpha.3 also includes the first set of released binaries which means you no longer have to compile the project to start kicking the tires. Check out "Getting Involved" section for details.

Features

The headliner features are:

  • A new helm upgrade command can upgrade releases in place. We suggest using Kubernetes Deployments for maximum impact.
  • A vastly improved helm status command shows you information about the current state of your releases.
  • Helm now has commands for getting information about a release using helm get, helm get values, helm get hooks, and helm get manifest.
  • By default, releases are still stored in memory. But they may now optionally be stored in Kubernetes ConfigMaps instead. In subsequent releases, ConfigMaps will become the default.
  • The new helm inspect command allows users to preview chart information before installing a chart: helm inspect kube-charts/alpine-0.1.0
  • Tiller now installs into the kube-system namespace, but can install charts into any namespace it has write access to.
  • Helm supports hooks for pre-install, post-install, pre-upgrade, post-upgrade, pre-delete, and post-delete. With these, you can now attach Kubernetes jobs to release events.

But that is not all!

Read More
8 Aug 2016 in Community Meeting, Helm, Deis Workflow

August 2016 Community Meeting

Stop, demo time!

This month we had two demos from Deis engineers. First, Aaron Schlessinger showed off megaboom which we use to stress our the Workflow logging subsystem.

Second, Helgi Þorbjörnsson showed off Workflow deploying applications with Kubernetes Deployments. We are planning on making this the default strategy in Workflow 2.4.

Read More
9 Jul 2016 in Community Meeting, Helm, Deis Workflow

July 2016 Community Meeting

Bunch of updates this month, we've been busy!

Workflow 2.1 and 2.2

Expanding on the release blog post earlier this week, Deis team members join us and give a little more flavor on the 2.1 release items:

  • AWS Instance Profile Support
  • Support for off-cluster Postgres
  • Advancing application health checks
  • Windows support for Deis Workflow CLI
  • Details on the metrics and log shipping architecture changes
Read More
24 Jun 2016 in Helm, Annoucement

Helm Alpha.2: Update all the things!

This release marks the second of four planned Alpha releases. We have made a lot of progress (and a lot of changes) since Alpha.1. Here are the highlights:

Features

  • helm lint has gotten a major overhaul. The core architecture is now considered stable, and the linter team is transitioning focus to (a) adding rules, and (b) integrating linting into the chart development workflow.
  • Helm's server-side Tiller component can now be installed into any namespace. Alpha.1 restricted Tiller to the helm namespace. Now Tiller is installed into the user's configured namespace (usually default) by default, but can be installed into any namespace.
  • Values files are now in YAML format (bye-bye TOML). We're experimenting with support for globally scoped variables.
  • Templates now support more functions (Sprig 2.3). We still have a few big changes coming to the template system, but the new docs/examples/nginx template provides a better example of how we envision template support.
  • helm install can now install directly from a chart repository.
  • Helm charts now support .helmignore files, which are similar to .gitignore files, providing a convenient way to tell Helm about files that should not be packaged into the chart.
  • Tiller has liveness and readiness probes for Kubernetes
Read More
26 May 2016 in Helm, Kubernetes, Annoucement

Helm 2 Reaches Alpha 1

This release marks the first in the Helm 2 line. It is an unstable Alpha-quality release that supports the core functionality for the Helm 2 platform.

Helm 2 has two major components:

  • The Helm client, whose responsibility is to provide tooling for working with charts and uploading them to the server.
  • The Tiller server, whose responsibility is to manage releases into the Kubernetes cluster.

Additionally, Helm can fetch charts from remote repositories. A Helm 2 chart repository is simply an HTTP server capable of serving YAML and TGZ files.

Read More
21 Apr 2016 in Deis Workflow, Helm, Wercker, Continuous Deployment

Continuous Deployment With Helm Classic, Deis Workflow, and Wercker

Deis Workflow is already in GA for a while. But what is it like to work with? Well, I created an example repository on GitHub to demo some functionality.

Using this example, we'll build a simple, multi-tier web application using Helm Classic, Deis Workflow, and Wercker for continuous deployment.

When we finish, we'll have:

  • A backend Redis cluster (for storage)
  • A web frontend (installed as a Deis Workflow app) that interacts with Redis via JavaScript
  • Wercker for continuous deployment of your Docker image to Deis Workflow
Read More
14 Jan 2016 in Announcement, Helm, Kubernetes

The Helm 0.3 Release Line Is Here

Helm is a package manager for Kubernetes.

Helm 0.3.0 was released last week, and 0.3.1 was released this week with a few minor bug fixes.

The 0.3 release line of Helm introduces several improvements to linting. It also introduces two new Helm commands: helm generate and helm template. These pave the way for generic template support in Helm, and provide a plugin architecture for implementing arbitrary template engines. Also, Helm charts now have a source: field for specifying a URL to the source used to create the chart's resources.

In addition to these new features, many bugs in the 0.2 release line have been found and fixed. Several parts of the codebase have been refactored for easier maintainability and better testing.

Read More
3 Dec 2015 in Announcement, Helm, Kubernetes

Helm 0.2.0 Released

Since KubeCon 2015, the Helm team has been hard at work bringing you a new release.

Helm 0.2.0 contains numerous bug fixes, some code refactoring, and several enticing new features.

Highlights:

  • Helm has been moved to github.com/helm/helm and the core charts are now at github.com/helm/charts
  • helm lint helps you validate your charts.
  • helm repo add|rm|list lets you easily manage your own chart repositories.
  • Support for Kubernetes 1.1 beta 1 kinds (DaemonSet, Job, etc.) as well as custom kinds.
  • helm install and helm uninstall are smarter! In fact, many commands are improved.
  • Helm now supports git-style plugins.
  • Many, many bug fixes.

We're already hard at work on Helm 0.3 and have some exciting new features in the works.

Follow along on our GitHub Milestone for 0.3.0.

17 Nov 2015 in Helm, Kubernetes

Why Kubernetes Needs Helm

Earlier this week, Deis released Helm—the package manager for Kubernetes. Conceptually similar to Homebrew, Helm makes it easy to install standard workloads on Kubernetes.<!--more-->

But... Kubernetes is a container platform, so why does it need a package manager?

Perhaps looking at OS-level package managers (like Homebrew, apt, yum/rpm, ports, and so on) will help explain the situation.

Why use apt, yum, or homebrew?

Let's take a typical scenario.

I'm sat at the terminal in the chilly server room. I tried the command again: ./configure && make. Page after page of information scrolled across the screen. Apache httpd was building. I flipped open my book to read a few pages while I waited. Several minutes later, I saw the make command fail. I just wanted a stock Apache httpd server, but I couldn't figure the right combination of build flags, nor could I find and install all of the correct dependencies.

In frustration, I gave up and tried the radical approach: I switched operating systems.

Then when the time came to install Apache httpd, I simply typed apt-get install apache. And hey presto! It worked. If I needed to make changes, I could head to the /etc/httpd directory and configure away. But even prior to that I had a functioning web server. Apache httpd was working right out of the box.

Read More
9 Nov 2015 in Helm, Kubernetes, Announcement

Introducing Helm, The Kubernetes Package Manager

We at Deis are really excited about Kubernetes. In fact, we're hard at work building Deis v2 on top of a Kubernetes base. During this integration, we developed a tool that we think seasoned Kubernetes users will enjoy, and newcomers can use as an onramp for running containerized applications. And today, we're thrilled to announce this new tool.

We call it Helm, and it's the first package manager for Kubernetes.

Inspired by Homebrew, apt, and npm, Helm is a tool for working with Kubernetes-powered applications. It works like this:

  • A Helm package is bundled up as a chart.
  • The charts are collected together in a repository that you can search. Helm uses git under the hood for storing and organizing chart data.
  • Using the helm tool, you can find, customize, manage and install these charts.

Helm makes it easy run apps and services inside Kubernetes.

Read More