Puppet Class: kubernetes::install

Defined in:
manifests/install.pp

Overview

Class: kubernetes::install

Installs all necessary kubernetes/kubeadm prerequisites



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
40
# File 'manifests/install.pp', line 5

class kubernetes::install {

  include ::apt

  Class['::apt::update'] -> Package <||>

  $packages = [
    'docker.io',
    'kubeadm',
    'kubectl',
    'kubelet',
  ]

  apt::source { 'kubernetes':
    location => 'http://apt.kubernetes.io/',
    release  => 'kubernetes-xenial',
    repos    => 'main',
    key      =>  {
      'id'     => 'D0BC747FD8CAF7117500D6FA3746C208A7317B0F',
      'source' =>  'https://packages.cloud.google.com/apt/doc/apt-key.gpg',
    },
  }

  # Expose dockerd via TCP
  # Todo: --tlsverify should be set, but pki makes life more complex
  file { '/etc/default/docker':
    ensure => file,
    owner  => 'root',
    group  => 'root',
    mode   => '0644',
    content => "DOCKER_OPTS='-H tcp://0.0.0.0:${kubernetes::docker_port} --tlsverify --tlscacert=${kubernetes::cacert} --tlscert=${kubernetes::cert} --tlskey=${kubernetes::key}'",
  } ->

  package { $packages: }

}