0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Kubernetes中的逻辑组件

汽车电子技术 来源: 码农与软件时代 作者: 码农与软件时代 2023-02-15 10:46 次阅读

Kubernetes是生产级别的容器编排系统,其物理集群有Master和Node两种类型的节点。

Master节点的进程有:

root@k8s:~# ps -el | grep kube
4 S     0  6224  6152  0  80   0 - 188636 futex_ ?       00:05:00 kube-scheduler
4 S     0  6275  6196  1  80   0 - 206354 ep_pol ?       00:23:02 kube-controller
4 S     0  6287  6181  5  80   0 - 278080 futex_ ?       01:19:40 kube-apiserver
4 S     0  6501     1  3  80   0 - 487736 futex_ ?       00:46:38 kubelet
4 S     0  6846  6818  0  80   0 - 187044 futex_ ?       00:00:26 kube-proxy

Node节点的进程有:

# node1
root@k8s:~# ps -el | grep kube
4 S     0 22869 22845  0  80   0 - 187172 futex_ ?       00:00:23 kube-proxy
4 S     0 26395     1  2  80   0 - 505977 futex_ ?       00:28:10 kubelet
# node2
root@k8s:/# ps -el | grep kube
4 S     0 28227     1  1  80   0 - 487480 futex_ ?       00:17:26 kubelet
4 S     0 28724 28696  0  80   0 - 187044 futex_ ?       00:00:17 kube-proxy

Kubernetes官网,给出的集群组件如下图所示:

图片

各组件的大致含义是什么:

kube-api-server是负责提供Kubernetes API服务的组件,所有请求都要调用这个组件,结果状态存在etcd数据库中。

etcd 是键值数据库,存储配置信息和状态信息。

kube-scheduler是负责资源调度的组件,决定将Pod放在哪个Node上运行。

kube-controller-manager是在主节点上运行控制器的组件,负责管理资源并使之处于“用户期望”的状态。

kubelet是一个在集群中每个节点上运行的代理。接受kube-scheduler的调度请求,并根据请求信息创建和运行容器。

kube-proxy是集群中每个节点上运行的网络代理,实现对外服务的提供。

简单地理解,Master节点是集群的大脑,负责策略应用程序的部署,并达到用户的期望状态。具体来说,可以将Master节点本身看成一个APP,该APP接收用户的部署请求,并将其记录到数据库中。同时,根据集群的负载进行资源的灵活调度(Schedule),当资源出现异常时,通过Controller来达到“用户期望”的状态。

Node节点是干活的角色,有2个职责,一个是负责创建Pod,提供应用程序的运行环境。这个职责由kubelet组件负责。另一个是负责提供对外服务的访问点,以便外部能够访问。这个职责由kube-proxy负责。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 节点
    +关注

    关注

    0

    文章

    208

    浏览量

    24079
  • 容器
    +关注

    关注

    0

    文章

    481

    浏览量

    21884
  • MASTER
    +关注

    关注

    0

    文章

    79

    浏览量

    11160
  • node
    +关注

    关注

    0

    文章

    20

    浏览量

    5882
  • kubernetes
    +关注

    关注

    0

    文章

    219

    浏览量

    8568
