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,
}
}
|