我有3个节点,运行各种pod.我想节点一个节点和pod的列表,例如:
NODE1 POD1
NODE1 POD2
NODE2 POD3
NODE3 POD4
Run Code Online (Sandbox Code Playgroud)
怎么能实现这个目标?
谢谢.
Nic*_*lay 84
您可以使用自定义列执行此操作:
kubectl get pod -o=custom-columns=NAME:.metadata.name,STATUS:.status.phase,NODE:.spec.nodeName --all-namespaces
Run Code Online (Sandbox Code Playgroud)
要不就:
kubectl get pod -o=custom-columns=NODE:.spec.nodeName,NAME:.metadata.name --all-namespaces
Run Code Online (Sandbox Code Playgroud)
Rad*_*nka 41
kubectl有一个简单但有用的扩展输出格式,你可以使用kubectl get pod -o wide,所以虽然在其他答案中提供的自定义格式是好的,这可能是一个方便的快捷方式.
小智 8
这会让你:整个集群的“nodeName命名空间pod”:
kubectl get pods --all-namespaces --output 'jsonpath={range .items[*]}{.spec.nodeName}{" "}{.metadata.namespace}{" "}{.metadata.name}{"\n"}{end}'
Run Code Online (Sandbox Code Playgroud)
以下命令或多或少地执行您想要的操作。然而,这更像是一个jq技巧而不是kubectl技巧:
kubectl get pod --all-namespaces -o json | jq '.items[] | .spec.nodeName + " " + .status.podIP'
不完全是你想要的因为它描述的更多,但你可以使用
kubectl describe nodes
它将使用以下信息公开集群中每个节点的每个 pod
命名空间 | 姓名 | CPU 请求 | CPU 限制 | 内存请求 | 内存限制
| 归档时间: |
|
| 查看次数: |
38341 次 |
| 最近记录: |