kubectl-aks icon indicating copy to clipboard operation
kubectl-aks copied to clipboard

[RFE] Check of API server connectivity for all the nodes on one single call

Open blanquicet opened this issue 3 years ago • 2 comments

Current situation

Currently, the check-apiserver-connectivity command requests users to specify the node where the check will be performed:

$ kubectl get nodes
NAME                                STATUS   ROLES   AGE   VERSION
aks-agentpool-27170680-vmss000000   Ready    agent   11d   v1.22.4
aks-agentpool-27170680-vmss000001   Ready    agent   11d   v1.22.4
aks-agentpool-27170680-vmss000002   Ready    agent   11d   v1.22.4

$ kubectl aks check-apiserver-connectivity --node aks-agentpool-27170680-vmss000000
Running...

Connectivity check: succeeded

Impact

Users needs to execute kubectl-aks multiple times to check the connectivity of all the nodes.

Ideal future situation

The check-apiserver-connectivity should allow user to request this check over all the nodes on one single call:

Example:

$ kubectl aks check-apiserver-connectivity [--all-nodes]
Running...

Connectivity check on "aks-agentpool-27170680-vmss000000": succeeded
Connectivity check on "aks-agentpool-27170680-vmss000001": succeeded
Connectivity check on "aks-agentpool-27170680-vmss000002": succeeded

Implementation options

  • Please verify this discussion before proceeding with the implementation.
  • Try to perform all the checks in parallel.

blanquicet avatar Feb 16 '22 15:02 blanquicet

Now that we have the config file with mapping kubernetes node names -> VMSS instance information I am thinking we should just loop over the nodes from the config and run the connectivity checks? Perphas --all flag or something. What do you think? @blanquicet

mqasimsarfraz avatar Jul 11 '23 17:07 mqasimsarfraz

Now that we have the config file with mapping kubernetes node names -> VMSS instance information I am thinking we should just loop over the nodes from the config and run the connectivity checks? Perphas --all flag or something. What do you think? @blanquicet

Agree. By default, it would use the node from config use-node or --node, as run-command does. And then, --all-nodes or simply --all to do the same for all of them.

blanquicet avatar Jul 14 '23 17:07 blanquicet