美文网首页
Kubernetes源码分析 -- Kubelet系统功能以及

Kubernetes源码分析 -- Kubelet系统功能以及

作者: 何约什 | 来源:发表于2018-12-21 15:18 被阅读24次

    Pod Source

    是kubelet用于获取Pod定义和描述信息的一个“数据源”,kubelet进程查询并监听Pod Source来获取属于自己所在节点的Pod列表,当前支持三种Pod Source类型。
    Config File:本地配置文件作为Pod 数据源。
    Http URL:Pod数据源的内容通过一个HTTP URL方式获取。
    Kubernets API Server:默认方式,从API Server获取Pod数据源。

    OOM调节

    进程根据启动参数创建了KubeletServer以后,调用KuberletServer的run方法,进入启动流程的一开始设置了自身进程的oom_adj参数(默认为-900),这是利用Linux的OOM机制,当系统发生OOM时,oom_adj的值越小,越不容易被系统Kill掉。
    oomAdjuster := kubeDeps.OOMAdjuster
    if err := oomAdjuster.ApplyOOMScoreAdj(0, int(s.OOMScoreAdj)); err != nil {
    glog.Warning(err)
    }
    在所有的Master任务(API Server、Scheduler、Controller Manager)都不会有这个调用?因为Master节点不运行Pod和容器,主机资源通常是稳定和宽裕的,而Minion节点需要运行大量的Pod和容器,因此容易产生OOM问题,所以这里要确保“守护者”不会因此而被系统Kill掉。

    CloudProvider

    如果Kubernetes运行在某个运营商的Cloud环境中,则很多环境和资源都需要从CloudProvider中获取,比如在创建Pod的过程中可能需要知道某个Node真是主机名。

    PLEG

    Pods Lifecycle Events Generator

    PodSandbox

    相关文章

      网友评论

          本文标题:Kubernetes源码分析 -- Kubelet系统功能以及

          本文链接:https://www.haomeiwen.com/subject/lgbxxqtx.html