收藏 人收藏

    评论

    相关推荐

    Kubernetes架构和核心组件组成 Kubernetes节点“容器运行时”技术分析

    的服务,而这些都是受Master的控制。 每次个节点上当然都要运行Docker。Docker来负责所有具体的映像下载和容器运行。 Kubernetes主要由以下几个核心组件组成: 1)etcd保存了整个
    的头像 发表于 09-25 15:53 2949次阅读
    <b class='flag-5'>Kubernetes</b>架构和核心<b class='flag-5'>组件</b>组成 <b class='flag-5'>Kubernetes</b>节点“容器运行时”技术分析

    Kubernetes的Device Plugin设计解读

    设计解读最近在调研Kubernetes的GPU调度和运行机制,发现传统的alpha.kubernetes.io/nvidia-gpu即将在1.11版本中下线,和GPU相关的调度和部署的代码将彻底从主干代码
    发表于 03-12 16:23

    阿里云容器Kubernetes监控(一) - 资源监控

    分组设置了所有节点的核心组件的健康检查,健康检查状态出现问题时即可通过钉钉、邮件、短信的方式在第一件获取到Kubernetes的集群状态。对于版本在1.8.4及以上的老集群而言,可以通过升级监控服务
    发表于 04-23 14:35

    阿里云容器Kubernetes监控(一) - 资源监控

    分组设置了所有节点的核心组件的健康检查,健康检查状态出现问题时即可通过钉钉、邮件、短信的方式在第一件获取到Kubernetes的集群状态。对于版本在1.8.4及以上的老集群而言,可以通过升级监控服务
    发表于 04-23 14:35

    阿里云容器Kubernetes监控(一) - 资源监控

    分组设置了所有节点的核心组件的健康检查,健康检查状态出现问题时即可通过钉钉、邮件、短信的方式在第一件获取到Kubernetes的集群状态。对于版本在1.8.4及以上的老集群而言,可以通过升级监控服务
    发表于 04-23 14:35

    阿里云容器Kubernetes监控(二) - 使用Grafana展现Pod监控数据

    Heapster的功能。因此Heapster成为了kubernetes中一个必不可少的组件,在阿里云的kubernetes集群已经内置了Heapster+Influxdb的组合,如果
    发表于 05-10 15:28

    浅析Kubernetes

    【k8s】Kubernetes基础概念
    发表于 09-27 09:11

    不吹不黑,今天我们来聊一聊 Kubernetes 落地的三种方式

    Kubernetes 作为自己的基础设施重心,"一万个人眼中就有一万个哈姆雷特",虽说 Kubernetes 是容器管理领域的事实标准,但实际上在不同背景的企业Kubernetes
    发表于 10-12 16:07

    kubernetes部署与应用

    kubernetes运维笔记
    发表于 10-25 13:08

    浅谈Kubernetes集群的高可用方案

    还应包含以下两个层面的考虑:etcd数据存储的高可用性和Kubernetes Master组件的高可用性。本文节选自龚正等所著的《kubernetes权威指南》。 1.etcd高可用性方案 etcd
    发表于 10-11 10:04 1次下载
    浅谈<b class='flag-5'>Kubernetes</b>集群的高可用方案

    如何从零开发Kubernetes Operator?

    大多数人使用Kubernetes的方式是使用原生资源(如Pod、Deployment、Service等)部署应用程序。但是,也可以扩展Kubernetes的功能,从而添加满足特定需求的新业务逻辑,这就是Operator的作用。
    的头像 发表于 01-05 11:27 973次阅读

    kubernetes是什么,Kubernetes架构原理详解

    Kubernetes是一个基于容器技术的分布式集群管理系统。它是谷歌在大规模应用容器技术方面数十年经验的实际成果。因此,支持大规模的集群管理承载着非常多的组件,分布式本身的复杂度非常高。
    发表于 03-31 10:06 415次阅读

    Kubernetes Pod如何独立工作

    在学习 Kubernetes 网络模型的过程中,了解各种网络组件的作用以及如何交互非常重要。本文就介绍了各种网络组件Kubernetes 集群中是如何交互的,以及如何帮助每个 Po
    的头像 发表于 05-16 14:29 436次阅读
    <b class='flag-5'>Kubernetes</b> Pod如何独立工作

    各种网络组件Kubernetes 集群中是如何交互的

    Kubernetes 中有多种网络设置方法,以及 container runtime 的各种选项。这篇文章将使用 Flannel 作为 network provider,并使用 Containered 作为 container runtime。
    的头像 发表于 05-23 09:49 565次阅读
    各种网络<b class='flag-5'>组件</b>在 <b class='flag-5'>Kubernetes</b> 集群中是如何交互的

    使用Jenkins和单个模板部署多个Kubernetes组件

    在持续集成和部署中,我们通常需要部署多个实例或组件Kubernetes集群中。通过Jenkins的管道脚本,我们可以自动化这个过程。在本文中,我将演示如何使用Jenkins Pipeline及单个
    的头像 发表于 01-02 11:40 270次阅读
    使用Jenkins和单个模板部署多个<b class='flag-5'>Kubernetes</b><b class='flag-5'>组件</b>