Skip to content

polygon-io/puppet-k8s

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Puppet module for deploying k8s/kubernetes

CI Puppet Forge Puppet Forge - downloads Puppet Forge - endorsement Puppet Forge - scores License

Changes from Fork

  • Allows kube-apiserver to start without setting the --etcd-cafile, --etcd-certfile, and --etcd-keyfile flags. They are optional and default to undef (this default is different from the original module!).
  • Allows enabling the v2 etcd API by setting k8s::server::etcd::setup::enable_v2_api to true.

Table of Contents

Description

This module installs, configures, and manages a Kubernetes cluster built from loose components.

The main focus is towards the current stable versions of K8s (1.18.x+), but it should be able to handle both older and newer versions without issues.

Usage

Set k8s::server::etcd_servers to a list of servers or k8s::puppetdb_discovery to true.

Setting up a server node (apiserver, controller-manager, scheduler):

class { 'k8s':
  role               => 'server',
  control_plane_url  => 'https://kubernetes.example.com:6443',
# generate_ca        => true, # Only set true temporarily to avoid overwriting the old secrets
# puppetdb_discovery => true, # Will use PuppetDB PQL queries to manage etcd and nodes
}

Setting up a client node (kubelet, kube-proxy):

class { 'k8s':
  role              => 'node',
  control_plane_url => 'https://kubernetes.example.com:6443',
}

Examples

For more in-detail examples see the examples.

Reference

All parameters are documented within the classes. Markdown documentation is available in the REFERENCE.md file, it also contains examples.

Releases

No releases published

Packages

No packages published

Languages

  • Puppet 55.0%
  • Ruby 44.9%
  • Dockerfile 0.1%