blob: f9a69028136713f250fac002c32594a04d2a54cf [file] [log] [blame]
{% from "kubernetes/map.jinja" import common with context %}
kubernetes_pkgs:
pkg.installed:
- names: {{ common.pkgs }}
{%- if common.network.get('engine', 'none') == 'flannel' %}
flannel-tar:
archive:
- extracted
- user: root
- name: /usr/local/src
- makedirs: True
- source: https://storage.googleapis.com/kubernetes-release/flannel/flannel-0.5.5-linux-amd64.tar.gz
- tar_options: v
- source_hash: md5=972c717254775bef528f040af804f2cc
- archive_format: tar
- if_missing: /usr/local/src/flannel/flannel-0.5.5/
{%- endif %}
{%- if common.hyperkube is defined %}
/tmp/hyperkube:
file.directory:
- user: root
- group: root
hyperkube-copy:
dockerng.running:
- image: {{ common.hyperkube.image }}
- command: cp -v /hyperkube /tmp/hyperkube
- binds:
- /tmp/hyperkube/:/tmp/hyperkube/
- force: True
- require:
- file: /tmp/hyperkube
/usr/bin/hyperkube:
file.managed:
- source: /tmp/hyperkube/hyperkube
- mode: 751
- makedirs: true
- user: root
- group: root
- require:
- dockerng: hyperkube-copy
/usr/bin/kubectl:
file.symlink:
- target: /usr/bin/hyperkube
- require:
- file: /usr/bin/hyperkube
/etc/systemd/system/kubelet.service:
file.managed:
- source: salt://kubernetes/files/systemd/kubelet.service
- template: jinja
- user: root
- group: root
- mode: 644
/etc/kubernetes/config:
file.absent
/etc/kubernetes/manifests:
file.directory:
- user: root
- group: root
- mode: 0751
{%- if not pillar.kubernetes.pool is defined %}
/etc/default/kubelet:
file.managed:
- source: salt://kubernetes/files/kubelet/default.master
- template: jinja
- user: root
- group: root
- mode: 644
{%- else %}
/etc/default/kubelet:
file.managed:
- source: salt://kubernetes/files/kubelet/default.pool
- template: jinja
- user: root
- group: root
- mode: 644
{%- endif %}
manifest_dir_create:
file.directory:
- name: /etc/kubernetes/manifests
- user: root
- group: root
- mode: 0751
/etc/kubernetes/kubelet.kubeconfig:
file.managed:
- source: salt://kubernetes/files/kubelet/kubelet.kubeconfig
- template: jinja
- user: root
- group: root
- mode: 644
- makedirs: true
kubelet_service:
service.running:
- name: kubelet
- enable: True
- watch:
- file: /etc/default/kubelet
- file: /usr/bin/hyperkube
- file: /etc/kubernetes/kubelet.kubeconfig
- file: manifest_dir_create
{%- if common.logrotate is defined %}
/etc/logrotate.d/kubernetes:
file.managed:
- source: salt://kubernetes/files/logrotate
- template: jinja
- user: root
- group: root
- mode: 644
- makedirs: true
- defaults:
logfile: {{ common.logrotate }}
{% endif %}
{% endif %}