Install and manage Kubernetes
Jaime Barrajón

Jaime Barrajón



4,633 latest version

5.0 quality score

Version information

  • 0.1.2 (latest)
  • 0.1.1
  • 0.1.0
released Jul 3rd 2019
This version is compatible with:
  • Puppet Enterprise 2019.8.x, 2019.7.x, 2019.5.x, 2019.4.x, 2019.3.x, 2019.2.x, 2019.1.x, 2019.0.x, 2018.1.x, 2017.3.x, 2017.2.x, 2017.1.x, 2016.5.x, 2016.4.x
  • Puppet >= 3.8.0
  • CentOS

Start using this module


jbarrajon/kubernetes — version 0.1.2 Jul 3rd 2019

Puppet Kubernetes

Table of Contents

  1. Overview
  2. Module Description
  3. Requirements
  4. Usage


This module installs Kubernetes, the container orchestration tool.

Module Description

What it does:

  • Downloads client, node or server release archive from https://dl.k8s.io.
  • After extraction, copies specific binaries to system path.
  • Optionally downloads & installs CNI networking plugins.
  • Manages kubeconfig files.
  • Manages service configuration files.
  • Manages CNI networking configuration files (only if CNI was installed).

What it does not (and will not) do:

  • Manage Docker
  • Manage Etcd


This module uses puppet-archive to download, verify and extract kubernetes release archives.

The stdlib module is also used for parameter checking, but that is required by puppet-archive anyway.


To actually use this module, you must provide the binaries, os_release, release_arch, release_type and version parameters.

Check the Kubernetes Changelog and search for a release you want to install.

class { 'kubernetes':
  binaries     => ['kubectl', 'kubelet', 'kube-proxy'],
  os_release   => 'linux',
  release_arch => 'amd64',
  release_type => 'node',
  version      => '1.7.6',

NOTE: verify that values in binaries match binaries in the release_type archive, or the puppet run will crash; eg. kube-apiserver is in server releases, but not in node releases.

Check the examples directory for specific use cases.