-
Notifications
You must be signed in to change notification settings - Fork 136
/
Copy pathkubeadm_init.pp
31 lines (28 loc) · 1.25 KB
/
kubeadm_init.pp
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
# == kubernetes::kubeadm_init
define kubernetes::kubeadm_init (
String $node_name = $kubernetes::node_name,
Optional[String] $config = $kubernetes::config_file,
Boolean $dry_run = false,
Array $path = $kubernetes::default_path,
Optional[Array] $env = $kubernetes::environment,
Optional[Array] $ignore_preflight_errors = $kubernetes::ignore_preflight_errors,
Optional[String] $skip_phases = $kubernetes::skip_phases,
) {
$kubeadm_init_flags = kubeadm_init_flags({
config => $config,
dry_run => $dry_run,
ignore_preflight_errors => $ignore_preflight_errors,
skip_phases => $skip_phases,
})
$safe_node_name = shell_escape($node_name)
exec { 'kubeadm init':
command => "kubeadm init ${kubeadm_init_flags}",
environment => $env,
path => $path,
logoutput => true,
timeout => 0,
unless => "kubectl get nodes | grep ${safe_node_name}",
}
# This prevents a known race condition https://github.com/kubernetes/kubernetes/issues/66689
kubernetes::wait_for_default_sa { 'default': }
}