k8s 隨記

1.kubelet參數解析:https://blog.csdn.net/qq_34857250/article/details/84995381node

 

2.如何在github中查找k8s代碼關鍵字?linux

如今我想查找k8s源碼中,關於kubelet參數pod-eviction-timeout的默認值是多少git

https://github.com/kubernetes/kubernetesgithub

先進入github對應的repository中,再Search關鍵字數據庫

 

3.計算節點頻繁發生OOM,linux中發生oom時,oom_killer如何決定首先殺掉哪一個進程:https://www.vpsee.com/2013/10/how-to-configure-the-linux-oom-killer/設計模式

爲了防止它殺死關鍵的應用程序,例如數據庫實例,能夠手動調整分數。這能夠經過/proc/[pid]/oom_score_adj(對於2.6.29以前的內核,使用/proc/[pid]/oom_adj)實現。oom_score_adj接受的值範圍是-1000到1000,(oom_adj接受的值範圍是-17到15)ide

 

在k8s的qos(quality of service)中,三個qos級別正是對應三個oom_score-adj值,經過調整該值來控制evict驅逐策略和system oom_killer的優先級。.net

guaranteed級別的pod的oom-score-adj= -998,而計算節點kubelet服務的oom-score-adi= -999設計

k8s doc: https://kubernetes.io/docs/tasks/administer-cluster/out-of-resource/3d

If the node experiences a system OOM (out of memory) event prior to the kubelet being able to reclaim memory, the node depends on the oom_killer to respond.

The kubelet sets a oom_score_adj value for each container based on the quality of service for the Pod.

Quality of Service oom_score_adj
Guaranteed -998
BestEffort 1000
Burstable min(max(2, 1000 - (1000 * memoryRequestBytes) / machineMemoryCapacityBytes), 999),該值在2~999

 

4.容器設計模式:Sidecar

什麼是 Sidecar?在 Pod 裏面,能夠定義一些專門的容器,來執行主業務容器所須要的一些輔助工做,好比Init Container,它就是一個 Sidecar,它能夠將文件拷貝到共享目錄裏面,以便被同pod中的業務容器用起來。

優點就是在於其實將輔助功能從個人業務容器解耦了,因此我就可以獨立發佈 Sidecar 容器,而且更重要的是這個能力是能夠重用的,即一樣的一個監控 Sidecar 或者日誌 Sidecar,能夠被全公司的人共用的。這就是設計模式的一個威力。

摘自:https://mp.weixin.qq.com/s?__biz=MzUzNzYxNjAzMg==&mid=2247486561&idx=1&sn=62758e8b600497923df05f853d030d39&chksm=fae507aecd928eb80d240dadb1ce403529b60f5cda0230f013850ccac60f68a876a0083ac4d5&mpshare=1&scene=1&srcid=&sharer_sharetime=1570671376610&sharer_shareid=bc0f20da14de543a8c3c8d489c80ea9f&pass_ticket=PfIyWTvIxxY3GIaq2oU20CrLwQcHSDJMVReWhDTY8cfRE269dCl%2FNIvDqH%2F8wAJy#rd

相關文章
相關標籤/搜索