k8s 容器的資源需求,資源限制-監控-資源指標API及自定義指標API
阿新 • • 發佈:2020-04-30
POD資源:
requests:需求,最低保障
limits:限制,硬限制
CPU:
一顆邏輯CPU(一個核心)
1=1000微核,millicores
500m=0.5CPU
記憶體:
E、P、T、G、M、K
Ei、Pi、Ti、Gi、Mi、Ki、
Qos:
Guranteed:最高優先順序, 確保、保證
同時設定了CPU和記憶體的requests和limits,
cpu.limits=cpu. requests
memory.limits=memory.limits
Burstable:中間優先順序,
至少有一個容器設定CPU或者記憶體資源requests的屬性,當記憶體資源比較緊缺時將requests分配佔用較大的停止
cpu.limits>cpu. requests
memory.limits>memory.limits
BestEffort:最低優先順序,
自動配置,當記憶體資源比較緊缺時,BestEffort會被優先退出,確保其他型別的正常執行
沒有任何一個設定
/apis/metrics.k8s.io/v1beta1
requests:需求,最低保障
limits:限制,硬限制
CPU:
一顆邏輯CPU(一個核心)
1=1000微核,millicores
500m=0.5CPU
記憶體:
E、P、T、G、M、K
Ei、Pi、Ti、Gi、Mi、Ki、
Qos:
Guranteed:最高優先順序, 確保、保證
同時設定了CPU和記憶體的requests和limits,
cpu.limits=cpu. requests
memory.limits=memory.limits
Burstable:中間優先順序,
至少有一個容器設定CPU或者記憶體資源requests的屬性,當記憶體資源比較緊缺時將requests分配佔用較大的停止
cpu.limits>cpu. requests
BestEffort:最低優先順序,
自動配置,當記憶體資源比較緊缺時,BestEffort會被優先退出,確保其他型別的正常執行
沒有任何一個設定
resources:
limits:
memory: 1024Mi
cpu: 2
requests:
cpu: 500m
memory: 512Mi
HeapSter:(新版本被整合在kubernetes內部,kube1.1後廢棄)
cAdvisor:收集各node節點上面記憶體,硬碟,cpu的資源,可以在單節點上面檢視採集的結果。持久儲存在InfluxDB 預設老版本使用
監控指標:叢集指標,容器指標,應用指標
監控-資源指標API及自定義指標API
資源指標:metrics-server
自定義指標:prometheus,k8s-prometheus-adapter(轉換收集到的資料)
新一代架構:
核心指標流水線:由kubelet,metrics-server以及由API server提供的api組成;CPU累計使用率、記憶體實時使用率、Pod的資源佔用率及容器的磁碟佔用率;
監控流水線:用於從系統收集各種指標資料並提供終端使用者、儲存系統以及HPA,它們包含核心指標及很多的非核心指標。非核心指標本身不能被k8s所解析,
metrics-server:API server
部署metrics-server
for file in auth-delegator.yaml auth-reader.yaml metrics-apiservice.yaml metrics-server-deployment.yaml metrics-server-service.yaml resource-reader.yaml ;do wget https://raw.githubusercontent.com/kubernetes/kubernetes/master/cluster/addons/metrics-server/$file;done
kubectl top nodes
kubectl top pods 檢視所佔CPU和記憶體資源
待續。。。部署prometheus。。。。。。。