kubernetes

Install and manage Kubernetes
Jaime Barrajón

Jaime Barrajón

jbarrajon

5,733 downloads

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

Documentation

jbarrajon/kubernetes — version 0.1.2 Jul 3rd 2019

Puppet Kubernetes

Table of Contents

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

Overview

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

Requirements

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.

Usage

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.