1.從下圖可以看出node:10.81.163.21的內存使用率93%,該節點總共有7821M(Capacity Memory)物理內存,然后k8s的可分配內存(Allocatable Memory)為5399696Ki
那這個98%是怎么來的?
[root
@iZcwfshg0bs9fxZ
system]# free -m
total used free shared buff/cache available
Mem:
7821
5176
1930
1
714
2294
Swap:
0
0
0
[root
@iZcwfshg0bs9fxZ
system]# kubectl top no
NAME CPU(cores) CPU% MEMORY(bytes) MEMORY%
10.81
.
163.21
478m
15
% 5208Mi
98
%
[root
@iZcwfshg0bs9fxZ
system]# kubectl describe no
10.81
.
163.21
Name:
10.81
.
163.21
Roles: <none>
Labels: beta.kubernetes.io/arch=amd64
beta.kubernetes.io/os=linux
ctet-sc=node
kubernetes.io/hostname=
10.81
.
163.21
Annotations: node.alpha.kubernetes.io/ttl:
0
volumes.kubernetes.io/controller-managed-attach-detach:
true
CreationTimestamp: Wed,
27
Mar
2019
10
:
25
:
48
+
0800
Taints: <none>
Unschedulable:
false
Conditions:
Type Status LastHeartbeatTime LastTransitionTime Reason Message
---- ------ ----------------- ------------------ ------ -------
MemoryPressure False Thu,
25
Apr
2019
18
:
59
:
45
+
0800
Tue,
23
Apr
2019
20
:
49
:
53
+
0800
KubeletHasSufficientMemory kubelet has sufficient memory available
DiskPressure False Thu,
25
Apr
2019
18
:
59
:
45
+
0800
Wed,
27
Mar
2019
10
:
25
:
52
+
0800
KubeletHasNoDiskPressure kubelet has no disk pressure
PIDPressure False Thu,
25
Apr
2019
18
:
59
:
45
+
0800
Wed,
27
Mar
2019
10
:
25
:
52
+
0800
KubeletHasSufficientPID kubelet has sufficient PID available
Ready True Thu,
25
Apr
2019
18
:
59
:
45
+
0800
Thu,
25
Apr
2019
18
:
57
:
05
+
0800
KubeletReady kubelet is posting ready status
Addresses:
InternalIP:
10.81
.
163.21
Hostname:
10.81
.
163.21
Capacity:
cpu:
4
ephemeral-storage: 41151808Ki
hugepages-1Gi:
0
hugepages-2Mi:
0
memory: 8008848Ki
pods:
110
Allocatable:
cpu:
3
ephemeral-storage:
35697000443
hugepages-1Gi:
0
hugepages-2Mi:
0
memory: 5399696Ki
pods:
110
System Info:
Machine ID:
20190215172108590907433256076310
System UUID: 4F846BA6-A427-
4257
-91CF-E496FA5BCC45
Boot ID: eeb21388-45bf-429e-84a8-ff11a46833dd
Kernel Version:
3.10
.
0
-
957.5
.
1
.el7.x86_64
OS Image: CentOS Linux
7
(Core)
Operating System: linux
Architecture: amd64
Container Runtime Version: docker:
//18.3.1
Kubelet Version: v1.
13.1
Kube-Proxy Version: v1.
13.1
Non-terminated Pods: (
8
in total)
Namespace Name CPU Requests CPU Limits Memory Requests Memory Limits AGE
--------- ---- ------------ ---------- --------------- ------------- ---
ctet-sc ask-bar-service-vsv8z
0
(
0
%)
0
(
0
%)
0
(
0
%)
0
(
0
%) 5d22h
ctet-sc ask-bar-web-server-h96dx
0
(
0
%)
0
(
0
%)
0
(
0
%)
0
(
0
%) 5d22h
ctet-sc cs-service-vjgl5 100m (
3
%)
4
(
133
%) 1Gi (
19
%) 2Gi (
38
%) 39m
ctet-sc exam-service-g442f
0
(
0
%)
0
(
0
%)
0
(
0
%)
0
(
0
%) 5d23h
ctet-sc microclass-async-service-v7n8t
0
(
0
%)
0
(
0
%)
0
(
0
%)
0
(
0
%) 5d23h
default
node-server-7bnp5
0
(
0
%)
0
(
0
%)
0
(
0
%)
0
(
0
%) 8d
default
system-service-5584f55df5-hkv5t
1
(
33
%)
6
(
200
%) 1Gi (
19
%) 6Gi (
116
%) 12d
monitoring node-exporter-4k4p2 112m (
3
%) 270m (
9
%) 200Mi (
3
%) 220Mi (
4
%) 29d
Allocated resources:
(Total limits may be over
100
percent, i.e., overcommitted.)
Resource Requests Limits
-------- -------- ------
cpu 1212m (
40
%) 10270m (
342
%)
memory 2248Mi (
42
%) 8412Mi (
159
%)
ephemeral-storage
0
(
0
%)
0
(
0
%)
|
2.內存使用率=pod used total memory/Allocatable Memory=(5176*1024)/5399696=0.9816=98%
pod used total memory就是在這台機器上的所有docker容器占用內存總和;
Allocatable Memory就是kubectl describe no 查看出該節點可分配的內存=物理內存-k8s預留內存
同理cpu使用率=pod used total cpu/Allocatable CPU