Skip to content

polygon-io/puppet-k8s

This branch is 2 commits ahead of, 72 commits behind voxpupuli/puppet-k8s:master.

Folders and files

NameName
Last commit message
Last commit date
Mar 9, 2021
Apr 12, 2024
Feb 23, 2021
Dec 15, 2023
Jun 30, 2023
Apr 21, 2023
Feb 22, 2024
Sep 16, 2024
Nov 23, 2023
Dec 15, 2023
Jan 31, 2024
Feb 17, 2023
Aug 7, 2023
Feb 23, 2021
Apr 12, 2024
Jun 3, 2024
Jun 3, 2024
Dec 15, 2023
Feb 6, 2024
Apr 15, 2023
Aug 17, 2023
May 5, 2024
Feb 23, 2024
Jun 3, 2024
Feb 17, 2023
Sep 16, 2024
Feb 20, 2024
Apr 15, 2023
Mar 7, 2023
Feb 23, 2021
Apr 26, 2024

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.

About

Home for the K8s Puppet module

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

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