Puppet Class: kubernetes::master

Defined in:
manifests/master.pp

Overview

Parameters:

  • master_name (Any) (defaults to: undef)
  • minion_name (Any) (defaults to: undef)


1
2
3
4
5
6
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
# File 'manifests/master.pp', line 1

class kubernetes::master($master_name = undef, $minion_name = undef) {
class{'kubernetes':
  master_name => $master_name,
  minion_name => $minion_name,
}->
file{'/etc/kubernetes/apiserver':
  content => template('kubernetes/apiserver.erb'),
  notify  => Service['kube-apiserver']
}->
file{'/etc/kubernetes/controller-manager':
  content => template('kubernetes/controller.erb'),
  notify  => Service['kube-controller-manager']
}->

file{'/etc/etcd/etcd.conf':
  ensure => present,
  source => 'puppet:///modules/kubernetes/etcd_config',
  notify => Service['etcd']
}->

service{['etcd', 'kube-apiserver', 'kube-controller-manager', 'kube-scheduler','docker']:
  ensure => running
}->

file{'/tmp/flannel-config.json':
  ensure => present,
  source => 'puppet:///modules/kubernetes/flannel-config',
}->

exec{'populate etcd server':
  path    => ['/bin'],
  command => "curl -L http://${::kubernetes::master_name}:4001/v2/keys/flannel/network/config -XPUT --data-urlencode value@/tmp/flannel-config.json",
  notify  => Service['flanneld'],
  require => File['/tmp/flannel-config.json']
}->
service{'flanneld':
  ensure => running,
}
}