/helm-kubectl

Docker Hub image with helm and kubectl on top of alpine linux with bash

Primary LanguageDockerfileMIT LicenseMIT

helm-kubernetes Docker hub image

Build Status

Supported tags and release links

  • 2.8.0 - helm v2.8.0, kubectl v1.9.2, alpine 3.7
  • 2.7.2 - helm v2.7.2, kubectl v1.8.3, alpine 3.6
  • 2.7.0 - helm v2.7.0, kubectl v1.8.1, alpine 3.6
  • 2.6.2 - helm v2.6.2, kubectl v1.7.9, alpine 3.6
  • 2.6.1 - helm v2.6.1, kubectl v1.7.6, alpine 3.6
  • 2.6.0 - helm v2.6.0, kubectl v1.7.4, alpine 3.6
  • 2.5.1 - helm v2.5.1, kubectl v1.7.2, alpine 3.6
  • 2.5.0 - helm v2.5.0, kubectl v1.6.6, alpine 3.6
  • 2.4.2 - helm v2.4.2, kubectl v1.6.4, alpine 3.6
  • 2.4.1 - helm v2.4.1, kubectl v1.6.2, alpine 3.5
  • 2.3.1 - helm v2.3.1, kubectl v1.6.2, alpine 3.5

Overview

This lightweight alpine docker image provides kubectl and helm binaries for working with a Kubernetes cluster. A local configured kubectl is a prerequisite to use helm per helm documentation. This image is useful for general helm administration such as deploying helm charts and managing releases. It is also perfect for any automated deployment pipeline needing to use helm which supports docker images such as Concourse CI, Jenkins on Kubernetes, Travis CI, and Circle CI. Having bash installed allows for better support for troubleshooting by being able to exec / terminal in and run desired shell scripts.

If it is desired to only use kubectl and have kubectl as the entry command (versus this image as bash entry command), I recommend checking out this image instead: lachlanevenson/kubectl

Run

Example to just run helm on entry:
docker run --rm dtzar/helm-kubectl helm
By default kubectl will try to use /root/.kube/config file for connection to the kubernetes cluster, but does not exist by default in the image.

Example for use with personal administration or troubleshooting with volume mount for kubeconfig files:
docker run -it -v ~/.kube:/root/.kube dtzar/helm-kubectl
The -v maps your host docker machine Kubernetes configuration directory (~/.kube) to the container's Kubernetes configuration directory (root/.kube).

Build

For doing a manual local build of the image:
make docker_build

This image is now fully automated via travisci.org.
For reference this .travis.yml file can be validated via:
docker run --rm -it -v yourclonedreporoot:/project caktux/travis-cli lint ./travis.yml