Puppet Class: kubeinstall::install::controller
- Defined in:
- manifests/install/controller.pp
Summary
kubernetes installation on controller nodeOverview
kubernetes installation on controller node
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
# File 'manifests/install/controller.pp', line 7
class kubeinstall::install::controller (
Boolean $web_ui_dashboard = $kubeinstall::web_ui_dashboard,
Stdlib::Unixpath
$manifests_directory = $kubeinstall::manifests_directory,
Boolean $setup_admin_config = true,
){
include kubeinstall::install::node
include kubeinstall::kubeadm::config
include kubeinstall::kubeadm::init_command
include kubeinstall::install::calico
if $web_ui_dashboard {
include kubeinstall::install::dashboard
Class['kubeinstall::kubeadm::init_command'] -> Class['kubeinstall::install::dashboard']
}
if $setup_admin_config {
include kubeinstall::kubectl::config
Class['kubeinstall::kubeadm::init_command'] -> Class['kubeinstall::kubectl::config']
}
include kubeinstall::cluster
# create bootstrap token
kubeadm_token { 'default':
ensure => present,
}
file {
default:
ensure => directory,
mode => '0755',
owner => 'root',
group => 'root',
;
# storage classes objects directory
"${manifests_directory}/manifests/storageclasses": ;
# persistent volumes objects directory
"${manifests_directory}/manifests/persistentvolumes": ;
# secret objects directory
"${manifests_directory}/manifests/secrets":
mode => '0710',
;
# services objects directory
# https://kubernetes.io/docs/concepts/services-networking/service/
"${manifests_directory}/manifests/services": ;
}
Class['kubeinstall::install::node']
-> Class['kubeinstall::kubeadm::init_command']
-> Class['kubeinstall::install::calico']
# TODO: https://kubernetes.io/docs/setup/best-practices/certificates/
# TODO: https://github.com/kubernetes/kubeadm/blob/master/docs/ha-considerations.md#options-for-software-load-balancing
}
|