zoukankan      html  css  js  c++  java
  • kubernets kubelet 源码分析

    原文: https://www.huweihuang.com/kubernetes-notes/code-analysis/kubelet/kubelet-run.html

    1.kubelet 主要做了什么

    1. NewMainKubelet主要用来构造kubelet结构体,其中kubelet除了包含必要的配置和client(例如:kubeClient、csiClient等)外,最主要的包含各种manager来管理不同的任务。
    2. 核心的manager有以下几种:

      • oomWatcher:监控pod内存是否发生OOM。
      • podManager:管理pod的生命周期,包括对pod的增删改查操作等。
      • containerGC:对死亡容器进行垃圾回收。
      • imageManager:对容器镜像进行垃圾回收。
      • statusManager:与apiserver同步pod状态,同时也作状态缓存。
      • volumeManager:对pod的volume进行attached/detached/mounted/unmounted操作。
      • evictionManager:保证节点稳定,必要时对pod进行驱逐(例如资源不足的情况下)。
    3. NewMainKubelet还包含了serviceListernodeLister来监听servicenode的列表变化。

    4. kubelet使用到的containerRuntime目前主要是docker,其中rkt已废弃。NewMainKubelet启动了dockershim grpc server来执行docker相关操作。
    5. 构建了podWorker来对pod相关的更新逻辑进行处理。

    2.架构涉及流程图

    3.

    未完待续

    没有什么是写一万遍还不会的,如果有那就再写一万遍。
  • 相关阅读:
    进阶实验2-3.3 两个有序链表序列的交集 (20分)
    习题2.7 弹球距离 (15分)
    习题2.2 数组循环左移 (20分)
    习题2.1 简单计算器 (20分)
    习题2.5 两个有序链表序列的合并 (15分)
    习题2.4 递增的整数序列链表的插入 (15分)
    线性表和链表
    C. Boboniu and Bit Operations
    D
    C. Good Subarrays
  • 原文地址:https://www.cnblogs.com/waken-captain/p/10596014.html
Copyright © 2011-2022 走看看