Choose one: BUG REPORT or FEATURE REQUEST
FEATURE REQUEST
It would be really cool to have a kubeadm validate command!
This has been discussed a few times, but never brought to life.
Example commands/usage:
kubeadm validate network: Would spin up an nginx Deployment or so to serve on port 80, then spin up an other busybox Pod to nslookup nginx && wget http://nginx. That only works if the network/dns is function is set up correctly and is really fast (<1min)kubeadm validate conformance: This command would download the right e2e binary and make that one run the Conformance suite against the cluster. IIRC that takes about an hour.kubeadm validate ???: There are lots of other interesting ideas that we could implement here, please come with suggestions!@mikedanese @timothysc @lukemarsden @jbeda @roberthbailey were involved in this discussion IIRC
cc @kubernetes/sig-testing-feature-requests Do you have any cool ideas or thoughts?
in dashboard we get many issues that users cannot access dashboard, but actually the cluster setup or their environment is the cause. I think this would help a lot
@kubernetes/dashboard-maintainers do we have any additional ideas?
Why kubeadm instead of kubectl or some other tool?
@spxtr kubectl is a tool to manage the API resources, etc.
kubeadm is more a tool to manage your cluster
I agree with @spxtr. This sounds like an incredibly useful tool for any Kubernetes clusters - not just ones created by kubeadm.
Question @luxas: is kubeadm only meant to manage clusters it created?
Question @luxas: is kubeadm only meant to manage clusters it created?
@ozdanborne Not necessarily. kubeadm token can talk to any cluster. Generic functions like that work on any cluster.
But I still think there would be pushback to add such a command to kubectl, it really doesn't feel client-y enough to me. This is more a high-level feature than a client-thing. kubeadm is the higher-level tool here indeed and kubectl is the client that shouldn't build in such features.
As this evolves, I see it become a kubectl plugin though...
If feasible, I would suggest to leave the validation in kubeadm, but have an option to execute against any cluster. I would reference this tool then from the setup or trouble-shooting guides in Dashboard. This would be very nice...
@GheRivero volunteered to work on this :tada:
Feel free to ask here if you have any questions or post what implementation/design you have in mind.
I think that should be a separation of concerns and we shouldn't conflate kubeadm, to quote unix philosophy:
Make each program do one thing well. To do a new job, build afresh rather than complicate old programs by adding new "features".
Expect the output of every program to become the input to another, as yet unknown, program.
I think setup is where kubeadm stops and validation is where another tool begins.
@timothysc I'm totally fine with that, should have thought about that in the first place ;)
Still, feel free to prototype this @GheRivero or whoever is working on this, it'd be a very cool project to check out :)
There are ongoing efforts in the CNCF on conformance, and sig-testing around this topic. That may a better venue to vet this.
Most helpful comment
I think that should be a separation of concerns and we shouldn't conflate kubeadm, to quote unix philosophy:
Make each program do one thing well. To do a new job, build afresh rather than complicate old programs by adding new "features".
Expect the output of every program to become the input to another, as yet unknown, program.
I think setup is where kubeadm stops and validation is where another tool begins.