Version information
This version is compatible with:
- Puppet Enterprise 3.x
- Puppet >=3.4.0 <5.0.0
- Debian, Ubuntu , , , , ,
Start using this module
Add this module to your Puppetfile:
mod 'cristifalcas-kubernetes', '2.4.0'
Learn more about managing modules with a PuppetfileDocumentation
kubernetes
This module installs and configures a kubernetes clutser.
The main class kubernetes doesn't do anything and is kept for historical reasons.
The class kubernetes::client only populates the /etc/kubernetes/config file: it empties all variables.
The class kubernetes::node only manages the kubernetes-node package.
The class kubernetes::master only manages the kubernetes-master packages.
Because of this, it needs to be forced to execute after the master or node has installed any programs (the file is created by both master or node). This is accomplished by forcing this in the node and master class.
The class kubernetes::client doesn't do anything now.
Versioning:
Due to rapid change of the arguments for various kubernetes components, on master we will only keep the latest stable version with the respective arguments.
For older versions there will be a branch where updates will be commited.
For each new major kubernetes version (1.1, 1.2, etc.) the puppet modules version will have the major number increased. This is mostly because on each version they have new parameters, or some parameters are removed.
Journald forward:
The class support a parameter called journald_forward_enable.
This was added because of the PIPE signal that is sent to go programs when systemd-journald dies.
For more information read here: https://github.com/projectatomic/forward-journald
Usage:
include ::forward_journald
Class['forward_journald'] -> Class['kubernetes::master']
Usage:
include kubernetes::client
include kubernetes::master
include kubernetes::node
include kubernetes::node::kubelet
include kubernetes::node::kube_proxy
class { 'kubernetes::master::apiserver':
admission_control => [
'NamespaceLifecycle',
'NamespaceExists',
'LimitRanger',
'SecurityContextDeny',
'ResourceQuota',
],
}
If you want to use you existing network infrastructure, then you will have to allocate to nodes a subnet from the same ip class. You can self register a node with this information by giving kubelet_register_node = > true and the desired subnet in kubelet_pod_cidr:
class { 'kubernetes::node::kubelet':
ensure => 'latest',
address => '0.0.0.0',
api_servers => 'http://k-api.company.net:8080',
configure_cbr0 => true,
register_node => true,
pod_cidr => '10.100.5.0/24',
}
Types in this module release
Dependencies
- puppetlabs/stdlib (4.x)
- puppetlabs/concat (2.x)
- cristifalcas/docker (5.x)
Copyright (C) 2014 R. Tyler Croy <tyler@monkeypox.org> Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.