From 966bce1398dd23be49acc9c55e833987148db454 Mon Sep 17 00:00:00 2001 From: Matt Peters Date: Mon, 8 Jun 2020 09:59:01 -0500 Subject: [PATCH] Fix kubernetes apiserver advertise address Set the kube-apiserver advertise address to the local controller cluster-host unit address to ensure kubeadm does not attempt to discover the default address which in most cases will be invalid. Set the kubeadm InitConfiguration advertiseAddress for the initial controller master node. Closes-Bug: 1877383 Change-Id: I759234685966234bf987a9e06be77a5f793ee782 Signed-off-by: Matt Peters --- .../bringup-essential-services/tasks/bringup_kubemaster.yml | 6 ++++-- .../src/playbooks/roles/common/files/kubeadm.yaml.erb | 3 +-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/playbookconfig/src/playbooks/roles/bootstrap/bringup-essential-services/tasks/bringup_kubemaster.yml b/playbookconfig/src/playbooks/roles/bootstrap/bringup-essential-services/tasks/bringup_kubemaster.yml index e2de7f60b..04b727cba 100644 --- a/playbookconfig/src/playbooks/roles/bootstrap/bringup-essential-services/tasks/bringup_kubemaster.yml +++ b/playbookconfig/src/playbooks/roles/bootstrap/bringup-essential-services/tasks/bringup_kubemaster.yml @@ -116,14 +116,16 @@ args: warn: false with_items: - - "sed -i -e 's|<%= @apiserver_advertise_address %>|'$CLUSTER_IP'|g' /etc/kubernetes/kubeadm.yaml" + - "sed -i -e 's|<%= @apiserver_advertise_address %>|'$APISERVER_ADVERTISE_ADDRESS'|g' /etc/kubernetes/kubeadm.yaml" + - "sed -i -e 's|<%= @controlplane_endpoint %>|'$CONTROLPLANE_ENDPOINT'|g' /etc/kubernetes/kubeadm.yaml" - "sed -i -e 's|<%= @etcd_endpoint %>|'$ETCD_ENDPOINT'|g' /etc/kubernetes/kubeadm.yaml" - "sed -i -e 's|<%= @service_domain %>|'cluster.local'|g' /etc/kubernetes/kubeadm.yaml" - "sed -i -e 's|<%= @pod_network_cidr %>|'$POD_NETWORK_CIDR'|g' /etc/kubernetes/kubeadm.yaml" - "sed -i -e 's|<%= @service_network_cidr %>|'$SERVICE_NETWORK_CIDR'|g' /etc/kubernetes/kubeadm.yaml" - "sed -i -e 's|<%= @ctrl_mgr_flex_vol_plugin_dir %>|'$VOLUME_PLUGIN_DIR'|g' /etc/kubernetes/kubeadm.yaml" environment: - CLUSTER_IP: "{{ cluster_floating_address }}" + APISERVER_ADVERTISE_ADDRESS: "{{ controller_0_cluster_host }}" + CONTROLPLANE_ENDPOINT: "{{ cluster_floating_address }}" ETCD_ENDPOINT: "http://{{ cluster_floating_address | ipwrap }}:2379" POD_NETWORK_CIDR: "{{ cluster_pod_subnet }}" SERVICE_NETWORK_CIDR: "{{ cluster_service_subnet }}" diff --git a/playbookconfig/src/playbooks/roles/common/files/kubeadm.yaml.erb b/playbookconfig/src/playbooks/roles/common/files/kubeadm.yaml.erb index f5a11f0e4..ae26dcb55 100644 --- a/playbookconfig/src/playbooks/roles/common/files/kubeadm.yaml.erb +++ b/playbookconfig/src/playbooks/roles/common/files/kubeadm.yaml.erb @@ -7,7 +7,6 @@ nodeRegistration: --- apiVersion: kubeadm.k8s.io/v1beta2 kind: ClusterConfiguration - apiServer: certSANs: <% @apiserver_certsans.each do |item| -%> @@ -36,7 +35,7 @@ controllerManager: pod-eviction-timeout: "30s" feature-gates: "TTLAfterFinished=true" flex-volume-plugin-dir: <%= @ctrl_mgr_flex_vol_plugin_dir %> -controlPlaneEndpoint: <%= @apiserver_advertise_address %> +controlPlaneEndpoint: <%= @controlplane_endpoint %> etcd: external: endpoints: