Skip to content
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

[Feature] Improvement Proposal for kubectl Custom Columns of etcd Resources #453

Closed
vlerenc opened this issue Oct 26, 2022 · 2 comments · Fixed by #490
Closed

[Feature] Improvement Proposal for kubectl Custom Columns of etcd Resources #453

vlerenc opened this issue Oct 26, 2022 · 2 comments · Fixed by #490
Assignees
Labels
kind/enhancement Enhancement, improvement, extension status/closed Issue is closed (either delivered or triaged)

Comments

@vlerenc
Copy link
Member

vlerenc commented Oct 26, 2022

Feature (What you would like to be added):
I am not certain, what exactly the etcd resource READY column in the kubectl output depicts and find it confusing. At first, I was confused why all 3 pods must be ready for the etcd resource to become ready. What I care for as an operator is that the quorum is given and the etcd cluster is available/can serve requests. Only with second priority, I like to know what the state of the pods is, but for that I can also take a look at them directly or the statefulset. I saw that the etcd resource has a Quorate condition, which is probably what I am looking for. I would prefer to see that over the AllMembersReady condition. When I think about it, showing the BackupSucceeded condition would also make sense and not widen the kubectl output too much.

Then I noticed, that in some cases, it doesn't even mean what I thought it means, e.g. when I worked through the permanent quorum loss runbook, I noticed that my etcd resource is READY=false while it runs with 1 perfectly ready replica (before I need to scale it out to 3), even though etcd was up an serving requests just fine (I tested it with etcdctl).

Screenshot 2022-10-26 at 10 27 04

I found that confusing and would welcome the following change:

  • Show also the Quorate and BackupSucceeded conditions as columns in the kubectl output

Motivation (Why is this needed?):
As operator, I care more for those 2 conditions, then for the readiness condition, which I can look up also directly via pods or the statefulset.

@vlerenc vlerenc added the kind/enhancement Enhancement, improvement, extension label Oct 26, 2022
@vlerenc
Copy link
Member Author

vlerenc commented Nov 10, 2022

P.S.: Personally, I use this command/alias now for etcd resources:

kubectl --namespace shoot get etcd -o=custom-columns='NAME:.metadata.name,DESIRED_REPLICAS:.status.clusterSize,ACTUAL_REPLICAS:.status.replicas,READY_REPLICAS:.status.readyReplicas,OVERALL_READY_STATUS:.status.ready,READY:.status.conditions[?(@.type=="AllMembersReady")].status,BACKUP:.status.conditions[?(@.type=="BackupReady")].status,QUOROM:.status.conditions[?(@.type=="Ready")].status'

...yielding:

NAME        DESIRED_REPLICAS   ACTUAL_REPLICAS   READY_REPLICAS   OVERALL_READY_STATUS   READY   BACKUP   QUOROM
etcd-main   3                  3                 3                true                   True    True     True

@ashwani2k
Copy link
Collaborator

Just a thought, so we can keep Quorate and BackupSucceeded as default output and may be we can implement a -o wide option like we recently did for MCM for the remaining columns.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/enhancement Enhancement, improvement, extension status/closed Issue is closed (either delivered or triaged)
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants