-
Notifications
You must be signed in to change notification settings - Fork 4.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Design doc for next version of user experience of the UI #589
Conversation
Please review and CC others @dodwyer @preillyme @joeatwork @bgrant0607 |
Will you add filters to tabularized resource lists? For example, filter by status, by label, ...etc. It'd be useful when, say, I want to find all failing pods with label "app=nginx, track=stable", or I want to hide all resources with 0 replicas. |
Some resources have hierarchical relationships. For example, a Deployment manages multiple ReplicaSets, each manages multiple Pods. How do you plan to present that relationship (parent/children) in the detail page of each resource? Does it look like this: Deployment foo:
ReplicaSet foo-123:
Pod foo-123-aaa:
Service foo-service:
|
Do we plan to show that hierarchical relationships in the apps view, too? |
Ref #21 |
* Scale the UX to support displaying and editing all current and future | ||
Kubernetes resources (e.g., replica sets, daemon sets, container, nodes, | ||
volumes, secrets, deployments, etc.). | ||
* Scale for the number of objects displayed (currently: cards are suitable for |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Cards are suitable for <= 6 IMO
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We need to keep multiple audiences and scenarios in mind. I outlined some operational scenarios on #21.
Personally, I think most people running workloads in production won't mutate them with the UI:
http://martinfowler.com/bliki/InfrastructureAsCode.html
However, one scenario I didn't cover is demos. The current functionality is aimed at that use case, IMO (as was kube-ui), and there's more we could do there, such as visualizations of cluster and app topology.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Cards are suitable for <= 6 IMO
Abstracting from the actual number, I think we agree that cards dont scale.
Personally, I think most people running workloads in production won't mutate them with the UI:
http://martinfowler.com/bliki/InfrastructureAsCode.html
Yes, I generally agree. That's why we're focusing on displaying data for now. However, edit functionality in the UI is still very useful for one-off operations that you dot automate (e.g., kill zombie pod, change service IP address, etc).
Also be aware that Templates are coming: |
can be applied to real examples. | ||
|
||
"Apps" category: | ||
![Apps category](mockups/23-03-2016-scale-and-navigation/apps-category.png) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's kind of weird that controllers have endpoints.
The unstructured Pods column is problematic IMO
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd eliminate endpoints, but we should think about where we could provide links to the app, that would hit external IPs/ports of the service, or would use the apiserver proxy.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd eliminate endpoints, but we should think about where we could provide links to the app, that would hit external IPs/ports of the service, or would use the apiserver proxy.
Yeah, endpoints are problematic, but, in reality, very useful. Perhaps this needs better title/wording/documentation. Perhaps this can be moved to the unstructured part of the card.
But this is a problem with the specific page, not the proposed new UX language here. I assume non blocker.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The unstructured Pods column is problematic IMO
What's the problem? Should it be structured and split into a few columns?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, exactly, pods should be structured and split into a few columns, to facilitate sorting.
As of release 1.2, the kubelet exposes disk usage metrics via the new metrics api. This would be something good to expose as well. |
Would it be of use to have a "Nodes" section and / or have the pod link to which node it is running on. I am of 2 minds on this. On the one hand, when things are working well users should be able to abstract away the concept of nodes and just know things run in the cluster. On the other hand, if a node gets in a bad state the user is going to need to know about it and take action. |
I'm still looking through this, but overall I like the direction. |
In the Apps overview section, should there be 1 global search bar that applies to all the app types instead of separate search bars for each? |
Does clicking on a replica set link to all of the associated pods? |
@pwittrock see "Replication Controller details overview". That page includes the pods. |
@pwittrock Re. search box: One advantage of per section is that the search can automatically narrow to that section. |
@pwittrock A "Node details" page would be an appropriate cluster-admin view. |
@bryk Recent changes would be determined how? Watch? |
cc @mml |
@janetkuo Right now, it looks like relationships are shown on details pages, such as "Replication Controller details overview". I agree it might be useful to group by service (in the case of definite selector overlap kubernetes/kubernetes#19830) on the Apps page, and to group by controllers in the pods list, which I think should be a separate page, or maybe a toggled view, with the pods interleaved between controllers. |
Is there a button or selection to view the yaml/json for every resource? |
This is just wireframes, so things look big. I hope we'll get dense display. Selecting numbers of items displayed and collapsing - I like this. But for Q3+. Will add to future work section. |
No. The example we used just does not cover everything. In actual implementation it'd be there. |
PTAL. Responded to all comments and updated mocks. I think we're in pretty good state with this proposal. I see many feature requests that I mostly sadly defer for future, since we have tight Q2/1.3 schedule. |
Along those same lines... we exposed a YAML editor for all resources, it On Fri, Apr 1, 2016 at 4:42 AM, Piotr Bryk [email protected] wrote:
|
We called our tab "Terminal", and yeah its exec. One annoying thing is the On Fri, Apr 1, 2016 at 4:51 AM, Piotr Bryk [email protected] wrote:
|
CC @fwalker |
@bryk Please file issues for the suggestions you'd like to defer to future work. |
@bryk Also please post an announcement to kubernetes-dev to point the contributor community at large to this proposal. |
@bryk Do you plan to update this proposal at all or are we deferring additional details to the designs of individual pages? |
I'll update this proposal. Just were waiting for additional comments come it after I posted it on kubernetes-dev. More designs of individual pages will come later, but I'll update the designs that are here. |
We're hoping to get all data from the apiserver. If apiserver does not support this, we'll most likely drop the feature. Having a history of changes for a resource was one of top feature requests we've seen. This is an important thing for us. |
* Changed toolbar and left nav: now combined cluster/namespace selector and user info are in the toolbar. * Added "Future work" section with suggested items that will not happen in 1-2 quarters (mostly due to our staffing). * Made contents of some propsed resource columns shorter (e.g., "Pods" column is no longer "1 running, 7 desired", but "1 / 3" and format is explained in a tooltip). * Responded to comments.
Addressed comments to the scale and navigation UX design doc.
PTAL |
Ping? Is everything resolved or we need some more discussions? If all is resolved, then let's merge this. |
It's minor but some of the mockups are still showing "Apps" instead of "Workloads" and you may want to update them too:
|
@bryk Please notify me directly (with |
There are some other details that could be fixed, also, such as absence of Deployment from the menus, but I'm happy to merge and iterate. |
Bumps [underscore](https://github.com/jashkenas/underscore) from 1.9.0 to 1.12.1. - [Release notes](https://github.com/jashkenas/underscore/releases) - [Commits](jashkenas/underscore@1.9.0...1.12.1) Signed-off-by: dependabot[bot] <[email protected]> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Tracking issue: #584
This change is