Kubernetes组件和架构简介

 更新时间:2023年09月29日 09:44:58   作者:树下一少年  
Kubernetes是google开源的容器编排工具,本质是一组服务器集群,在集群的各个节点上运行程序来进行容器进行管理,最终实现资源管理智能化、自动化,这篇文章主要介绍了Kubernetes组件和架构简介,需要的朋友可以参考下

一.概念简介

1.含义:

Kubernetes是google开源的容器编排工具,本质是一组服务器集群,在集群的各个节点上运行程序来进行容器进行管理,最终实现资源管理智能化、自动化。

2.主要功能:

(1)新容器能够迅速接替崩溃容器,自我修复能力强。

(2)灵活性强,可以对运行容器的数量进行个性调整,也可以退回旧版本,支持横向扩容和整体迁移。

(3)可以自主去发现依赖的服务。

(4)多个容器启动时,自动实现处理请求的负载均衡。

(5)可创建存储卷来根据需求对容器进行存储。

3.相关概念:

(1)master

集群控制节点,至少需要一个master节点。

(2)node

工作负载节点,是由master分配容器到node上,node上的docker在进行运行容器。

(3)pod

kubernetes的最小控制单元,容器运行在其中,一个pod可以有1个或多个容器。

(4)label

通过对标签对pod进行分类,同一类pod有相同标签。

(5)namespace

用来隔离pod的运行环境。

二.组件和架构介绍

1.master:集群的控制平面,管理集群

(1)ApiServer:资源操作的唯一入口,接收用户输入的命令,提供认证、注册等功能,可以通过REST调用、Kubectl命令行界面或者Kubeadm等来访问。需要安装某个服务时,安装请求会首先发送到master节点上的ApiServer。

(2)Scheduler:监视来自ApiServer的新请求,进行集群资源调度,按照策略将Pod调度到最适合的node节点上。安装请求发送到ApiServer后右Scheduler进行选择(在etcd中获取node节点性能等信息并通过算法进行选择)将服务安装到哪个node节点。

(3)Controller-manager:维护集群状态,故障检测等等。ApiServer调用Controller-manager来调度node节点去安装这个服务。

(4)etcd:存储集群中对象的信息(类似于数据库)。在kubernetes启动后,master和node的信息都会存储到这里。

2.node:集群的数据平面,为容器提供工作环境

(1)Kubelet:维护容器的生命周期,控制docker来对容器进行创建删除等操作。Kubelet接收到安装指令后通知docker,由docker去启动用于这个服务的Pod,容器在此Pod中运行。

(2)Kubeproxy:提供集群内部的服务发现情况和负载调度。通过Kubeproxy对此服务进行访问。

(3)Docker:负责节点上的容器的相关操作

(4)其他组件

kube-dns:我整个集群提供dns服务

ingress controller:为服务提供外网入口

heapster:提供资源监控

dashboard:提供GUI界面

fluentd-elasticsearch:集群日志采集、存储和查询 

3.kubernetes简单架构图解

到此这篇关于Kubernetes组件和架构简介的文章就介绍到这了,更多相关Kubernetes组件和架构内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • K8s中pod间通信的两种情况总结详解

    K8s中pod间通信的两种情况总结详解

    在Kubernetes集群中,同一节点上的Pod通过本地虚拟网桥进行高效通信,这篇文章主要介绍了K8s中pod间通信的两种情况的相关资料,文中介绍的非常详细,需要的朋友可以参考下
    2024-11-11
  • 一篇文章读懂K8S的PV和PVC以及实践攻略

    一篇文章读懂K8S的PV和PVC以及实践攻略

    本文详细介绍了Kubernetes中的存储卷(Volume)机制,包括PersistentVolume(PV)、PersistentVolumeClaim(PVC)及其与后端存储的关系,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-10-10
  • Kubernetes控制器中DaemonSet与Job的使用教程

    Kubernetes控制器中DaemonSet与Job的使用教程

    这篇文章主要介绍了Kubernetes控制器中DaemonSet与Job的使用,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-08-08
  • Rainbond的ServiceMesh架构组件端口冲突处理解决

    Rainbond的ServiceMesh架构组件端口冲突处理解决

    这篇文章主要大家介绍了Rainbond ServiceMesh架构组件端口冲突处理方式,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-04-04
  • Kubernetes 1.28.2集群安装过程中的关键步骤详解(最新推荐)

    Kubernetes 1.28.2集群安装过程中的关键步骤详解(最新推荐)

    Kubernetes K8s是Google开源的容器编排平台,最初由Borg项目发展而来,K8s 1.28版本引入了非正常节点关闭恢复、内置Sidecar容器支持、Job优化、Proxy改进和调度框架优化等功能,本文介绍Kubernetes 1.28.2集群安装过程中的关键步骤,感兴趣的朋友一起看看吧
    2025-03-03
  • Linux安装Kubernetes(k8s)超详细教程

    Linux安装Kubernetes(k8s)超详细教程

    Kubernetes是一个轻便的和可扩展的开源平台,用于管理容器化应用和服务,通过Kubernetes能够进行应用的自动化部署和扩缩容,这篇文章主要给大家介绍了关于Linux安装Kubernetes(k8s)的相关资料,需要的朋友可以参考下
    2024-07-07
  • k8s编排之Deployment知识点详解

    k8s编排之Deployment知识点详解

    这篇文章主要为大家介绍了k8s编排之Deployment知识点详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-01-01
  • k8s series初级calico使用介绍

    k8s series初级calico使用介绍

    这篇文章主要为大家介绍了k8s series初级calico使用介绍,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • CentOS 7下YUM 本地仓库的搭建详细步骤

    CentOS 7下YUM 本地仓库的搭建详细步骤

    这篇文章主要介绍了CentOS 7下YUM 本地仓库的搭建详细步骤的相关资料,希望通过本文能帮助到大家实现这样的功能,需要的朋友可以参考下
    2017-09-09
  • k8s中如何实现pod自动扩缩容详解

    k8s中如何实现pod自动扩缩容详解

    在实际生产系统中,经常会遇到某个服务需要扩容的场景,可能会遇到由于资源紧张或者工作负载降低而需要减少服务实例数量的场景,下面这篇文章主要给大家介绍了关于k8s中如何实现pod自动扩缩容的相关资料,需要的朋友可以参考下
    2022-08-08

最新评论