kubernetes
Version information
Start using this module
Add this module to your Puppetfile:
mod 'chmjs-kubernetes', '0.3.0'
Learn more about managing modules with a PuppetfileDocumentation
kubernetes
Table of Contents
- Overview
- Module Description - What the module does and why it is useful
- Setup - The basics of getting started with kubernetes
- Usage - Configuration options and additional functionality
- Reference - An under-the-hood peek at what the module is doing and how
- Limitations - OS compatibility, etc.
- Development - Guide for contributing to the module
Overview
This module at present install a kubernetes master and minion. it is still heavily in development as at present should only be used on CentOS 7 unless one wishes to add their own repos
Module Description
Will add a basic minion/master on a series of CentOS 7 Boxes
Setup
Example master setup
node 'master'{
class {'kubernetes::master':
master_name => '173.16.32.11', #can be hostname if dns setup
minion_name => ['173.16.32.12','173.16.32.12'], #can be hostname if dns setup
}
contain 'kubernetes'
}
Example minion setup
node 'minion'{
class {'kubernetes::minion':
master_name => '173.16.32.11', #can be hostname if dns setup
minion_name => '173.16.32.12', #can be hostname if dns setup
}
contain 'kubernetes'
}
These values can also be specified in hiera
For a master
---
kubernetes::master_name: '173.16.32.11'
kubernetes::minion_name: ['173.16.32.12']
For minions
---
kubernetes::master_name: '173.16.32.11'
kubernetes::minion_name: '173.16.32.12'
What kubernetes affects
kubernetes will install a kube master if kubernetes::master class is called, else it will add a minion if kubernetes::minion is called
Setup Requirements OPTIONAL
Be sure epel is enabled, if you do not have epel you will need to yum install epel-release
none as yet but std lib will be needed soon
Beginning with kubernetes
I have tested this on CentOS 7 since epel has all of the rpms you will need (once epel is enabled), no additional packages should be needed. As yet I have not tied down the ordering , this will follow.
Usage
Example master setup
node 'master'{
class {'kubernetes::master':
master_name => '173.16.32.11', #can be hostname if dns setup
minion_name => ['173.16.32.12','173.16.32.12'], #can be hostname if dns setup
}
contain 'kubernetes'
}
Example minion setup
node 'minion'{
class {'kubernetes::minion':
master_name => '173.16.32.11', #can be hostname if dns setup
minion_name => '173.16.32.12', #can be hostname if dns setup
}
contain 'kubernetes'
}
Reference
classes as follows:
kubernetes
kubernetes::master
kubernetes::minion
Limitations
This should not be considered a production release it is far too young and undeveloped. Nonetheless it can be used as a guide. I would suggest testing this with vagrant.
Development
I welcome any input since we have very few kubernetes modules
Dependencies
- puppetlabs-stdlib (>= 1.0.0)