Adding metrics server

pull/8/head
Mike Wilson 2018-02-21 19:23:15 -05:00
parent 9de5839944
commit 265e3035e1
2 changed files with 20 additions and 1 deletions

View File

@ -86,3 +86,8 @@ options:
description: |
The storage backend for kube-apiserver persistence. Can be "etcd2", "etcd3", or
"auto". Auto mode will select etcd3 on new installations, or etcd2 on upgrades.
enable-metrics:
type: boolean
default: true
description: |
If true the metrics server for Kubernetes will be deployed onto the cluster.

View File

@ -640,12 +640,14 @@ def configure_cdk_addons():
remove_state('cdk-addons.configured')
dbEnabled = str(hookenv.config('enable-dashboard-addons')).lower()
dnsEnabled = str(hookenv.config('enable-kube-dns')).lower()
metricsEnabled = str(hookenv.config('enable-metrics')).lower()
args = [
'arch=' + arch(),
'dns-ip=' + get_deprecated_dns_ip(),
'dns-domain=' + hookenv.config('dns_domain'),
'enable-dashboard=' + dbEnabled,
'enable-kube-dns=' + dnsEnabled
'enable-kube-dns=' + dnsEnabled,
'enable-metrics=' + metricsEnabled
]
check_call(['snap', 'set', 'cdk-addons'] + args)
if not addons_ready():
@ -1158,6 +1160,18 @@ def configure_apiserver(etcd_connection_string, leader_etcd_version):
admission_control.remove('Initializers')
api_opts['admission-control'] = ','.join(admission_control)
if get_version('kube-apiserver') > (1, 6) and \
hookenv.config('enable-metrics'):
api_opts['requestheader-client-ca-file'] = ca_cert_path
api_opts['requestheader-allowed-names'] = 'client'
api_opts['requestheader-extra-headers-prefix'] = 'X-Remote-Extra-'
api_opts['requestheader-group-headers'] = 'X-Remote-Group'
api_opts['requestheader-username-headers'] = 'X-Remote-User'
api_opts['proxy-client-cert-file'] = client_cert_path
api_opts['proxy-client-key-file'] = client_key_path
api_opts['enable-aggregator-routing'] = 'true'
api_opts['client-ca-file'] = ca_cert_path
configure_kubernetes_service('kube-apiserver', api_opts, 'api-extra-args')
restart_apiserver()