7 ms·
Headlamp: a new UI for Kubernetes
- leetrout 6y agoI really enjoyed having a UI in OpenShift. I also like GKE. I’ll have to give this a try!
- freedomben 6y agoThat OpenShift UI is IMHO one of the best things about it. If you don't work at a place with OpenShift anymore you should check out OKD. It's pretty usable now.
- kansface 6y agoIf you are referring to the openshift web console, it’s open source and pretty straight forward to install on any k8s cluster.
- adamkl 6y agoI’m very new to k8s, so forgive me if this is a silly question, but how is this different than Lens [0]? One of the first tools I was told to download by a k8s expert friend of mine was Lens, and it has made the experience of learning about clusters, nodes, and pods much easier. Headlamp looks remarkably similar. [0] https://k8slens.dev/ https://k8slens.dev/
- yeneek 6y agoLens looks good. I'll try it. Thank you
- shripadk 6y ago> One of the first tools I was told to download by a k8s expert friend of mine was Lens, and it has made the experience of learning about clusters, nodes, and pods much easier. Second that! Lens is awesome. Use it pretty much every day.
- dtech 6y agoAgree, my first thought was "Why should I use this over Lens?" and my first impression is "I shouldn't"
- josh3736 6y agoIf you'll forgive a bit of shaking-fist-at-clouds... > Role-aware UI > One problem with many read-write (CRUD) user interfaces is that they are not aware of underlying access controls. For example, displaying the update/delete buttons is misleading if the user has actually no permissions to modify the resource. So Headlamp checks Kubernetes RBAC settings and displays only those controls whose actions can be performed. So, if the user does not have permission to edit a resource, the edit button will not be displayed. > This results in a much better UX, because it is obvious to the operator what actions are available based on their permissions at the time. I strongly disagree. It's quite the opposite, in fact. Hiding UI based on permissions creates an infuriating UX, because there's no way for the operator to tell what actions are possible-but-forbidden, and those they simply can't find in the interface. Click Edit -> "Access denied" -> Ah, I need to ask my admin for additional permissions No Edit button at all -> Where the f... -> Ah, this software sucks Of course, this is not to say the the underlying idea is bad. By all means, check the user's permissions proactively and disable the buttons (with explanation of why the button is disabled). And this is very much a case-by-case thing: it would obviously be silly for Amazon product pages to show everyone a disabled edit button. But please, if you're designing administrative software for power users, don't dumb it down.
- ex3ndr 6y agoCame to the comments to note this, very bad for UX, but at least you can grey them out, not hide.
- derision 6y agoLaravel Nova handles this particularly well, with separate "can see" and "can run" concerns. Nova is essential an admin panel for CRUD operations over your Laravel resources. Basically we use them this way: "can see" = false: not a valid action (resource should not be created manually for example) "can see" = true && "can run" = false: valid action in the system, user is not permitted to perform "can see" = true && "can run" = true: valid action, user has access to perform
- jeppesen-io 6y ago
- nitinreddy88 6y agoAre there any powerful tools like these from command line(shell)? I prefer to use GUI to quickly navigate or do some advanced ops over remembering multiple commands. I do use k9s (https://github.com/derailed/k9s https://github.com/derailed/k9s), however it still lacks lot of functionality.
- boilerupnc 6y agoI’d recommend checking out the Kui Framework [0]. You can add a kubectl plug-in and get a pretty sweet CLI+UI hybrid experience. [0] https://github.com/IBM/kui https://github.com/IBM/kui
- deathanatos 6y ago> So, if the user does not have permission to edit a resource, the edit button will not be displayed. This results in a much better UX, because it is obvious to the operator what actions are available based on their permissions at the time. This results in much worse UX, as the user is oblivious to what actions are unavailable due to their permissions! Back a little over 20 years ago, we would just grey out the button, to indicate that it was "disabled". (I'd also add that I think hovering over such UI ought to offer an explanation as to why that particular action is unavailable, and possibly, what steps to take to effect it.) And it can be downright confusing if someone is giving instructions: are you misinterpreting their instructions, are their instruction wrong, or is it that the software is hiding the UI from you?
- rhacker 6y agoThe BEST UI for K8S is.... VSCode's K8s plugin. Use it all the time, and it has all the things you want instantly: terminal into container, port forward something, view logs. Beyond that, I guess there might be a different crowd that is more interested in CPU usage and RAM usage.
- nuker 6y agoI use "Lens - The Kubernetes IDE", it is pretty good and free. https://github.com/lensapp/lens https://github.com/lensapp/lens
- roboyoshi 6y agoThe more the merrier, I guess. I've always been comfortable using kubectl. The only UI I am forced to use is the Google Cloud Console one. Which is ok. For newcomers I would recommend using the cli tooling and dive as deep as you can before you zoom back out. If you run k8s, then you are probably big enough a company that you have prometheus or something like that which collects metrics for cpu/ram usage. From a Developers POV it's definitely easier to interact with a GUI.. and I '+1' on what u/rhacker said: the best UI in that case is probably the VSCode plugin.
- koirapoika 6y agoVery good advice, I second this. For developers I also usually recommend VSCode plugin or Lens for those who can't stand VSCode for any reason. It seems to be a common choice.
- dewey 6y agoIf you are into that kind of thing I can also recommend Infra App (Mac, Windows, Linux): https://infra.app https://infra.app I'm using it from time to time to quickly log at logs or other things which is sometimes easier than the CLI. I think that design-wise it's the best looking one of the Kubernetes GUIs that I tested. Not affiliated, just a happy user.
- tbronchain 6y agoSeems quite a few people use Lens. So do I and honestly it has everything I'd need from a Kubernetes GUI. I actually didn't realize there was already quite a few options: https://medium.com/dictcp/kubernetes-gui-clients-in-2020-kube-dashboard-lens-octant-and-kubenav-ce28df9bb0f0 https://medium.com/dictcp/kubernetes-gui-clients-in-2020-kub... (+ infra.app)
- zander312 6y agoHow is the performance with larger clusters? We have clusters with 20,000 to 40,000 containers. We have had to use things like Thanos and InfluxDB to get prometheus/grafana to work ok. Does this thing scale well?
- juandazapata 6y agoAt Indeed, we developed something similar that is also open source https://github.com/indeedeng/k8dash https://github.com/indeedeng/k8dash
- mst 6y agok8dash got a shout out in the article for some code they re-used from it.