Skip to content

Commit eb38019

Browse files
committed
fix(k8s.py): access API server by IP address
1 parent dded21e commit eb38019

2 files changed

Lines changed: 9 additions & 2 deletions

File tree

rootfs/scheduler/k8s.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,10 @@ def __init__(self, target, auth, options):
132132
'Authorization': 'Bearer ' + token,
133133
'Content-Type': 'application/json',
134134
}
135-
session.verify = '/var/run/secrets/kubernetes.io/serviceaccount/ca.crt'
135+
# TODO: accessing the k8s api server by IP address rather than hostname avoids
136+
# intermittent DNS errors, but at the price of disabling cert verification.
137+
# session.verify = '/var/run/secrets/kubernetes.io/serviceaccount/ca.crt'
138+
session.verify = False
136139
self.session = session
137140

138141
def _api(self, tmpl, *args):

rootfs/templates/confd_settings.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
1+
import os
2+
13
# security keys and auth tokens
24
SECRET_KEY = '{{ getv "/deis/controller/secretKey" }}'
35
BUILDER_KEY = '{{ getv "/deis/controller/builderKey" }}'
46

57
# scheduler settings
68
SCHEDULER_MODULE = 'scheduler.k8s'
7-
SCHEDULER_URL = 'https://kubernetes.default.svc.cluster.local'
9+
SCHEDULER_URL = "https://{}:{}".format(
10+
os.environ.get('KUBERNETES_SERVICE_HOST', 'kubernetes.default.svc.cluster.local'),
11+
os.environ.get('KUBERNETES_SERVICE_PORT', '443'))
812

913
# platform domain must be provided
1014
DEIS_DOMAIN = '{{ getv "/deis/platform/domain" }}'

0 commit comments

Comments
 (0)