knsk icon indicating copy to clipboard operation
knsk copied to clipboard

Feedback: Script and developer is awesome.

Open piraxi opened this issue 3 years ago • 5 comments

The script, and the developer who developed it, is awesome. This is the only thing that worked to clear out a stuck namespace.

Thank you.

piraxi avatar Nov 24 '21 12:11 piraxi

The script, and the developer who developed it, is awesome. This is the only thing that worked to clear out a stuck namespace.

Thank you.

Keep in touch because I will propose some changes tested on real production environment, ASAP

achetronic avatar Nov 25 '21 10:11 achetronic

Hi @bengray2 and @achetronic,

I was apart of this project for a while, but I think it's time to improve it. Your help on this would be awesome, thanks!

To keep compatibility with older k8s clusters, there are some calls doing their jobs in a non effective way. What do you think to keep this script supporting only versions of k8s recomended by kubernetes.io (at this time, version 1.18 and upper)? What are the cluster versions you guys use it? Actually all my clusters are 1.20 or higher.

thyarles avatar Nov 27 '21 11:11 thyarles

It would be awesome to maintain the script! 💪🏻

I had to rewrite the it to make it more reliable and simpler because some parts were not working and our clusters are fully automated, so they need to be always reliable.

Currently all my clusters are higher than 1.20 but with K0s we could test on older clusters.

What do you propose to test compatibility?

achetronic avatar Nov 27 '21 12:11 achetronic

Hi @achetronic, your script is working fine? If so, can you propose a PR? As the latest supported version of k8s is 1.19, I think we can test it and if works as expected do this upgrade. Sorry for delay, I take some time off to do other business.

thyarles avatar Jan 13 '22 17:01 thyarles

Hi @achetronic, your script is working fine? If so, can you propose a PR? As the latest supported version of k8s is 1.19, I think we can test it and if works as expected do this upgrade. Sorry for delay, I take some time off to do other business.

Hello @thyarles, I finished the script and it works on v1.19+ but not tested on older clusters. Completely generic and failure proof. Using is on dynamic production clusters on destruction time.

I have not done the PR yet because my script is a quite different, you know: with functions, without things like colors or the timer line overwrite decorator [which graphically fails on pipeline environments like Jenkins, for example])

So at this point I wonder if it is better to refactor the main script or make it available apart, in order to keep compatibility with older clusters using yours and newer-only with this one. I say this because all the work I did is more overkilling and suitable for pipeline execution.

What do you think about all this? Sorry for the delay but came from vacation some days ago 🙏🏻

achetronic avatar Jan 15 '22 09:01 achetronic

@thyarles

Hello there, after an eternity (sorry for it), here is the promised link to the project. It is coded in Go and hope you like it. Just opensourced it today and the bash prototype can be found the docs/ directory. Cheers! 🎉

https://github.com/achetronic/nsmurder

achetronic avatar Sep 15 '22 22:09 achetronic

Hi @achetronic!

Awesome! I'm working to update the knsk, but as you did it I'll try to test yours... if it supply all my needs, maybe I can deprecate mine. Thanks for sharing it with us!

Also I pointed your tool on knsk readme, so people can try it if the bash script doesn't work.

thyarles avatar Sep 16 '22 00:09 thyarles

No problem about updates! 😄 I directly invite you to collaborate with the nsmurder development and add all the things you consider that are missing.

The reason behind to do a compiled code is about code maintenance, allowing developers to collaborate easier with the project and extend it

Thank you for adding me on the readme, it is wonderful and I will do the same in mine, of course. Diversity is always good.

About the dependencies, I trust them because my direct dependencies (the real dependencies for the project) are official Kubernetes ones, but sometimes under the hood, they require other ones more specific or hosted on personal repos, but most times the personal ones are from people working on the big tech organizations, so imho we can (more or less) trust them 😄

achetronic avatar Sep 16 '22 07:09 achetronic

@achetronic, sure it can be safe. Just pointed it because I'm crazy about security.... every time I need to deploy a new stack that uses pip, yarn, gem, npm, composer, or Go I spend time reading every piece of the code and dependencies. Also always do my first try on a sandbox environment.

thyarles avatar Sep 16 '22 12:09 thyarles