Kubernetes 通过将容器放入在节点(Node)上运行的 Pod 中来执行你的工作负载。 节点可以是一个虚拟机或者物理机器,取决于所在的集群配置。 每个节点包含运行 Pod 所需的服务,比如相关的sc资源、网络资源等等,这些节点由 控制面 负责管理。
节点上的组件包括 kubelet、 kube-proxy等。
kubelet是在每个节点上运行的主要“节点代理”。它可以使用以下方法之一向apiserver注册节点:
- hostname,默认加载的主机名称
- 覆盖主机名的名称,通过 启动时进行配置
- 云提供商的特定逻辑。
kubelet按照PodSpec工作。PodSpec是描述pod的YAML或JSON对象。kubelet采用一组通过各种机制(主要是通过apiserver)提供的PodSpec,并确保这些PodSpecs中描述的容器运行正常。
除了来自apiserver的PodSpec之外,还有三种方式可以将容器清单提供给Kubelet。 - 文件:在命令行上作为标志传递的路径。将定期监视此路径下的文件以进行更新。监控周期默认为20秒,可通过标志进行配置。
- HTTP端点:在命令行上作为参数传递的HTTP端点。此端点每20秒检查一次(也可以使用标志进行配置)。
- HTTP服务器:kubelet还可以监听HTTP并响应一个简单的API(目前尚不明确)来提交一个新的清单。
该文件位于 目录下,目录结构如图,其中pki为k8s集群内部通信证书

内容如下
当 kubelet 标志 为 true(默认)时,它会尝试向 API 服务注册自己。API-SERVER的地址是配置文件中配置的,这是首选模式,被绝大多数发行版选用。
值得说明的一点
在二进制安装k8s时候,当你需要新增node时,实际上就是自己去搞定,然后在新机器上使用一个新的node名称,然后启动和和即可


Address
这些字段的用法取决于你的云服务商或者物理机配置。
- HostName:由节点的内核报告。可以通过 kubelet 的 --hostname-override 参数覆盖。
- ExternalIP:通常是节点的可外部路由(从集群外可访问)的 IP 地址。
- InternalIP:通常是节点的仅可在集群内部路由的 IP 地址。
Conditions
conditions 字段描述了所有 Running 节点的状况。状况的示例包括:
如果 Ready 状况的 status 处于 Unknown 或者 False 状态的时间超过了 pod-eviction-timeout 值(一个传递给 kube-controller-manager 的参数),节点控制器会对节点上的所有 Pod 触发 API 发起的驱逐。 默认的逐出超时时长为 5 分钟。
容量(Capacity)与可分配(Allocatable)
到此这篇kubernetes中kubelet主要功能(kubernetes特点)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/do-docker-k8s/13239.html