-
Notifications
You must be signed in to change notification settings - Fork 45
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
New Node Page Layout #2640
Comments
Hello @Cuervino, Thanks for the early version of the New Node page!
Regrading to For "jumping" to the volume page, |
Looks great, thanks @Cuervino! I have some feedback on the content to be displayed (maybe I should have reviewed this earlier, sorry). These comments are mostly addressed toward @thomasdanan and @ChengYanJin, but some (who said "most"?) of them will impact the information display. Node IPsWe show a single IP per node: by design, we at least have two IPs (one for control plane and one for workload plane) to show (if they are the same, we may omit the notion of control plane IP in the UI, TBD). [optional] On the topic of IPs, we may also want to show the Pod IP ranges assigned to a Node, to ease troubleshooting. This would materialize as one (or more, if not contiguous) CIDR notations (111.111.111.111/111). Node RolesThis topic is tricky: to sum up, I think we should have more than one role, and this is to be considered as a user-defined value (even if the creation from the UI hides them). Let me explain whyIn essence, node roles are special labels, where the key takes the form Side note on master roleDue to recent events, there is a strong effort in the K8s community to ensure terms such as master are removed - and it will be renamed as control-plane, probably. We should follow this lead, one more reason why the "high-level Control Plane" can be confusing. Node DeploymentThe Deploy button makes little sense to keep in the left-side panel IMO. That's a disruptive action, which may alter behavior of workloads running on this node. As such, akin to other critical operations such as draining (a form of "quarantine" if you will) or deletion (which isn't even handled today), they should appear in the detailed right-side panel. For the status, I like that we try to show "Deployment fail" (failed, or failure, maybe?), but this information isn't readily available today. I would prefer us working on the conditions that are already available today on Node objects, and see how to add Salt-related information later. Currently, we only show
We also have an extra "status" information which could be useful to display: when a node is cordoned (no new pod can be scheduled there), it has a Missing details: topologyMost cloud-based installs of K8s have extra information per Node, through some well-known labels. We're planning on adding support for these labels and react to them when deploying (to e.g. optimize Pod spreading). As such, it would be meaningful, if the information is available, to display Right-hand-side panel: Health tabAgreed with you, this seems too crowded. Since we already have tabs, could we imagine splitting the Health tab into three others: Details / Alerts / Performance for instance? On this tab, I have some extra comments:
RHS panel: VolumesLooks good! However, we have a RHS panel: PodsNot much to say here, just not sure of the interest of showing a Health circle alongside a Status text. Also, a pod can be more than just one container, and each has a different status (when using kubectl, we see a |
true and I suggest we display both, even if they are the same. More or less what we do already with the RING when we talk about Mngt IP and Data IP.
I can't say if it is important or not, @xaf-scality maybe you have some feedback on this one?
I agree with displaying the roles extracted from labels.
For the Node Status, let's have the 3 status (we get from kubelet) you are proposing: Unknown, Ready, NotReady and hve tooltip displaying the conditions you are talking about. I think those condition should be visible in the Information panel as well. Knowing that no pod can be scheduled on a Node is super important as well, not sure to understand how you get this information: is it a condition? or a kubelet status?
I suggest we enrich the page when we support those labels. (so not for the first iteration)
To me we need to have the same organisation between Volumes and Nodes. I am okay to go that route if we can't reasonably put all those info in a single view but then I would suggest we adapt Volume Page to have the same approach.
Ok let's not bother with creation time
Indeed, no tags, just labels (in the same way we display labels for Volume no?)
|
Thanks for all these information @gdemonet Here is a new proposal with most of your comments. What changed. On the Left-Hand Panel,
Now there are 5 tabs: It's allowing us to have no scrollable screens :) From the comment of @thomasdanan, we might need to revert back to having the same behaviour as the Volume page. On the Health tab, On the Volumes tab, On the Pods tab, @ChengYanJin , |
Awesome!
I like this approach. For the three "pressure" conditions, the node may still be ready, as in its condition named To make things obvious, I think we should use (for @ChengYanJin) the following:
And it seems your design matches that rule, so 👍
👍 💯
You're right, indeed I've seen this in the K8s Dashboard as well. Both approaches are worth considering, if you think pills can be a good fit for potentially long (e.g. |
Hello @Cuervino Looks super nice I wonder if we should rename Health in Info. Health is more a combination of what you see under alerts and performances. I am not sure the unschedulable condition would/should trigger an alert. In your screenshot, central-2.compute.ext should have Green Health. @xaf-scality @bkettler @mastachand @nloewensen would love to have your feedback on this page. Thanks |
Looks already pretty cool! Not sure if this was already asked but on the "Alert" tab, can we somehow get to the entire Alert message, e.g. by hovering over the message with the mouse? On the Performance tabs, the graphs need info on the x-axis (time and scale). Do we plan to enlarge the graphs if you click on them in order to see more details? At this stage, do you already care about feedback on "cosmetic" like font-sizes, alignment etc? Perhaps for this, it would also be good at some stage to have somebody like Frank Roesner look at it. |
Hello @nloewensen, I also like the tabs approach and definitely we should apply it to Volume Page as well. For the Regarding the "cosmetic", |
@ChengYanJin I feel that on the "Performance Charts" changing on the time-span will not provide better "readability/usability", since the displayed information still remains rather small. I would prefer to enlarge the graphs or be re-directed to the appropriate monitoring page (in a new window), so that details can be inspected. |
@nloewensen Agreed, and as a general rule, we want all charts to have a corresponding Grafana link, which would then solve the aforementioned usability problems (size, time span, refresh rate, filtered series...). |
Merged in #2881 |
Component:
ui, design
Why this is needed:
We would like to work on the new Node page.
What should be done:
Would require the Sketch design from @Cuervino
(We could discuss the detail after this issue and comments.)
Node Table / Component fields:
Name (mandatory)
IP
Roles (mandatory)
Age
Status (Ready, Unknown, Deployment Failed) (mandatory)
K8s version (TBC)
Nbr of Volumes exposed by this node
Nbr of PODs exposed by this node
Health (mandatory)
Node Perf Charts:
CPU Usage, Load AVG, Memory Usage, IOPS and Network bandwidth (2 charts)
The Node Grafana Dashboard contains all required information: https://10.200.6.39:8443/grafana/d/fa49a4706d07a042595b664c87fb33ea/nodes?orgId=1
For the IOPS chart, we should aggregate all devices in Write and Read Metrics
For Network we should aggregate all interfaces in Received and Transmitted Metrics
Implementation proposal (strongly recommended):
Since we don't have that much quantity of Node as Volume, we may don't need to use the table to show the node list. @Cuervino will work on the two different proposals.
Test plan:
TBD
The text was updated successfully, but these errors were encountered: