summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Pointner <equinox@spreadspace.org>2018-02-09 22:57:16 +0100
committerChristian Pointner <equinox@spreadspace.org>2018-02-09 22:57:16 +0100
commit35ea3ea0ead936a744b63e53be4a421154ddd419 (patch)
treee1be4d0017bb38297b60424bbaf733f74d3588ea
parentkubernetes net now supports local net zones (diff)
make scaleway based k8s nodes reachable
-rw-r--r--playbooks/k8s-emc.yaml8
-rw-r--r--roles/kubernetes-base/tasks/main.yaml1
-rw-r--r--roles/kubernetes-base/templates/50-extra.conf.j22
-rw-r--r--roles/kubernetes-net/templates/ifupdown.sh.j210
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)"