Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Lens: Desktop application for managing Kubernetes clusters (github.com/kontena)
96 points by xfiler on March 15, 2020 | hide | past | favorite | 38 comments


There is a screenshot burired in the source. https://raw.githubusercontent.com/lensapp/lens/master/images...

A desktop app really needs a screenshot in the readme.


Yeah, especially as it looks pretty slick!


Agreed!


Note that a ticket asking for the ability to turn off/remove/opt-out of data collection was closed as "wontfix".

The argument is that there will be an enterprise version to allow that, with "enterprise licensing".

https://github.com/lensapp/lens/issues/93


From the wontfix issue:

> We collect data that you submit via kontena account registration. We collect data about events that are happening in Lens app: application started, application stopped, logged in, logged out, cluster settings page open, cluster view open, cluster feature X installed, cluster feature X uninstalled, cluster feature X upgraded, terminal opened and kubernetes resource applied. There is no metadata related to these collected. We are not collecting any kind of telemetry data from Lens app: for example we don't know how many clusters you might have, how many nodes you have, what is actually running in your cluster etc.

vs.

> It's the only way for the company behind the product to see how many users are actively using it.

That's a lot of data for the simple task of seeing how many users are actively using it.


There's a switch in "File > Preferences" to turn that off. Overall it's just usage about the tool, not data about the user that's using it.


I’ve been playing with the beta of Infra, which serves a similar purpose. Also with checking out

https://www.infra.app/


I’ve been using Infra.app for over 3 weeks. Love it. Made by the founders of Kitematic and Docker for Mac and Windows. Their care shows in the product.


Is it open source?


Great tool for managing Kubernetes


k9s is an excellent CLI alternative.

https://github.com/derailed/k9s


I learned about this on HN a couple weeks ago. Game changer for me on the app dev side. Makes poking into the pods to look at logging way easier, especially since I'm not a specialized DevOps resource.


It's nice to see work in this area. I was familiar with Kontena (the company that creates Lens) because they have a really nice k8s ruby client lib, but I haven't given Lens a try yet. I use k9s (mentioned elsewhere) primarily and VS Code has a nice porcelain for k8s, but it doesn't feel like anyone has really nailed a GUI yet.


Despite no screenshots I gave it a try.

It actually works well, it automatically read the contexts from my local kubectl configuration and it's got a dark theme. I'll be properly test-driving this for the following days.


This is like a shot-for-shot remake of the official kubernetes-dashboard. That isn't a bad thing, but I don't see why I'd use this over the web app -- it doesn't feel native and will probably always lag behind dashboard

It does feel snappy, and looks good.

One cute GUI utility I've found useful is https://kube-forwarder.pixelpoint.io/.


Missing screenshot or video. Found this on youtube: https://www.youtube.com/watch?v=04v2ODsmtIs

I've also found k9s nice to use: https://github.com/derailed/k9s


No screenshots?


PR for fixing that here ... https://github.com/lensapp/lens/pull/124

They had an image in the repo, but it wasn't referenced in the readme.


Been using this for a while solely bc they show custom resources


Does anyone else think this is insane? Kubernetes is there to manage Docker. Docker is there to run software you don't have to install, which is something operating systems should let you do anyway.

Are we going to have a kubernetes manager manager soon?

If Kubernetes management is a problem, fix Kubernetes. Ultimately, Docker should be fixed so that kubernetes is not needed. After that, operating systems should allow you to simply copy a binary over and run it, statically compiled. This type of distribution should be the norm and not the exception.

We keep piling things on top of other things, and no one seems to care. There are no adults overseeing us, and we soiled our diapers a while ago.


I'm a beginner Kubernetes user and kubectl is pretty user friendly in my opinion, but people like GUIs a lot, especially when you want to explore a cluster you haven't created yourself (much easier than going through a ton of yaml).

K8s isn't made to fix Docker, but rather the problems caused by having to run quite many micro-services. The system it was inspired by predates Docker by many years (Google's borg).


> K8s isn't made to fix Docker...

OP probably knows. my impression was that they picked docker to represent the group...


Kubernetes is doing much more than managing docker. Please at least read their documentation about the overview what are the main features.


[flagged]


Welcome to news.ycombinator.com. Admittedly if you had done all that the replies would have either ignored what you wrote or come up with irrelevant arguments.


This is just another Kubernetes dashboard.

Not sure why you are seemingly upset or confused by it.


> If Kubernetes management is a problem, fix Kubernetes. Ultimately, Docker should be fixed so that kubernetes is not needed.

totally agree.

someone asked earlier why docker swarm is not used in production or not even talked or written about? what are the issues and is anyone trying to fix them?

