diff options
author | Christian Pointner <equinox@spreadspace.org> | 2018-02-09 22:57:16 +0100 |
---|---|---|
committer | Christian Pointner <equinox@spreadspace.org> | 2018-02-09 22:57:16 +0100 |
commit | 35ea3ea0ead936a744b63e53be4a421154ddd419 (patch) | |
tree | e1be4d0017bb38297b60424bbaf733f74d3588ea | |
parent | kubernetes net now supports local net zones (diff) |
make scaleway based k8s nodes reachable
-rw-r--r-- | playbooks/k8s-emc.yaml | 8 | ||||
-rw-r--r-- | roles/kubernetes-base/tasks/main.yaml | 1 | ||||
-rw-r--r-- | roles/kubernetes-base/templates/50-extra.conf.j2 | 2 | ||||
-rw-r--r-- | roles/kubernetes-net/templates/ifupdown.sh.j2 | 10 |
4 files changed, 17 insertions, 4 deletions
diff --git a/playbooks/k8s-emc.yaml b/playbooks/k8s-emc.yaml index 7c6a21dd..06b855cd 100644 --- a/playbooks/k8s-emc.yaml +++ b/playbooks/k8s-emc.yaml @@ -62,15 +62,15 @@ add_host: name: "{{ item }}" inventory_dir: "{{inventory_dir}}" - group: k8s-emc-remove + group: _k8s-emc-remove_ changed_when: False - name: drain superflous nodes - with_items: "{{ groups['k8s-emc-remove'] | default([]) }}" + with_items: "{{ groups['_k8s-emc-remove_'] | default([]) }}" command: "kubectl drain {{ item }} --delete-local-data --force --ignore-daemonsets" - name: try to clean superflous nodes - hosts: k8s-emc-remove + hosts: _k8s-emc-remove_ vars: k8s_remove_node: yes roles: @@ -81,7 +81,7 @@ hosts: k8s-emc-master tasks: - name: remove superflous nodes - with_items: "{{ groups['k8s-emc-remove'] | default([]) }}" + with_items: "{{ groups['_k8s-emc-remove_'] | default([]) }}" command: "kubectl delete node {{ item }}" - name: remove bootstrap-token diff --git a/roles/kubernetes-base/tasks/main.yaml b/roles/kubernetes-base/tasks/main.yaml index 3cc9cecf..4e3aba4e 100644 --- a/roles/kubernetes-base/tasks/main.yaml +++ b/roles/kubernetes-base/tasks/main.yaml @@ -59,6 +59,7 @@ - name: install kubelet config snippets with_items: - 20-dns.conf + - 50-extra.conf template: src: "{{ item }}.j2" dest: "/etc/systemd/system/kubelet.service.d/{{ item }}" diff --git a/roles/kubernetes-base/templates/50-extra.conf.j2 b/roles/kubernetes-base/templates/50-extra.conf.j2 new file mode 100644 index 00000000..9fff76b0 --- /dev/null +++ b/roles/kubernetes-base/templates/50-extra.conf.j2 @@ -0,0 +1,2 @@ +[Service] +Environment="KUBELET_EXTRA_ARGS={% if external_ip is defined %}--node-ip={{ external_ip }} {% endif %}" diff --git a/roles/kubernetes-net/templates/ifupdown.sh.j2 b/roles/kubernetes-net/templates/ifupdown.sh.j2 index eef1b22f..701128f3 100644 --- a/roles/kubernetes-net/templates/ifupdown.sh.j2 +++ b/roles/kubernetes-net/templates/ifupdown.sh.j2 @@ -19,6 +19,11 @@ TUN_IP_CIDR="{{ kubernetes.pod_ip_range | ipsubnet(kubernetes.pod_ip_range_size, case "$1" in up) +{% if external_ip is defined %} + # add external-ip to loopback interface so kubelet will accept this as --node-ip + ip addr add dev lo {{ external_ip }}/32 + +{% endif %} # bring up bridge for local pods ip link add dev "$BR_IF" type bridge ip addr add dev "$BR_IF" "$BR_IP_CIDR" @@ -41,6 +46,11 @@ case "$1" in # bring down bridge for local pods iptables -t nat -D POSTROUTING -s "$BR_NET_CIDR" -o "$INET_IF" -j MASQUERADE ip link del dev "$BR_IF" +{% if external_ip is defined %} + + # remove external-ip from loopback interface + ip addr del dev lo {{ external_ip }}/32 +{% endif %} ;; *) echo "usage: $0 (up|down)" |