2015-10-03 20:19:50 +00:00
|
|
|
---
|
2016-12-13 10:43:06 +00:00
|
|
|
- set_fact:
|
|
|
|
standalone_kubelet: >-
|
|
|
|
{%- if inventory_hostname in groups['kube-master'] and inventory_hostname not in groups['kube-node'] -%}true{%- else -%}false{%- endif -%}
|
|
|
|
tags: facts
|
|
|
|
|
2017-04-03 13:50:17 +00:00
|
|
|
- include: pre_upgrade.yml
|
|
|
|
tags: kubelet
|
|
|
|
|
2017-04-19 16:00:44 +00:00
|
|
|
- name: Ensure /var/lib/cni exists
|
|
|
|
file:
|
|
|
|
path: /var/lib/cni
|
|
|
|
state: directory
|
|
|
|
mode: 0755
|
|
|
|
|
2016-02-11 22:08:16 +00:00
|
|
|
- include: install.yml
|
2016-12-08 13:36:00 +00:00
|
|
|
tags: kubelet
|
2016-02-11 22:08:16 +00:00
|
|
|
|
2016-09-28 11:05:08 +00:00
|
|
|
- include: nginx-proxy.yml
|
2017-02-10 10:23:19 +00:00
|
|
|
when: is_kube_master == false and loadbalancer_apiserver_localhost|default(true)
|
2016-12-08 13:36:00 +00:00
|
|
|
tags: nginx
|
2016-09-28 11:05:08 +00:00
|
|
|
|
2015-12-11 10:32:13 +00:00
|
|
|
- name: Write kubelet config file
|
2017-02-17 21:22:34 +00:00
|
|
|
template:
|
|
|
|
src: kubelet.j2
|
|
|
|
dest: "{{ kube_config_dir }}/kubelet.env"
|
|
|
|
backup: yes
|
2016-12-08 13:36:00 +00:00
|
|
|
notify: restart kubelet
|
|
|
|
tags: kubelet
|
2015-12-11 10:32:13 +00:00
|
|
|
|
|
|
|
- name: write the kubecfg (auth) file for kubelet
|
2017-02-17 21:22:34 +00:00
|
|
|
template:
|
2017-06-27 04:27:25 +00:00
|
|
|
src: "{{ item }}-kubeconfig.yaml.j2"
|
|
|
|
dest: "{{ kube_config_dir }}/{{ item }}-kubeconfig.yaml"
|
2017-02-17 21:22:34 +00:00
|
|
|
backup: yes
|
2017-06-27 04:27:25 +00:00
|
|
|
with_items:
|
|
|
|
- node
|
|
|
|
- kube-proxy
|
2016-12-08 13:36:00 +00:00
|
|
|
notify: restart kubelet
|
|
|
|
tags: kubelet
|
2015-12-11 10:32:13 +00:00
|
|
|
|
2017-02-03 15:26:30 +00:00
|
|
|
- name: Ensure nodePort range is reserved
|
|
|
|
sysctl:
|
|
|
|
name: net.ipv4.ip_local_reserved_ports
|
|
|
|
value: "{{ kube_apiserver_node_port_range }}"
|
|
|
|
sysctl_set: yes
|
|
|
|
state: present
|
|
|
|
reload: yes
|
|
|
|
when: kube_apiserver_node_port_range is defined
|
|
|
|
tags: kube-proxy
|
|
|
|
|
2017-09-06 12:11:51 +00:00
|
|
|
- name: Verify if br_netfilter module exists
|
|
|
|
shell: "modinfo br_netfilter"
|
|
|
|
register: modinfo_br_netfilter
|
|
|
|
failed_when: modinfo_br_netfilter.rc not in [0, 1]
|
|
|
|
changed_when: false
|
|
|
|
|
|
|
|
- name: Enable br_netfilter module
|
|
|
|
modprobe:
|
|
|
|
name: br_netfilter
|
|
|
|
state: present
|
|
|
|
when: modinfo_br_netfilter.rc == 0
|
|
|
|
|
|
|
|
# kube-proxy needs net.bridge.bridge-nf-call-iptables enabled when found if br_netfilter is not a module
|
|
|
|
- name: Check if bridge-nf-call-iptables key exists
|
|
|
|
command: "sysctl net.bridge.bridge-nf-call-iptables"
|
|
|
|
failed_when: false
|
|
|
|
changed_when: false
|
|
|
|
register: sysctl_bridge_nf_call_iptables
|
|
|
|
|
|
|
|
- name: Enable bridge-nf-call tables
|
|
|
|
sysctl:
|
|
|
|
name: "{{ item }}"
|
|
|
|
state: present
|
|
|
|
value: 1
|
|
|
|
reload: yes
|
|
|
|
when: modinfo_br_netfilter.rc == 1 and sysctl_bridge_nf_call_iptables.rc == 0
|
|
|
|
with_items:
|
|
|
|
- net.bridge.bridge-nf-call-iptables
|
|
|
|
- net.bridge.bridge-nf-call-arptables
|
|
|
|
- net.bridge.bridge-nf-call-ip6tables
|
|
|
|
|
2015-12-11 10:32:13 +00:00
|
|
|
- name: Write proxy manifest
|
2016-01-25 01:01:25 +00:00
|
|
|
template:
|
2015-12-11 10:32:13 +00:00
|
|
|
src: manifests/kube-proxy.manifest.j2
|
|
|
|
dest: "{{ kube_manifest_dir }}/kube-proxy.manifest"
|
2016-12-08 13:36:00 +00:00
|
|
|
tags: kube-proxy
|
2015-12-11 10:32:13 +00:00
|
|
|
|
2016-01-25 01:01:25 +00:00
|
|
|
# reload-systemd
|
|
|
|
- meta: flush_handlers
|
|
|
|
|
2015-12-11 10:32:13 +00:00
|
|
|
- name: Enable kubelet
|
|
|
|
service:
|
|
|
|
name: kubelet
|
|
|
|
enabled: yes
|
|
|
|
state: started
|
2016-12-08 13:36:00 +00:00
|
|
|
tags: kubelet
|