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组件和架构内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:

相关文章

  • 使用k8tz解决pod内的时区问题(坑的解决)

    使用k8tz解决pod内的时区问题(坑的解决)

    时区的不一致,会带来很多困扰。即使代码与时区无关,但容器日志与系统日志时间相关联排查问题也会让人头疼,这篇文章主要介绍了使用k8tz优雅的解决pod内的时区问题,需要的朋友可以参考下
    2022-10-10
  • 详解推荐使用systemd timer替代cronjob

    详解推荐使用systemd timer替代cronjob

    这篇文章主要为大家介绍了推荐使用systemd timer替代0cronjob原理分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04
  • 自定义资源CRD使用介绍

    自定义资源CRD使用介绍

    这篇文章主要为大家介绍了自定义资源CRD的使用示例介绍,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • Kubernetes中创建命名空间实现方法

    Kubernetes中创建命名空间实现方法

    这篇文章主要为大家介绍了Kubernetes中创建命名空间实现方法详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • 关于k8s中subpath的使用详解

    关于k8s中subpath的使用详解

    这篇文章主要介绍了k8s中subpath的使用,文章介绍分为两种情况给大家详细讲解,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-02-02
  • k8s安装calico时如何选择网卡问题

    k8s安装calico时如何选择网卡问题

    这篇文章主要介绍了k8s安装calico时如何选择网卡问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07
  • RFO SIG之openEuler AWS AMI 制作详解

    RFO SIG之openEuler AWS AMI 制作详解

    这篇文章主要为大家介绍了RFO SIG之openEuler AWS AMI 制作详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-10-10
  • Rainbond对微服务进行请求速率限制详解

    Rainbond对微服务进行请求速率限制详解

    这篇文章主要为大家介绍了Rainbond对微服务进行请求速率限制,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-04-04
  • K8S 中 kubectl 命令详解

    K8S 中 kubectl 命令详解

    这篇文章主要介绍了K8S 中 kubectl 命令,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-07-07
  • 普通人如何在区块链行业赚钱

    普通人如何在区块链行业赚钱

    区块链是一项新技术。之所以快速吸引人们的关注,是因为比特币在2017年的暴涨,迅速吸引了大众的视线。而比特币的底层技术,主要是区块链技术
    2018-03-03

最新评论