| 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 | |
| Swann Croiset | ba4172b | 2017-03-16 10:43:48 +0100 | [diff] [blame] | 7 | {%- if common.hyperkube is defined %} |
| Tomáš Kukrál | 189da4b | 2017-01-18 14:30:09 +0100 | [diff] [blame] | 8 | /tmp/hyperkube: |
| 9 | file.directory: |
| 10 | - user: root |
| 11 | - group: root |
| 12 | |
| 13 | hyperkube-copy: |
| Artem Panchenko | 7841851 | 2017-06-15 12:16:44 +0300 | [diff] [blame] | 14 | cmd.run: |
| 15 | - 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] | 16 | - require: |
| 17 | - file: /tmp/hyperkube |
| Marek Celoud | 43d293f | 2017-06-07 12:29:24 +0200 | [diff] [blame] | 18 | {%- if grains.get('noservices') %} |
| 19 | - onlyif: /bin/false |
| 20 | {%- endif %} |
| Tomáš Kukrál | 189da4b | 2017-01-18 14:30:09 +0100 | [diff] [blame] | 21 | |
| 22 | /usr/bin/hyperkube: |
| 23 | file.managed: |
| Marek Celoud | 43d293f | 2017-06-07 12:29:24 +0200 | [diff] [blame] | 24 | - source: /tmp/hyperkube/hyperkube |
| 25 | - mode: 751 |
| 26 | - makedirs: true |
| 27 | - user: root |
| 28 | - group: root |
| 29 | - require: |
| Artem Panchenko | 7841851 | 2017-06-15 12:16:44 +0300 | [diff] [blame] | 30 | - cmd: hyperkube-copy |
| Marek Celoud | 43d293f | 2017-06-07 12:29:24 +0200 | [diff] [blame] | 31 | {%- if grains.get('noservices') %} |
| 32 | - onlyif: /bin/false |
| 33 | {%- endif %} |
| Tomáš Kukrál | 189da4b | 2017-01-18 14:30:09 +0100 | [diff] [blame] | 34 | |
| Tomáš Kukrál | d79276d | 2017-01-24 16:43:40 +0100 | [diff] [blame] | 35 | /usr/bin/kubectl: |
| 36 | file.symlink: |
| 37 | - target: /usr/bin/hyperkube |
| 38 | - require: |
| 39 | - file: /usr/bin/hyperkube |
| Marek Celoud | 43d293f | 2017-06-07 12:29:24 +0200 | [diff] [blame] | 40 | {%- if grains.get('noservices') %} |
| 41 | - onlyif: /bin/false |
| 42 | {%- endif %} |
| Tomáš Kukrál | d79276d | 2017-01-24 16:43:40 +0100 | [diff] [blame] | 43 | |
| Andrey Shestakov | 9915ab8 | 2018-09-24 17:06:10 +0300 | [diff] [blame] | 44 | {%- if common.get('containerd', {}).get('enabled') %} |
| 45 | |
| 46 | containerd_pkg: |
| 47 | pkg.installed: |
| 48 | - name: {{ common.containerd.get('package', 'containerd.io') }} |
| 49 | |
| 50 | runc_pkg: |
| 51 | pkg.installed: |
| 52 | - name: {{ common.containerd.get('runc_package', 'runc') }} |
| 53 | |
| 54 | /etc/containerd/config.toml: |
| 55 | file.absent |
| 56 | |
| 57 | containerd_service: |
| 58 | service.running: |
| 59 | - name: containerd |
| 60 | - enable: True |
| 61 | - watch: |
| 62 | - file: /etc/containerd/config.toml |
| 63 | - require: |
| 64 | - containerd_pkg |
| 65 | - runc_pkg |
| 66 | {%- if grains.get('noservices') %} |
| 67 | - onlyif: /bin/false |
| 68 | {%- endif %} |
| 69 | |
| 70 | {%- endif %} |
| 71 | |
| Victor Ryzhenkin | f05141e | 2018-09-26 22:04:21 +0400 | [diff] [blame] | 72 | {%- if common.addons.get('virtlet', {}).get('enabled') and not pillar.kubernetes.master is defined %} |
| Jakub Pavlik | c1d11e5 | 2017-06-23 11:09:20 +0200 | [diff] [blame] | 73 | |
| Andrey Shestakov | 9915ab8 | 2018-09-24 17:06:10 +0300 | [diff] [blame] | 74 | {%- if not common.get('containerd', {}).get('enabled') %} |
| 75 | |
| vrovachev | 3b14198 | 2017-10-06 16:52:40 +0400 | [diff] [blame] | 76 | /etc/default/dockershim: |
| 77 | file.managed: |
| 78 | - source: salt://kubernetes/files/dockershim/default.pool |
| 79 | - template: jinja |
| 80 | - user: root |
| 81 | - group: root |
| 82 | - mode: 644 |
| 83 | |
| Andrey Shestakov | 655034e | 2017-09-15 12:30:28 +0300 | [diff] [blame] | 84 | /etc/systemd/system/dockershim.service: |
| 85 | file.managed: |
| 86 | - source: salt://kubernetes/files/systemd/dockershim.service |
| Jakub Pavlik | c1d11e5 | 2017-06-23 11:09:20 +0200 | [diff] [blame] | 87 | - template: jinja |
| 88 | - user: root |
| 89 | - group: root |
| Andrey Shestakov | 655034e | 2017-09-15 12:30:28 +0300 | [diff] [blame] | 90 | - mode: 755 |
| Jakub Pavlik | c1d11e5 | 2017-06-23 11:09:20 +0200 | [diff] [blame] | 91 | |
| Andrey Shestakov | 655034e | 2017-09-15 12:30:28 +0300 | [diff] [blame] | 92 | dockershim_service: |
| 93 | service.running: |
| 94 | - name: dockershim |
| 95 | - enable: True |
| 96 | - watch: |
| vrovachev | 3b14198 | 2017-10-06 16:52:40 +0400 | [diff] [blame] | 97 | - file: /etc/default/dockershim |
| vrovachev | e9b238c | 2017-12-12 21:22:24 +0400 | [diff] [blame] | 98 | - file: /usr/bin/hyperkube |
| Andrey Shestakov | 655034e | 2017-09-15 12:30:28 +0300 | [diff] [blame] | 99 | {%- if grains.get('noservices') %} |
| 100 | - onlyif: /bin/false |
| 101 | {%- endif %} |
| 102 | |
| Andrey Shestakov | 9915ab8 | 2018-09-24 17:06:10 +0300 | [diff] [blame] | 103 | {%- endif %} |
| 104 | |
| Victor Ryzhenkin | f05141e | 2018-09-26 22:04:21 +0400 | [diff] [blame] | 105 | /usr/bin/criproxy: |
| 106 | file.managed: |
| 107 | - source: https://github.com/mirantis/criproxy/releases/download/{{ common.addons.virtlet.get('criproxy_version', 'v0.10.0') }}/criproxy |
| 108 | - mode: 750 |
| 109 | - makedirs: true |
| 110 | - user: root |
| 111 | - group: root |
| 112 | - source_hash: {{ common.addons.virtlet.get('criproxy_source', 'md5=52717b1f70f15558ef4bdb0e4d4948da') }} |
| 113 | {%- if grains.get('noservices') %} |
| 114 | - onlyif: /bin/false |
| 115 | {%- endif %} |
| 116 | |
| Andrey Shestakov | 9915ab8 | 2018-09-24 17:06:10 +0300 | [diff] [blame] | 117 | /etc/criproxy: |
| 118 | file.directory: |
| 119 | - user: root |
| 120 | - group: root |
| 121 | - mode: 0750 |
| 122 | |
| 123 | /etc/criproxy/node.conf: |
| 124 | file.managed: |
| 125 | - user: root |
| 126 | - group: root |
| 127 | - mode: 0640 |
| 128 | - contents: '' |
| 129 | |
| 130 | /etc/systemd/system/criproxy.service: |
| 131 | file.managed: |
| 132 | - source: salt://kubernetes/files/systemd/criproxy.service |
| 133 | - template: jinja |
| 134 | - user: root |
| 135 | - group: root |
| 136 | - mode: 755 |
| 137 | |
| Jakub Pavlik | c1d11e5 | 2017-06-23 11:09:20 +0200 | [diff] [blame] | 138 | criproxy_service: |
| 139 | service.running: |
| 140 | - name: criproxy |
| 141 | - enable: True |
| 142 | - watch: |
| 143 | - file: /etc/systemd/system/criproxy.service |
| Andrey Shestakov | 655034e | 2017-09-15 12:30:28 +0300 | [diff] [blame] | 144 | - file: /etc/criproxy/node.conf |
| Jakub Pavlik | c1d11e5 | 2017-06-23 11:09:20 +0200 | [diff] [blame] | 145 | - file: /usr/bin/criproxy |
| 146 | {%- if grains.get('noservices') %} |
| 147 | - onlyif: /bin/false |
| 148 | {%- endif %} |
| 149 | |
| Andrey Shestakov | 7059e35 | 2017-09-14 11:27:14 +0300 | [diff] [blame] | 150 | {%- else %} |
| 151 | |
| 152 | /etc/criproxy: |
| 153 | file.absent |
| 154 | |
| Andrey Shestakov | 655034e | 2017-09-15 12:30:28 +0300 | [diff] [blame] | 155 | dockershim_service: |
| 156 | service.dead: |
| 157 | - name: dockershim |
| 158 | - enable: False |
| 159 | |
| Andrey Shestakov | 7059e35 | 2017-09-14 11:27:14 +0300 | [diff] [blame] | 160 | criproxy_service: |
| 161 | service.dead: |
| 162 | - name: criproxy |
| 163 | - enable: False |
| 164 | |
| Sergii Golovatiuk | 707f7d8 | 2017-08-07 15:49:23 +0200 | [diff] [blame] | 165 | {%- endif %} |
| 166 | |
| Tomáš Kukrál | 189da4b | 2017-01-18 14:30:09 +0100 | [diff] [blame] | 167 | /etc/systemd/system/kubelet.service: |
| 168 | file.managed: |
| Jakub Pavlik | c1d11e5 | 2017-06-23 11:09:20 +0200 | [diff] [blame] | 169 | - source: salt://kubernetes/files/systemd/kubelet.service |
| 170 | - template: jinja |
| 171 | - user: root |
| 172 | - group: root |
| 173 | - mode: 644 |
| Tomáš Kukrál | 189da4b | 2017-01-18 14:30:09 +0100 | [diff] [blame] | 174 | |
| 175 | /etc/kubernetes/config: |
| 176 | file.absent |
| 177 | |
| Tomáš Kukrál | 10b1567 | 2017-09-05 10:08:46 +0200 | [diff] [blame] | 178 | {%- 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] | 179 | /etc/kubernetes/cloud-config.conf: |
| 180 | file.managed: |
| Jakub Pavlik | 6ef25ef | 2017-09-05 16:00:21 +0200 | [diff] [blame] | 181 | - source: salt://kubernetes/files/cloudprovider/cloud-config-openstack.conf |
| Matthew Mosesohn | 1990351 | 2017-08-31 19:38:19 +0300 | [diff] [blame] | 182 | - template: jinja |
| 183 | - user: root |
| 184 | - group: root |
| 185 | - mode: 600 |
| 186 | |
| 187 | {% endif %} |
| 188 | |
| Victor Ryzhenkin | f05141e | 2018-09-26 22:04:21 +0400 | [diff] [blame] | 189 | {%- if pillar.kubernetes.master is defined %} |
| Tomáš Kukrál | 189da4b | 2017-01-18 14:30:09 +0100 | [diff] [blame] | 190 | |
| 191 | /etc/default/kubelet: |
| 192 | file.managed: |
| 193 | - source: salt://kubernetes/files/kubelet/default.master |
| 194 | - template: jinja |
| 195 | - user: root |
| 196 | - group: root |
| 197 | - mode: 644 |
| 198 | |
| Marek Celoud | 43d293f | 2017-06-07 12:29:24 +0200 | [diff] [blame] | 199 | /etc/kubernetes/kubelet.kubeconfig: |
| 200 | file.managed: |
| 201 | - source: salt://kubernetes/files/kubelet/kubelet.kubeconfig.master |
| 202 | - template: jinja |
| 203 | - user: root |
| 204 | - group: root |
| 205 | - mode: 644 |
| 206 | - makedirs: true |
| 207 | |
| Tomáš Kukrál | 189da4b | 2017-01-18 14:30:09 +0100 | [diff] [blame] | 208 | {%- else %} |
| 209 | |
| 210 | /etc/default/kubelet: |
| 211 | file.managed: |
| 212 | - source: salt://kubernetes/files/kubelet/default.pool |
| 213 | - template: jinja |
| 214 | - user: root |
| 215 | - group: root |
| 216 | - mode: 644 |
| 217 | |
| Tomáš Kukrál | 7f43ee0 | 2017-01-24 12:18:34 +0100 | [diff] [blame] | 218 | /etc/kubernetes/kubelet.kubeconfig: |
| 219 | file.managed: |
| Marek Celoud | 43d293f | 2017-06-07 12:29:24 +0200 | [diff] [blame] | 220 | - source: salt://kubernetes/files/kubelet/kubelet.kubeconfig.pool |
| Tomáš Kukrál | 7f43ee0 | 2017-01-24 12:18:34 +0100 | [diff] [blame] | 221 | - template: jinja |
| 222 | - user: root |
| 223 | - group: root |
| 224 | - mode: 644 |
| 225 | - makedirs: true |
| Tomáš Kukrál | 189da4b | 2017-01-18 14:30:09 +0100 | [diff] [blame] | 226 | |
| Marek Celoud | 43d293f | 2017-06-07 12:29:24 +0200 | [diff] [blame] | 227 | {%- endif %} |
| 228 | |
| 229 | manifest_dir_create: |
| 230 | file.directory: |
| 231 | - makedirs: true |
| 232 | - name: /etc/kubernetes/manifests |
| 233 | - user: root |
| 234 | - group: root |
| 235 | - mode: 0751 |
| 236 | |
| Tomáš Kukrál | 189da4b | 2017-01-18 14:30:09 +0100 | [diff] [blame] | 237 | kubelet_service: |
| 238 | service.running: |
| 239 | - name: kubelet |
| 240 | - enable: True |
| 241 | - watch: |
| 242 | - file: /etc/default/kubelet |
| 243 | - file: /usr/bin/hyperkube |
| Tomáš Kukrál | 3728a5c | 2017-01-24 11:15:37 +0100 | [diff] [blame] | 244 | - file: /etc/kubernetes/kubelet.kubeconfig |
| Tomáš Kukrál | 7f43ee0 | 2017-01-24 12:18:34 +0100 | [diff] [blame] | 245 | - file: manifest_dir_create |
| Martin Polreich | 3de03bb | 2017-06-13 11:11:40 +0200 | [diff] [blame] | 246 | {%- if grains.get('noservices') %} |
| 247 | - onlyif: /bin/false |
| 248 | {%- endif %} |
| Tomáš Kukrál | 189da4b | 2017-01-18 14:30:09 +0100 | [diff] [blame] | 249 | |
| Swann Croiset | ba4172b | 2017-03-16 10:43:48 +0100 | [diff] [blame] | 250 | {%- if common.logrotate is defined %} |
| 251 | /etc/logrotate.d/kubernetes: |
| 252 | file.managed: |
| 253 | - source: salt://kubernetes/files/logrotate |
| 254 | - template: jinja |
| 255 | - user: root |
| 256 | - group: root |
| 257 | - mode: 644 |
| 258 | - makedirs: true |
| 259 | - defaults: |
| 260 | logfile: {{ common.logrotate }} |
| 261 | |
| 262 | {% endif %} |
| Tomáš Kukrál | 189da4b | 2017-01-18 14:30:09 +0100 | [diff] [blame] | 263 | {% endif %} |
| Andrey Shestakov | 4667551 | 2018-04-24 10:58:33 +0300 | [diff] [blame] | 264 | |
| 265 | {%- if common.cni is defined %} |
| 266 | /opt/cni/bin: |
| 267 | archive.extracted: |
| 268 | - source: {{ common.cni.plugins.source }} |
| Victor Ryzhenkin | 4a21c9f | 2018-07-10 17:21:46 +0400 | [diff] [blame] | 269 | - source_hash: {{ common.cni.plugins.hash }} |
| 270 | {%- if grains['saltversioninfo'] < [2017, 7] %} |
| Andrey Shestakov | 4667551 | 2018-04-24 10:58:33 +0300 | [diff] [blame] | 271 | - tar_options: xzf |
| Victor Ryzhenkin | 4a21c9f | 2018-07-10 17:21:46 +0400 | [diff] [blame] | 272 | {%- else %} |
| 273 | - options: xzf |
| 274 | {%- endif %} |
| Andrey Shestakov | 4667551 | 2018-04-24 10:58:33 +0300 | [diff] [blame] | 275 | - archive_format: tar |
| 276 | - if_missing: /opt/cni/bin/host-local |
| 277 | {%- endif %} |