From 236fb174268d6803a27905a636e464b296c62aee Mon Sep 17 00:00:00 2001 From: George Kraft Date: Wed, 4 Apr 2018 16:08:56 -0500 Subject: [PATCH] juju: Set apiserver advertise-address to kube-control ingress address --- .../layers/kubernetes-master/reactive/kubernetes_master.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/cluster/juju/layers/kubernetes-master/reactive/kubernetes_master.py b/cluster/juju/layers/kubernetes-master/reactive/kubernetes_master.py index 3a75259b67a..acb4a7a4e86 100644 --- a/cluster/juju/layers/kubernetes-master/reactive/kubernetes_master.py +++ b/cluster/juju/layers/kubernetes-master/reactive/kubernetes_master.py @@ -559,9 +559,9 @@ def push_service_data(kube_api): kube_api.configure(port=6443) -def get_ingress_address(relation): +def get_ingress_address(relation_name): try: - network_info = hookenv.network_get(relation.relation_name) + network_info = hookenv.network_get(relation_name) except NotImplementedError: network_info = [] @@ -585,7 +585,7 @@ def send_data(tls, kube_api_endpoint): kubernetes_service_ip = get_kubernetes_service_ip() # Get ingress address - ingress_ip = get_ingress_address(kube_api_endpoint) + ingress_ip = get_ingress_address(kube_api_endpoint.relation_name) domain = hookenv.config('dns_domain') # Create SANs that the tls layer will add to the server cert. @@ -1156,6 +1156,7 @@ def configure_apiserver(etcd_connection_string, leader_etcd_version): api_opts['service-account-key-file'] = '/root/cdk/serviceaccount.key' api_opts['kubelet-preferred-address-types'] = \ '[InternalIP,Hostname,InternalDNS,ExternalDNS,ExternalIP]' + api_opts['advertise-address'] = get_ingress_address('kube-control') etcd_dir = '/root/cdk/etcd' etcd_ca = os.path.join(etcd_dir, 'client-ca.pem')