23、Kubernetes 中的 Kubelet 与 DNS 详解

Kubernetes 中的 Kubelet 与 DNS 详解

1. Kubelet 工作原理

Kubelet 运行在每个节点上,控制该节点上 Pod 的生命周期,与容器运行时交互以启动、停止、创建和删除容器。它可以配置各种功能,启动时会对节点进行各种检查,创建 cgroups 并启动各种插件。

1.1 CRI 例程

CRI 由四个高级 Go 接口组成,统一了 Kubernetes 运行容器所需的所有核心功能,包括:
- PodSandBoxManager :为 Pod 创建设置环境。
- ContainerRuntime :启动、停止和执行容器。
- ImageService :拉取、列出和删除镜像。
- ContainerMetricsGetter :提供运行中容器的定量信息。

这些接口提供暂停、拉取和沙箱功能,Kubernetes 期望任何远程 CRI 实现此功能,并使用 gRPC 调用。

1.2 Kubelet 对 CRI 的抽象:GenericRuntimeManager

CRI 的功能不一定涵盖生产容器编排工具的所有方面,如清理旧镜像、管理容器日志等。Kubelet 提供了一个 Runtime 接口,由 kuberuntime.NewKubeGenericRuntimeManager 实现,作为任何 CRI 提供者的包装器。以下是创建新 Pod 时的示例代码:


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值