2.2. 列出节点
列出 master 已知的所有节点:
$ oc get nodes
输出示例
NAME STATUS ROLES AGE VERSION
master.example.com Ready master 7h v1.9.1+a0ce1bc657
node1.example.com Ready compute 7h v1.9.1+a0ce1bc657
node2.example.com Ready compute 7h v1.9.1+a0ce1bc657
使用节点信息,列出包含项目 pod 部署信息的所有节点:
$ oc get nodes -o wide
输出示例
NAME STATUS ROLES AGE VERSION EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
ip-172-18-0-39.ec2.internal Ready infra 1d v1.10.0+b81c8f8 54.172.185.130 Red Hat Enterprise Linux Server 7.5 (Maipo) 3.10.0-862.el7.x86_64 docker://1.13.1
ip-172-18-10-95.ec2.internal Ready master 1d v1.10.0+b81c8f8 54.88.22.81 Red Hat Enterprise Linux Server 7.5 (Maipo) 3.10.0-862.el7.x86_64 docker://1.13.1
ip-172-18-8-35.ec2.internal Ready compute 1d v1.10.0+b81c8f8 34.230.50.57 Red Hat Enterprise Linux Server 7.5 (Maipo) 3.10.0-862.el7.x86_64 docker://1.13.1
要只列出单个节点的信息,使用完整节点名称替换 <node>:
$ oc get node <node>
这些命令输出中的 STATUS 列可显示节点的以下状况:
| 状况 | 描述 |
|---|---|
|
|
节点通过返回 |
|
| 节点没有从 master 传递执行的健康检查。 |
|
| 无法调度放置到节点上的 pod。 |
注意
如果 CLI 无法找到任何节点状况,则节点的 STATUS 可能还会显示 Unknown。
要获取有关特定节点的详细信息,包括造成当前状况的原因:
$ oc describe node <node>
例如:
$ oc describe node node1.example.com
输出示例
Name: node1.example.com
Roles: compute
Labels: beta.kubernetes.io/arch=amd64
beta.kubernetes.io/os=linux
kubernetes.io/hostname=m01.example.com
node-role.kubernetes.io/compute=true
node-role.kubernetes.io/infra=true
node-role.kubernetes.io/master=true
zone=default
Annotations: volumes.kubernetes.io/controller-managed-attach-detach=true
CreationTimestamp: Thu, 24 May 2018 11:46:56 -0400
Taints: <none>
Unschedulable: false
Conditions:
Type Status LastHeartbeatTime LastTransitionTime Reason Message
---- ------ ----------------- ------------------ ------ -------
OutOfDisk False Tue, 17 Jul 2018 11:47:30 -0400 Tue, 10 Jul 2018 15:45:16 -0400 KubeletHasSufficientDisk kubelet has sufficient disk space available
MemoryPressure False Tue, 17 Jul 2018 11:47:30 -0400 Tue, 10 Jul 2018 15:45:16 -0400 KubeletHasSufficientMemory kubelet has sufficient memory available
DiskPressure False Tue, 17 Jul 2018 11:47:30 -0400 Tue, 10 Jul 2018 16:03:54 -0400 KubeletHasNoDiskPressure kubelet has no disk pressure
Ready True Tue, 17 Jul 2018 11:47:30 -0400 Mon, 16 Jul 2018 15:10:25 -0400 KubeletReady kubelet is posting ready status
PIDPressure False Tue, 17 Jul 2018 11:47:30 -0400 Thu, 05 Jul 2018 10:06:51 -0400 KubeletHasSufficientPID kubelet has sufficient PID available
Addresses:
InternalIP: 192.168.122.248
Hostname: node1.example.com
Capacity:
cpu: 2
hugepages-2Mi: 0
memory: 8010336Ki
pods: 40
Allocatable:
cpu: 2
hugepages-2Mi: 0
memory: 7907936Ki
pods: 40
System Info:
Machine ID: b3adb9acbc49fc1f9a7d6
System UUID: B3ADB9A-B0CB-C49FC1F9A7D6
Boot ID: 9359d15aec9-81a20aef5876
Kernel Version: 3.10.0-693.21.1.el7.x86_64
OS Image: OpenShift Enterprise
Operating System: linux
Architecture: amd64
Container Runtime Version: docker://1.13.1
Kubelet Version: v1.10.0+b81c8f8
Kube-Proxy Version: v1.10.0+b81c8f8
ExternalID: node1.example.com
Non-terminated Pods: (14 in total)
Namespace Name CPU Requests CPU Limits Memory Requests Memory Limits
--------- ---- ------------ ---------- --------------- -------------
default docker-registry-2-w252l 100m (5%) 0 (0%) 256Mi (3%) 0 (0%)
default registry-console-2-dpnc9 0 (0%) 0 (0%) 0 (0%) 0 (0%)
default router-2-5snb2 100m (5%) 0 (0%) 256Mi (3%) 0 (0%)
kube-service-catalog apiserver-jh6gt 0 (0%) 0 (0%) 0 (0%) 0 (0%)
kube-service-catalog controller-manager-z4t5j 0 (0%) 0 (0%) 0 (0%) 0 (0%)
kube-system master-api-m01.example.com 0 (0%) 0 (0%) 0 (0%) 0 (0%)
kube-system master-controllers-m01.example.com 0 (0%) 0 (0%) 0 (0%) 0 (0%)
kube-system master-etcd-m01.example.com 0 (0%) 0 (0%) 0 (0%) 0 (0%)
openshift-ansible-service-broker asb-1-hnn5t 0 (0%) 0 (0%) 0 (0%) 0 (0%)
openshift-node sync-dvhvs 0 (0%) 0 (0%) 0 (0%) 0 (0%)
openshift-sdn ovs-zjs5k 100m (5%) 200m (10%) 300Mi (3%) 400Mi (5%)
openshift-sdn sdn-zr4cb 100m (5%) 0 (0%) 200Mi (2%) 0 (0%)
openshift-template-service-broker apiserver-s9n7t 0 (0%) 0 (0%) 0 (0%) 0 (0%)
openshift-web-console webconsole-785689b664-q7s9j 100m (5%) 0 (0%) 100Mi (1%) 0 (0%)
Allocated resources:
(Total limits may be over 100 percent, i.e., overcommitted.)
CPU Requests CPU Limits Memory Requests Memory Limits
------------ ---------- --------------- -------------
500m (25%) 200m (10%) 1112Mi (14%) 400Mi (5%)
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal NodeHasSufficientPID 6d (x5 over 6d) kubelet, m01.example.com Node m01.example.com status is now: NodeHasSufficientPID
Normal NodeAllocatableEnforced 6d kubelet, m01.example.com Updated Node Allocatable limit across pods
Normal NodeHasSufficientMemory 6d (x6 over 6d) kubelet, m01.example.com Node m01.example.com status is now: NodeHasSufficientMemory
Normal NodeHasNoDiskPressure 6d (x6 over 6d) kubelet, m01.example.com Node m01.example.com status is now: NodeHasNoDiskPressure
Normal NodeHasSufficientDisk 6d (x6 over 6d) kubelet, m01.example.com Node m01.example.com status is now: NodeHasSufficientDisk
Normal NodeHasSufficientPID 6d kubelet, m01.example.com Node m01.example.com status is now: NodeHasSufficientPID
Normal Starting 6d kubelet, m01.example.com Starting kubelet.
...