前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >k8s组件含义

k8s组件含义

作者头像
知识浅谈
发布2022-05-19 13:11:03
2810
发布2022-05-19 13:11:03
举报
文章被收录于专栏:分享学习

K8s组件含义:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Master组件

Master 组件对集群进行全局决策(例如,调度),并检测和响应集群事件(例如,当不满足部署的 replicas 字段时,启动新的 pod)。

1、kube-apiserver

master节点上提供k8sapi服务的组件,

2、etcd

保存了k8s集群的一些数据,比如pod的副本数,pod的期望状态与现在的状态

3、scheduler

master节点上的调度器,负责选择节点让pod在节点上运行

kube-scheduler 给一个 pod 做调度选择包含两个步骤: 1、过滤 2、打分

过滤阶段会将所有满足 Pod 调度需求的 Node 选出来。例如,PodFitsResources 过滤函数会检查候选 Node 的可用资源能否满足 Pod 的资源请求。在过滤之后,得出一个 Node 列表,里面包含了所有可调度节点;通常情况下,这个 Node 列表包含不止一个 Node。如果这个列表是空的,代表这个 Pod 不可调度。

在打分阶段,调度器会为 Pod 从所有可调度节点中选取一个最合适的 Node。根据当前启用的打分规则,调度器会给每一个可调度节点进行打分。

最后,kube-scheduler 会将 Pod 调度到得分最高的 Node 上。如果存在多个得分最高的 Node,kube-scheduler 会从中随机选取一个。

4、controller

master节点的控制器,负责在节点出现故障时进行通知和响应,负责对节点的pod状态进行监控

Node组件

1、kubelet

一个在集群中每个节点上运行的代理。它保证容器都运行在 Pod 中。 他负责管理在该节点上的属于k8s集群的容器

2、kube-proxy

一个代理,可以通过代理创建一个虚拟ip,通过这个ip来与pod进行交流

3、Container Runtime

容器运行环境是负责在节点上运行容器的软件

附加组件

1、DNS

负责对k8s集群进行域名解析

2、Dashboard

Dashboard是k8s集群的一个web界面,

3、集群层面日志

集群层面日志机制负责将容器的日志数据保存到一个集中的日志存储中,该存储能够提供搜索和浏览接口。

4、容器资源监控

容器资源监控将关于容器的一些常见的时间序列度量值保存到一个集中的数据库中,并提供用于浏览这些数据的界面。

k8s流程

以下是我自己对k8s工作流程的理解,只供参考

1、准备好对应的yanl文件,通过kubectl发送到Api Server中 2、Api Server接收到客户端的请求将请求内容保存到etcd中 3、Scheduler会监测etcd,发现没有分配节点的pod对象通过过滤和打分筛选出最适合的节点运行pod 4、节点会通过conteiner runntime 运行对应pod的容器以及创建对应的副本数 5、节点上的kubelet会对自己节点上的容器进行管理 6、controler会监测集群中的每个节点,发现期望状态和实际状态不符合的话,就会通知对应的节点 7、节点收到通知,会通过container runtime来对pod内的容器进行收缩或者扩张

对于容器来说,管理的单位是容器 对于k8s来说,管理的是一个pod应用 一个pod上可以运行多个容器,可以将pod理解为一个虚拟机,一个虚拟机上运行了多个容器

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-05-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Master组件
    • 1、kube-apiserver
      • 2、etcd
        • 3、scheduler
          • 4、controller
          • Node组件
            • 1、kubelet
              • 2、kube-proxy
                • 3、Container Runtime
                • 附加组件
                  • 1、DNS
                    • 2、Dashboard
                      • 3、集群层面日志
                        • 4、容器资源监控
                        • k8s流程
                        相关产品与服务
                        容器服务
                        腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
                        领券
                        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档