https://github.com/voxpupuli/puppet-k8s
Home for the K8s Puppet module
https://github.com/voxpupuli/puppet-k8s
k8s kubernetes puppet
Last synced: 4 months ago
JSON representation
Home for the K8s Puppet module
- Host: GitHub
- URL: https://github.com/voxpupuli/puppet-k8s
- Owner: voxpupuli
- License: apache-2.0
- Created: 2021-05-12T08:32:11.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2024-04-12T22:57:18.000Z (about 1 year ago)
- Last Synced: 2024-04-14T02:23:49.293Z (about 1 year ago)
- Topics: k8s, kubernetes, puppet
- Language: Puppet
- Homepage:
- Size: 776 KB
- Stars: 9
- Watchers: 36
- Forks: 10
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# Puppet module for deploying k8s/kubernetes
[](https://github.com/voxpupuli/puppet-k8s/actions/workflows/ci.yml)
[](https://forge.puppet.com/puppet/k8s)
[](https://forge.puppet.com/puppet/k8s)
[](https://forge.puppet.com/puppet/k8s)
[](https://forge.puppet.com/puppet/k8s)
[](https://github.com/voxpupuli/puppet-k8s/blob/master/LICENSE)## Table of Contents
- [Description](#description)
- [Usage](#usage)
- [Examples](#examples)
- [Reference](#reference)## 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):
```puppet
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):
```puppet
class { 'k8s':
role => 'node',
control_plane_url => 'https://kubernetes.example.com:6443',
}
```### Examples
For more in-detail examples see the examples.
- [Simple bridged setup](examples/simple_setup/Readme.md)
- [Cilium setup](examples/cilium/Readme.md)## Reference
All parameters are documented within the classes. Markdown documentation is available in the [REFERENCE.md](REFERENCE.md) file, it also contains examples.