这是本节的多页打印视图。 点击此处打印.

返回本页常规视图.

源码阅读

记录源码位置,描述关键源码逻辑

源码只是各种学习手段中最后的选择!

1 - Kubernetes源码阅读

云原生底座,二次开发可读

源码只是各种学习手段中最后的选择!

1.1 - Kubelet

Kubernetes体系中最重要的角色,下与CRI/CNI/CSI打交道,上与api-server通讯,真正掌管Pod死活 的组件!

Kubelet启动过程

主启动函数 NewMainKubelet

func NewMainKubelet(kubeCfg *kubeletconfiginternal.KubeletConfiguration,
	kubeDeps                                           *Dependencies,
	crOptions                                          *config.ContainerRuntimeOptions,
	hostname                                           string,
	hostnameOverridden                                 bool,
	nodeName                                           types.NodeName,
	nodeIPs                                            []net.IP,
	providerID                                         string,
	cloudProvider                                      string,
	certDirectory                                      string,
	rootDirectory                                      string,
	podLogsDirectory                                   string,
	imageCredentialProviderConfigFile                  string,
	imageCredentialProviderBinDir                      string,
	registerNode                                       bool,
	registerWithTaints                                 []v1.Taint,
	allowedUnsafeSysctls                               []string,
	experimentalMounterPath                            string,
	kernelMemcgNotification                            bool,
	experimentalNodeAllocatableIgnoreEvictionThreshold bool,
	minimumGCAge                                       metav1.Duration,
	maxPerPodContainerCount                            int32,
	maxContainerCount                                  int32,
	registerSchedulable                                bool,
	nodeLabels                                         map[string]string,
	nodeStatusMaxImages                                int32,
	seccompDefault                                     bool,
) (*Kubelet, error)

启动过程示意图 启动过程