Jakub Pavlik | c1d11e5 | 2017-06-23 11:09:20 +0200 | [diff] [blame] | 1 | {%- from "kubernetes/map.jinja" import common with context %} |
marco | acdae7e | 2015-12-02 15:35:37 +0100 | [diff] [blame] | 2 | |
| 3 | kubernetes_pkgs: |
| 4 | pkg.installed: |
| 5 | - names: {{ common.pkgs }} |
| 6 | |
marco | acdae7e | 2015-12-02 15:35:37 +0100 | [diff] [blame] | 7 | {%- if common.network.get('engine', 'none') == 'flannel' %} |
| 8 | flannel-tar: |
| 9 | archive: |
| 10 | - extracted |
| 11 | - user: root |
| 12 | - name: /usr/local/src |
| 13 | - makedirs: True |
| 14 | - source: https://storage.googleapis.com/kubernetes-release/flannel/flannel-0.5.5-linux-amd64.tar.gz |
| 15 | - tar_options: v |
| 16 | - source_hash: md5=972c717254775bef528f040af804f2cc |
| 17 | - archive_format: tar |
| 18 | - if_missing: /usr/local/src/flannel/flannel-0.5.5/ |
Tomáš Kukrál | 189da4b | 2017-01-18 14:30:09 +0100 | [diff] [blame] | 19 | {%- endif %} |
| 20 | |
Swann Croiset | ba4172b | 2017-03-16 10:43:48 +0100 | [diff] [blame] | 21 | {%- if common.hyperkube is defined %} |
Tomáš Kukrál | 189da4b | 2017-01-18 14:30:09 +0100 | [diff] [blame] | 22 | /tmp/hyperkube: |
| 23 | file.directory: |
| 24 | - user: root |
| 25 | - group: root |
| 26 | |
| 27 | hyperkube-copy: |
Artem Panchenko | 7841851 | 2017-06-15 12:16:44 +0300 | [diff] [blame] | 28 | cmd.run: |
| 29 | - name: docker run --rm -v /tmp/hyperkube:/tmp/hyperkube --entrypoint cp {{ common.hyperkube.image }} -vr /hyperkube /tmp/hyperkube |
Tomáš Kukrál | 189da4b | 2017-01-18 14:30:09 +0100 | [diff] [blame] | 30 | - require: |
| 31 | - file: /tmp/hyperkube |
Marek Celoud | 43d293f | 2017-06-07 12:29:24 +0200 | [diff] [blame] | 32 | {%- if grains.get('noservices') %} |
| 33 | - onlyif: /bin/false |
| 34 | {%- endif %} |
Tomáš Kukrál | 189da4b | 2017-01-18 14:30:09 +0100 | [diff] [blame] | 35 | |
| 36 | /usr/bin/hyperkube: |
| 37 | file.managed: |
Marek Celoud | 43d293f | 2017-06-07 12:29:24 +0200 | [diff] [blame] | 38 | - source: /tmp/hyperkube/hyperkube |
| 39 | - mode: 751 |
| 40 | - makedirs: true |
| 41 | - user: root |
| 42 | - group: root |
| 43 | - require: |
Artem Panchenko | 7841851 | 2017-06-15 12:16:44 +0300 | [diff] [blame] | 44 | - cmd: hyperkube-copy |
Marek Celoud | 43d293f | 2017-06-07 12:29:24 +0200 | [diff] [blame] | 45 | {%- if grains.get('noservices') %} |
| 46 | - onlyif: /bin/false |
| 47 | {%- endif %} |
Tomáš Kukrál | 189da4b | 2017-01-18 14:30:09 +0100 | [diff] [blame] | 48 | |
Tomáš Kukrál | d79276d | 2017-01-24 16:43:40 +0100 | [diff] [blame] | 49 | /usr/bin/kubectl: |
| 50 | file.symlink: |
| 51 | - target: /usr/bin/hyperkube |
| 52 | - require: |
| 53 | - file: /usr/bin/hyperkube |
Marek Celoud | 43d293f | 2017-06-07 12:29:24 +0200 | [diff] [blame] | 54 | {%- if grains.get('noservices') %} |
| 55 | - onlyif: /bin/false |
| 56 | {%- endif %} |
Tomáš Kukrál | d79276d | 2017-01-24 16:43:40 +0100 | [diff] [blame] | 57 | |
Sergii Golovatiuk | 707f7d8 | 2017-08-07 15:49:23 +0200 | [diff] [blame] | 58 | {%- if common.addons.get('virtlet', {}).get('enabled') %} |
Jakub Pavlik | c1d11e5 | 2017-06-23 11:09:20 +0200 | [diff] [blame] | 59 | /tmp/criproxy: |
| 60 | file.directory: |
| 61 | - user: root |
| 62 | - group: root |
| 63 | |
| 64 | copy-criproxy-bin: |
| 65 | cmd.run: |
Sergii Golovatiuk | 707f7d8 | 2017-08-07 15:49:23 +0200 | [diff] [blame] | 66 | - name: docker run --rm -v /tmp/criproxy/:/tmp/criproxy/ --entrypoint cp {{ common.addons.virtlet.image }} -vr /criproxy /tmp/criproxy |
Jakub Pavlik | c1d11e5 | 2017-06-23 11:09:20 +0200 | [diff] [blame] | 67 | - require: |
| 68 | - file: /tmp/criproxy |
| 69 | {%- if grains.get('noservices') %} |
| 70 | - onlyif: /bin/false |
| 71 | {%- endif %} |
| 72 | |
| 73 | /usr/bin/criproxy: |
| 74 | file.managed: |
| 75 | - source: /tmp/criproxy/criproxy |
| 76 | - mode: 750 |
| 77 | - makedirs: true |
| 78 | - user: root |
| 79 | - group: root |
| 80 | - require: |
| 81 | - cmd: copy-criproxy-bin |
| 82 | {%- if grains.get('noservices') %} |
| 83 | - onlyif: /bin/false |
| 84 | {%- endif %} |
| 85 | |
| 86 | /etc/criproxy: |
| 87 | file.directory: |
| 88 | - user: root |
| 89 | - group: root |
| 90 | - mode: 0750 |
| 91 | |
| 92 | /etc/criproxy/kubelet.conf: |
| 93 | file.managed: |
| 94 | - source: salt://kubernetes/files/virtlet/kubelet.conf |
| 95 | - template: jinja |
| 96 | - user: root |
| 97 | - group: root |
| 98 | - mode: 640 |
| 99 | |
| 100 | /etc/systemd/system/criproxy.service: |
| 101 | file.managed: |
| 102 | - source: salt://kubernetes/files/systemd/criproxy.service |
| 103 | - template: jinja |
| 104 | - user: root |
| 105 | - group: root |
| 106 | - mode: 755 |
| 107 | |
| 108 | criproxy_service: |
| 109 | service.running: |
| 110 | - name: criproxy |
| 111 | - enable: True |
| 112 | - watch: |
| 113 | - file: /etc/systemd/system/criproxy.service |
| 114 | - file: /etc/criproxy/kubelet.conf |
| 115 | - file: /etc/criproxy |
| 116 | - file: /usr/bin/criproxy |
| 117 | {%- if grains.get('noservices') %} |
| 118 | - onlyif: /bin/false |
| 119 | {%- endif %} |
| 120 | |
Andrey Shestakov | 7059e35 | 2017-09-14 11:27:14 +0300 | [diff] [blame^] | 121 | {%- else %} |
| 122 | |
| 123 | /etc/criproxy: |
| 124 | file.absent |
| 125 | |
| 126 | criproxy_service: |
| 127 | service.dead: |
| 128 | - name: criproxy |
| 129 | - enable: False |
| 130 | |
Sergii Golovatiuk | 707f7d8 | 2017-08-07 15:49:23 +0200 | [diff] [blame] | 131 | {%- endif %} |
| 132 | |
Tomáš Kukrál | 189da4b | 2017-01-18 14:30:09 +0100 | [diff] [blame] | 133 | /etc/systemd/system/kubelet.service: |
| 134 | file.managed: |
Jakub Pavlik | c1d11e5 | 2017-06-23 11:09:20 +0200 | [diff] [blame] | 135 | - source: salt://kubernetes/files/systemd/kubelet.service |
| 136 | - template: jinja |
| 137 | - user: root |
| 138 | - group: root |
| 139 | - mode: 644 |
Tomáš Kukrál | 189da4b | 2017-01-18 14:30:09 +0100 | [diff] [blame] | 140 | |
| 141 | /etc/kubernetes/config: |
| 142 | file.absent |
| 143 | |
Tomáš Kukrál | 10b1567 | 2017-09-05 10:08:46 +0200 | [diff] [blame] | 144 | {%- if common.get('cloudprovider', {}).get('enabled') and common.get('cloudprovider', {}).get('provider') == 'openstack' %} |
Matthew Mosesohn | 1990351 | 2017-08-31 19:38:19 +0300 | [diff] [blame] | 145 | /etc/kubernetes/cloud-config.conf: |
| 146 | file.managed: |
Jakub Pavlik | 6ef25ef | 2017-09-05 16:00:21 +0200 | [diff] [blame] | 147 | - source: salt://kubernetes/files/cloudprovider/cloud-config-openstack.conf |
Matthew Mosesohn | 1990351 | 2017-08-31 19:38:19 +0300 | [diff] [blame] | 148 | - template: jinja |
| 149 | - user: root |
| 150 | - group: root |
| 151 | - mode: 600 |
| 152 | |
| 153 | {% endif %} |
| 154 | |
Tomáš Kukrál | 189da4b | 2017-01-18 14:30:09 +0100 | [diff] [blame] | 155 | {%- if not pillar.kubernetes.pool is defined %} |
| 156 | |
| 157 | /etc/default/kubelet: |
| 158 | file.managed: |
| 159 | - source: salt://kubernetes/files/kubelet/default.master |
| 160 | - template: jinja |
| 161 | - user: root |
| 162 | - group: root |
| 163 | - mode: 644 |
| 164 | |
Marek Celoud | 43d293f | 2017-06-07 12:29:24 +0200 | [diff] [blame] | 165 | /etc/kubernetes/kubelet.kubeconfig: |
| 166 | file.managed: |
| 167 | - source: salt://kubernetes/files/kubelet/kubelet.kubeconfig.master |
| 168 | - template: jinja |
| 169 | - user: root |
| 170 | - group: root |
| 171 | - mode: 644 |
| 172 | - makedirs: true |
| 173 | |
Tomáš Kukrál | 189da4b | 2017-01-18 14:30:09 +0100 | [diff] [blame] | 174 | {%- else %} |
| 175 | |
| 176 | /etc/default/kubelet: |
| 177 | file.managed: |
| 178 | - source: salt://kubernetes/files/kubelet/default.pool |
| 179 | - template: jinja |
| 180 | - user: root |
| 181 | - group: root |
| 182 | - mode: 644 |
| 183 | |
Tomáš Kukrál | 7f43ee0 | 2017-01-24 12:18:34 +0100 | [diff] [blame] | 184 | /etc/kubernetes/kubelet.kubeconfig: |
| 185 | file.managed: |
Marek Celoud | 43d293f | 2017-06-07 12:29:24 +0200 | [diff] [blame] | 186 | - source: salt://kubernetes/files/kubelet/kubelet.kubeconfig.pool |
Tomáš Kukrál | 7f43ee0 | 2017-01-24 12:18:34 +0100 | [diff] [blame] | 187 | - template: jinja |
| 188 | - user: root |
| 189 | - group: root |
| 190 | - mode: 644 |
| 191 | - makedirs: true |
Tomáš Kukrál | 189da4b | 2017-01-18 14:30:09 +0100 | [diff] [blame] | 192 | |
Marek Celoud | 43d293f | 2017-06-07 12:29:24 +0200 | [diff] [blame] | 193 | {%- endif %} |
| 194 | |
| 195 | manifest_dir_create: |
| 196 | file.directory: |
| 197 | - makedirs: true |
| 198 | - name: /etc/kubernetes/manifests |
| 199 | - user: root |
| 200 | - group: root |
| 201 | - mode: 0751 |
| 202 | |
Tomáš Kukrál | 189da4b | 2017-01-18 14:30:09 +0100 | [diff] [blame] | 203 | kubelet_service: |
| 204 | service.running: |
| 205 | - name: kubelet |
| 206 | - enable: True |
| 207 | - watch: |
| 208 | - file: /etc/default/kubelet |
| 209 | - file: /usr/bin/hyperkube |
Tomáš Kukrál | 3728a5c | 2017-01-24 11:15:37 +0100 | [diff] [blame] | 210 | - file: /etc/kubernetes/kubelet.kubeconfig |
Tomáš Kukrál | 7f43ee0 | 2017-01-24 12:18:34 +0100 | [diff] [blame] | 211 | - file: manifest_dir_create |
Martin Polreich | 3de03bb | 2017-06-13 11:11:40 +0200 | [diff] [blame] | 212 | {%- if grains.get('noservices') %} |
| 213 | - onlyif: /bin/false |
| 214 | {%- endif %} |
Tomáš Kukrál | 189da4b | 2017-01-18 14:30:09 +0100 | [diff] [blame] | 215 | |
Swann Croiset | ba4172b | 2017-03-16 10:43:48 +0100 | [diff] [blame] | 216 | {%- if common.logrotate is defined %} |
| 217 | /etc/logrotate.d/kubernetes: |
| 218 | file.managed: |
| 219 | - source: salt://kubernetes/files/logrotate |
| 220 | - template: jinja |
| 221 | - user: root |
| 222 | - group: root |
| 223 | - mode: 644 |
| 224 | - makedirs: true |
| 225 | - defaults: |
| 226 | logfile: {{ common.logrotate }} |
| 227 | |
| 228 | {% endif %} |
Tomáš Kukrál | 189da4b | 2017-01-18 14:30:09 +0100 | [diff] [blame] | 229 | {% endif %} |