i honestly don't know either.

but i feel that, on top of us piling things on top of things, we are now also running a kind of popularity show for tools and to some extend languages. whereas the most popular tool is claimed the best and the one everybody should use.

you'd get crucified if you did otherwise...


> you'd get crucified if you did otherwise...

Nobody is crucifying you if you want to use Docker Swarm. You're just being weird.

People are using Kubernetes because (a) it's easy to customise and tailor, (b) there is a bigger ecosystem of components e.g. ingress, (c) it's not controlled by one vendor like Docker is, (d) Google was quick to offer a cloud version of it.


I love docker swarm. It just doesn’t have the mindshare that k8s has. I wish it had caught on


Personally I love hashicorp nomad. It's brilliant. But c'est la vie..


You seem to think that k8s brings no real value, but please acknowledge that with a managed k8s intance you can effortlessly provision eg. A load balanced mongodb instance as well as elastic search and your web apps ... In my view, instead of the toil required to install these services the traditional way you install k8s on your machine which may not be trivial, but is a platform for installing, running, operating and upgrading other applications in a standardized manner.


Docker is just a dev tool to build images and a runtime to run containers as an alternative to VMs. You still need a tool to manage a cluster of machines. In Nomad (alternative to kubernetes) docker is just one of many ways to run an application, you don't need to use docker to benefit from using Nomad because Nomad is managing clusters for you, not containers.


I'd like to think this is just a gui on top of kubectl because not everyone likes to write every single command over and over when a simple gui can tell you more and let you be more productive at the same time. One of the reasons why I choose rancher instead of bare bones kubernetes.


You're getting down voted but you're 100% right. I'm not running prod on something that needs abstractions on abstractions to be usable.


Tell me about it. It's laziness if you ask me (not that anyone is, and that might be a good thing.)

I would have rather we (as an industry) focused on the developing better languages and frameworks to write our software with. Look at Go for example...

With Go I can create a single binary, produce a DEB or RPM and deploy it using Ansible. If I need to update the software I make a change and push it through the CI/CD stack, resulting in another binary, then another DEB/RPM, then an updated set of servers. I then restart a service... so hard /s

If I need to run micro services, then, you know, just run them? They're all statically linked, singular binaries on disk. If I need to run 500 of them, then I just run them. Each gets whatever port it can find and registers its self with (something like) Consul and just like that, I'm DNS query or an API call away from knowing what services I have, where they are and what port to talk to them on.

I believe we should be focusing on making those processes better, not just adding more complex layers on top of simple solutions.

I know K8s has its benefits, but I believe the same benefits can be realised easily enough without the complexities that K8s brings. Obviously I can't outline them here in a comment on HN, but I am working on providing a POC in the near future.

EDIT: and to those down voting me: that's also lazy. Cognitive laziness. Prove me wrong. Also, I don't care about Internet Points, I care about the truth and finding what's true. I wish you the best of luck though.


> With Go I can create a single binary, produce a DEB or RPM and deploy it using Ansible. If I need to update the software I make a change and push it through the CI/CD stack, resulting in another binary, then another DEB/RPM, then an updated set of servers. I then restart a service... so hard /s

What's so hard about sticking the binary in a container? That way you don't need to worry about installing it or generating debs/rpms, everything it needs is in the image.

> If I need to run micro services, then, you know, just run them? They're all statically linked, singular binaries on disk. If I need to run 500 of them, then I just run them. Each gets whatever port it can find and registers its self with (something like) Consul and just like that, I'm DNS query or an API call away from knowing what services I have, where they are and what port to talk to them on.

So finding a free port and registering itself with Consul would need to be built into every service you run. Just run them in containers and let k8s handle the service discovery.

I see what you are saying, but k8s really makes the pattern you are describing easier. It also standardizes it so every company is not managing home-grown ansible and consul mash-ups.


If you don't need Kubernetes, don't use it.

Kubernetes runs more than tiny, statically linked Go apps. It also doesn't just run apps. It can schedule a wide variety of workloads in a cluster, managed their persistent storage, apply disruption policies, autoscale pods based on load or custom metrics, it can set up load balancing, it can run batch jobs, it can run time-scheduled jobs, it can control network traffic, it handles DNS lookups... the list goes on.

Kubernetes isn't particularly complex, but what complexity it does have can be explained. Any attempt to provide the same functionality will ultimately reinvent Kubernetes.


“Kubernetes is too complex” // proceeds to macgyver half of kubernetes in her own opinionated way...


> proceeds to macgyver half of kubernetes in her own opinionated way...

What, by suggesting we run a process on its own instead of wrapping it something that isn't required?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: