Skip to content

Commit eb9ae78

Browse files
committed
Upgraded to flannel 0.9.0 and Docker 17.09. Switched to overlay2 as default storage driver.
1 parent a70a9d9 commit eb9ae78

File tree

7 files changed

+49
-45
lines changed

7 files changed

+49
-45
lines changed

kubernetes/defaults/main.yml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,19 @@ network:
44
service_subnet: 10.200.100.0/24
55
pod_subnet: 10.1.0.0/16
66
images:
7-
flannel: quay.io/coreos/flannel:v0.7.1-arm
7+
flannel: quay.io/coreos/flannel:v0.9.0-arm
88
weave: weaveworks/weave-kube:1.9.4
99
weave_npc: weaveworks/weave-npc:1.9.4
1010
k8s:
11+
version: 1.8.0*
1112
# Timing is good for demos. Defaults are 5min eviction and 40s node grace period
1213
# TODO: Not yet put into the k8s configuration
1314
pod_eviction_timeout: 20s
1415
node_monitor_grace_period: 40s
1516
docker:
1617
# devicemapper or overlay2
17-
storage_driver: overlay
18+
storage_driver: overlay2
1819
expose_tcp: true
19-
version: "1.12*"
20+
version: "17.09*"
2021

2122
debug_level: 2

kubernetes/tasks/apt.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
force: yes
55
state: present
66
with_items:
7-
- kubelet
8-
- kubeadm
9-
- kubectl
7+
- kubelet={{ k8s.version }}
8+
- kubeadm={{ k8s.version }}
9+
- kubectl={{ k8s.version }}
1010
- kubernetes-cni

kubernetes/tasks/docker.yml

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
- name: Downgrade docker
55
apt:
66
state: present
7-
name: docker-engine={{ docker.version }}
7+
name: docker-ce={{ docker.version }}
88
autoremove: yes
99
force: yes
1010

@@ -13,7 +13,7 @@
1313
dockerd_extra_args: "{{ '-H tcp://' + inventory_hostname + ':2375' if docker.expose_tcp else '' }}"
1414

1515
- name: Update docker service startup
16-
template: src=docker-1.12.service dest=/etc/systemd/system/docker.service
16+
template: src=docker.service dest=/etc/systemd/system/docker.service
1717
register: result
1818
notify:
1919
- restart docker
@@ -24,3 +24,9 @@
2424

2525
- name: Notify Docker service right now to restart
2626
meta: flush_handlers
27+
28+
- name: Set the iptables to FORWARD ACCEPT
29+
command: iptables -P FORWARD ACCEPT
30+
31+
- name: Save the iptables
32+
command: iptables-save

kubernetes/tasks/master.yml

Lines changed: 18 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,28 @@
1-
- name: Check for an already generated token
2-
become: no
3-
stat: path={{ playbook_dir }}/run/kubeadm-token.txt
4-
delegate_to: localhost
5-
register: kubeadm_token
6-
7-
- block:
8-
- name: Create a token from master
9-
command: kubeadm token generate
10-
register: kubeadm_gen_token
11-
- name: Copy token to local file 'kubernetes-token'
12-
become: no
13-
copy: content={{ kubeadm_gen_token.stdout }} dest={{ playbook_dir }}/run/kubeadm-token.txt
14-
delegate_to: localhost
15-
when: kubeadm_token.stat.exists == false and mode == "master"
16-
17-
- name: Register token as fact
18-
set_fact:
19-
kubeadm_token: "{{ lookup('file', playbook_dir + '/run/kubeadm-token.txt') }}"
20-
211
- name: Copy init file for kubeadm
222
template: src=kubeadm.yml dest=/etc/kubernetes/kubeadm.yml mode=0755
233

24-
- name: Run kubeadm reset on master
25-
command: kubeadm reset
26-
register: kubeadm_reset
27-
4+
- name: Clean up /var/lib/kubelet/
5+
file: path=/var/lib/kubelet/pki state=absent
6+
287
- name: Run kubeadm init on master
298
command: kubeadm init --config /etc/kubernetes/kubeadm.yml
309
register: kubeadm_init
3110

11+
- name: Create a dedicated token from master
12+
command: kubeadm token create --ttl 0 --groups system:bootstrappers:kubeadm:default-node-token --description "Bootstrap token which does not expire"
13+
register: kubeadm_gen_token
14+
15+
- name: Copy token to local file 'kubernetes-token'
16+
become: no
17+
copy: content={{ kubeadm_gen_token.stdout }} dest={{ playbook_dir }}/run/kubeadm-token.txt
18+
delegate_to: localhost
19+
20+
- name: Register token as fact
21+
set_fact:
22+
kubeadm_token: "{{ lookup('file', playbook_dir + '/run/kubeadm-token.txt') }}"
23+
3224
- name: Copy Kubernetes access config to ~/.kube/config on nodes
33-
copy: remote_src=True src=/etc/kubernetes/admin.conf dest=/home/pi/.kube/config owner=pi
25+
copy: remote_src=True src=/etc/kubernetes/admin.conf dest=/home/pi/.kube/config owner=pi group=pi
3426

3527
# - debug: var=kubeadm_init.stdout
3628

@@ -53,4 +45,4 @@
5345
src: "/etc/kubernetes/admin.conf"
5446
dest: "{{ playbook_dir }}/run/"
5547
flat: true
56-
48+

kubernetes/tasks/node.yml

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,20 @@
22
set_fact:
33
kubeadm_token: "{{ lookup('file', playbook_dir + '/run/kubeadm-token.txt') }}"
44

5-
- name: Run kubeadm reset on node
6-
command: kubeadm reset
5+
- name: Clean up /var/lib/kubelet/
6+
file: path=/var/lib/kubelet/pki state=absent
77

88
- name: Run kubeadm join on node
9-
command: kubeadm join --token={{ kubeadm_token }} master:6443
9+
command: kubeadm join --token={{ kubeadm_token }} --discovery-token-unsafe-skip-ca-verification master:6443
1010

11+
- name: Wait for /etc/kubernetes/kubelet.conf to be created
12+
wait_for: path=/etc/kubernetes/kubelet.conf
13+
14+
- name: Copy Kubernetes access config to ~/.kube/config on nodes
15+
copy: remote_src=True src=/etc/kubernetes/kubelet.conf dest=/home/pi/.kube/config owner=pi group=pi
16+
17+
- name: Fix permission for kubelet-client.key
18+
file: path=/var/lib/kubelet/pki/kubelet-client.key mode="660" group=pi
19+
20+
- name: Fix permission for kubelet.key
21+
file: path=/var/lib/kubelet/pki/kubelet.key mode="660" group=pi

kubernetes/templates/kubeadm.yml

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,12 @@
11
kind: MasterConfiguration
22
apiVersion: kubeadm.k8s.io/v1alpha1
3-
token: "{{ kubeadm_token }}"
43
networking:
54
podSubnet: "{{ network.pod_subnet }}"
65
# serviceSubnet: "{{ network.service_subnet }}"
76
controllerManagerExtraArgs:
8-
controllers: "*,bootstrapsigner,tokencleaner"
97
horizontal-pod-autoscaler-use-rest-clients: "true"
108
horizontal-pod-autoscaler-sync-period: "20s"
11-
node-monitor-grace-period: "30s"
9+
node-monitor-grace-period: "15s"
1210
apiServerExtraArgs:
1311
runtime-config: "api/all=true"
14-
feature-gates: "TaintBasedEvictions=true"
15-
# Disabled for now, requires 1.7.0 alpha:
16-
# proxy-client-cert-file: "/etc/kubernetes/pki/front-proxy-client.crt"
17-
# proxy-client-key-file: "/etc/kubernetes/pki/front-proxy-client.key"
18-
# selfHosted: true
12+
kubernetesVersion: "latest-1.8"

0 commit comments

Comments
 (0)