From 9b0f57a0a6d821a851908e48fbb3763b23b25070 Mon Sep 17 00:00:00 2001 From: Matthew Mosesohn Date: Mon, 9 Sep 2019 20:33:20 +0300 Subject: [PATCH] Adjust endpoints for kube-proxy,controller,scheduler to proper ip (#5150) Change-Id: I5aa009358bee7035922b5a10327997e47c9ba434 --- roles/kubernetes/kubeadm/tasks/main.yml | 4 +++- .../master/tasks/kubeadm-fix-apiserver.yml | 13 +++++++++++++ roles/kubernetes/master/tasks/main.yml | 3 +++ 3 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 roles/kubernetes/master/tasks/kubeadm-fix-apiserver.yml diff --git a/roles/kubernetes/kubeadm/tasks/main.yml b/roles/kubernetes/kubeadm/tasks/main.yml index af5a0855d..d749e7956 100644 --- a/roles/kubernetes/kubeadm/tasks/main.yml +++ b/roles/kubernetes/kubeadm/tasks/main.yml @@ -104,10 +104,12 @@ - kubeadm_discovery_address != kube_apiserver_endpoint | replace("https://", "") notify: restart kubelet +# FIXME(mattymo): Need to point to localhost, otherwise masters will all point +# incorrectly to first master, creating SPoF. - name: Update server field in kube-proxy kubeconfig shell: >- {{ bin_dir }}/kubectl --kubeconfig {{ kube_config_dir }}/admin.conf get configmap kube-proxy -n kube-system -o yaml - | sed 's#server:.*#server:\ {{ kube_apiserver_endpoint }}#g' + | sed 's#server:.*#server: https://127.0.0.1:{{ kube_apiserver_port }}#g' | {{ bin_dir }}/kubectl --kubeconfig {{ kube_config_dir }}/admin.conf replace -f - run_once: true when: diff --git a/roles/kubernetes/master/tasks/kubeadm-fix-apiserver.yml b/roles/kubernetes/master/tasks/kubeadm-fix-apiserver.yml new file mode 100644 index 000000000..32a4e0ffb --- /dev/null +++ b/roles/kubernetes/master/tasks/kubeadm-fix-apiserver.yml @@ -0,0 +1,13 @@ +--- +- name: Update server field in component kubeconfigs + lineinfile: + dest: "{{ kube_config_dir }}/{{ item }}.conf" + regexp: 'server:' + line: ' server: {{ kube_apiserver_endpoint }}' + backup: yes + with_items: + - controller-manager + - scheduler + when: + - not loadbalancer_apiserver is defined + notify: "Master | Restart kube-{{ item }}" diff --git a/roles/kubernetes/master/tasks/main.yml b/roles/kubernetes/master/tasks/main.yml index 6d881caf9..4d646d22f 100644 --- a/roles/kubernetes/master/tasks/main.yml +++ b/roles/kubernetes/master/tasks/main.yml @@ -73,3 +73,6 @@ - name: Include kubeadm etcd extra tasks include_tasks: kubeadm-etcd.yml when: etcd_kubeadm_enabled + +- name: Include kubeadm secondary server apiserver fixes + include_tasks: kubeadm-fix-apiserver.yml