如何基于kubernetes中的节点订购Pod

时间:2018-07-16 09:33:56

标签: kubernetes

我有一个kubernetes集群,工作正常。它有5个工作节点。我正在使用以下命令来获取Pod的状态。

kubectl get pod -o wide --namespace=machines

显示以下结果

NAME                  READY     STATUS              RESTARTS   AGE       IP        NODE
deployment-26hfn      0/4       ContainerCreating   0          5m        <none>    machine003
deployment-782mk      0/4       Pending             0          5m        <none>    machine001
deployment-7kcc7      0/4       Pending             0          5m        <none>    machine002
deployment-8fzqs      0/4       ContainerCreating   0          5m        <none>    machine004
deployment-zfzts      0/4       ContainerCreating   0          5m        <none>    machine005

如您所见,以上结果不是从machine001machine 005的顺序。是否可以打印输出,如下所示:

NAME                  READY     STATUS              RESTARTS   AGE       IP        NODE
deployment-26hfn      0/4       Pending   0          5m        <none>    machine001
deployment-782mk      0/4       Pending             0          5m        <none>    machine002
deployment-7kcc7      0/4       ContainerCreating   0          5m        <none>    machine003
deployment-8fzqs      0/4       ContainerCreating   0          5m        <none>    machine004
deployment-zfzts      0/4       ContainerCreating   0          5m        <none>    machine005

2 个答案:

答案 0 :(得分:8)

您可以通过管道将kubectl命令输出进行排序:

kubectl get pods -o wide --namespace=machines | sort -k7

或省略第一行

kubectl get pods -o wide --namespace=machines | sed -n '1!p' | sort -k7

此外,您应该可以通过kubectl中的--sort-by选项执行此操作:

kubectl get pods --all-namespaces -o wide --sort-by=.spec.nodeName

答案 1 :(得分:0)

我创建了扩展名KUBEBSORT,以简化排序过程。试试看。