ksniff
ksniff copied to clipboard
Invalid configuration error due to context not found
Problem
When using several kubeconfigs referenced by the KUBECONFIG
env var (colon separated paths), this plugin doesn't work. Not even when referencing the specific config file.
$ echo $KUBECONFIG
/home/me/.kube/config:/home/me/.kube/config2:/home/me/.kube/config3
$ kubectl get pods
NAME READY STATUS RESTARTS AGE
mypod 1/1 Running 0 5d3h
$ kubectl sniff mypod
Error: invalid configuration: [context was not found for specified context: mycluster, cluster has no server defined]
$ kubectl sniff -x /home/me/.kube/config2 mypod
Error: context doesn't exist
Workaround
I managed to make it work by doing the following steps
- Unset the KUBECONFIG var
- Remove the main config file (~/.kube/config)
- Copy the contents of the desired config file to the main one (~/.kube/config)
As far as I understand the -x
flag is intended to specify a context name, not a kubeconfig file (which is what I tried). Just mention I've also tried to specify the context name using that flag and the result is the same.
The problem looks to come from the fact I'm using several kubeconfigs at the same time, which should not be an issue.
I think https://github.com/eldadru/ksniff/commit/80a5e9f472bed46bcc331a48d36654f8263b4bc6 resolves this issue. Would you mind building from the master branch to see if it indeed helps?
Oh, my bad. This looks like a duplicate of #110. I will check it ASAP and come back with feedback. Thank you @bostrt
Still the issue in 1.6.2 if KUBECONFIG var contains more 1 cluster
❯ ~ k sniff -n kazoo5-frankfurt ecallmgr-56d8bc767d-ngzpk -c apps --image nicolaka/netshoot -p -f "tcp port 5984"
Error: invalid configuration: [context was not found for specified context: kubernetes-admin-k8s-frankfurt@k8s-frankfurt, cluster has no server defined]