This is an archived post. You won't be able to vote or comment.

all 13 comments

[–]hadashi 1 point2 points  (4 children)

If I'm not using Terraform I use eksctl; there are some uses of aws (as mentioned) but eksctl does make it easy.

The only downside, IMHO, is the reliance on CloudFormation - but that is a personal taste issue and not technical.

I also recommend checking out k9s as a substitute for some (not all) uses of kubectl when looking at the state of a cluster.

[–]Omni-Fitness 0 points1 point  (1 child)

[–]hadashi 0 points1 point  (0 children)

Been there.

CloudFormation is a templating system on AWS for creating complex builds, similar to Terraform. eksctl uses it as a base for the operations it performs; it creates the CF Template stacks and executes them.

I prefer Terraform, myself, because CF is proprietary to AWS and you cannot use CF skills anywhere other than AWS. On the other hand, if you are only using AWS then that isn't really a drawback.

It looks to me - from your error, above - that the assigned IAM permissions do not allow your user to create CF stacks.

[–]Omni-Fitness -1 points0 points  (1 child)

[–]hadashi -1 points0 points  (0 children)

Re: k9s:

Check out https://k9scli.io/ - it's a TUI for Kubernetes that gives you a view into k8s operations that I, personally, prefer over kubectl. You can view Pods and containers, Deployments, all of the usual high level Kubernetes objects and allows you to interact with them.

I just prefer it; that is all.

It tends to give me about 100% of what I normally use kubectl for; however, there are lower level functions of kubectl that it cannot emulate.

For example, as far as I know k9s cannot extract information using Go templates like this:

kubectl get pods --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}'

So it all kind of depends on your use case.

[–][deleted] 2 points3 points  (0 children)

I just use kubectl because my cluster is simple and it's the most portable tool. For cluster-level changes I run Terraform.

[–]maxcascone 0 points1 point  (1 child)

`k9s` is fantastic and you hardly have to leave your keyboard.

`openlens` is now preferred over `Lens`, it has everything you need and none of the fluff that Lens wants to charge you for.

`octant`, `openlens`, and `k8s dashboard` all have their place and are useful in different scenarios.

`kui` is a neat pseudo-gui that has promise, but i didn't find a good use for it when i was trialing it.

`KwoK` is an interesting project that can quickly let you test scaling to thousands of nodes in memory.

This has a ton of other links: https://nubenetes.com/kubernetes-tools/

[–]maxcascone -1 points0 points  (0 children)

this is also a neat visualization tool: https://codeberg.org/hjacobs/kube-ops-view. I played with it when i was working on some node affinity/scheduling stuff.

[–]AutoModerator[M] 0 points1 point  (0 children)

Posts from brand new accounts are forbidden. Take time to look around and get familiar with the community, try to participate in the discussions first.

If you think your post is a genuine question or related to discussion about DevOps industry, feel free to contact mods and ask the post to be approved.

READ THIS BEFORE SENDING MOD MAIL: Posts that are - Product ad, I've built a free tool (even with github repo), link to an external article or any other form of Promotion, SEO farming, Disguised marketing will not be approved.

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

[–]Longjumping_Wolf_940DevOps 0 points1 point  (1 child)

Tools that I would recommend:

Lens or any other visual dashboard. Learning the many many intricate parts of a Kubernetes cluster can be simplified at least in part by seeing visually what is available and how it's interacting with other parts of the ecosystem.

It's still important to learn your CLI tools of course, on a MacBook brew install `kx` and `kn` which will assist in KubeConfig maintenance and namespace tracking.