Invalid kube-config error when following README
janosdebugs opened this issue · comments
When following the Setting up infrastructure dependencies in the README, Cerberus crashes with the following error:
cerberus_1 | 2022-05-06 12:58:39,672 [INFO] Starting ceberus
cerberus_1 | 2022-05-06 12:58:39,679 [INFO] Initializing client to talk to the Kubernetes cluster
cerberus_1 | _
cerberus_1 | ___ ___ _ __| |__ ___ _ __ _ _ ___
cerberus_1 | / __/ _ \ '__| '_ \ / _ \ '__| | | / __|
cerberus_1 | | (_| __/ | | |_) | __/ | | |_| \__ \
cerberus_1 | \___\___|_| |_.__/ \___|_| \__,_|___/
cerberus_1 |
cerberus_1 |
cerberus_1 | Traceback (most recent call last):
cerberus_1 | File "start_cerberus.py", line 544, in <module>
cerberus_1 | main(options.cfg)
cerberus_1 | File "start_cerberus.py", line 113, in main
cerberus_1 | kubecli.initialize_clients(kubeconfig_path, request_chunk_size, cmd_timeout)
cerberus_1 | File "/root/cerberus/cerberus/kubernetes/client.py", line 26, in initialize_clients
cerberus_1 | config.load_kube_config(kubeconfig_path)
cerberus_1 | File "/usr/local/lib/python3.6/site-packages/kubernetes/config/kube_config.py", line 810, in load_kube_config
cerberus_1 | persist_config=persist_config)
cerberus_1 | File "/usr/local/lib/python3.6/site-packages/kubernetes/config/kube_config.py", line 773, in _get_kube_config_loader
cerberus_1 | **kwargs)
cerberus_1 | File "/usr/local/lib/python3.6/site-packages/kubernetes/config/kube_config.py", line 206, in __init__
cerberus_1 | self.set_active_context(active_context)
cerberus_1 | File "/usr/local/lib/python3.6/site-packages/kubernetes/config/kube_config.py", line 258, in set_active_context
cerberus_1 | context_name = self._config['current-context']
cerberus_1 | File "/usr/local/lib/python3.6/site-packages/kubernetes/config/kube_config.py", line 622, in __getitem__
cerberus_1 | % (key, self.name))
cerberus_1 | kubernetes.config.config_exception.ConfigException: Invalid kube-config file. Expected key current-context in /root/.kube/config
Without investigating further, it's likely that the docker-compose.yml needs to be updated to mount the Kubeconfig from the host. It requires the .kube/config
file to be present in /root
, which is not where most people will have their Kubeconfig.
Environment:
$ docker version
Client: Docker Engine - Community
Version: 20.10.14
API version: 1.41
Go version: go1.16.15
Git commit: a224086
Built: Thu Mar 24 01:48:02 2022
OS/Arch: linux/amd64
Context: default
Experimental: true
Server: Docker Engine - Community
Engine:
Version: 20.10.14
API version: 1.41 (minimum version 1.12)
Go version: go1.16.15
Git commit: 87a90dc
Built: Thu Mar 24 01:45:53 2022
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.5.11
GitCommit: 3df54a852345ae127d1fa3092b95168e4a88e2f8
runc:
Version: 1.0.3
GitCommit: v1.0.3-0-gf46b6ba
docker-init:
Version: 0.19.0
GitCommit: de40ad0
$ docker-compose version
/home/janosdebugs/PycharmProjects/krkn/venv/lib/python3.8/site-packages/paramiko/transport.py:236: CryptographyDeprecationWarning: Blowfish has been deprecated
"class": algorithms.Blowfish,
docker-compose version 1.29.2, build unknown
docker-py version: 5.0.3
CPython version: 3.8.10
OpenSSL version: OpenSSL 1.1.1f 31 Mar 2020