• Kubernetes组件和架构简介


    目录

    一.概念简介

    1.含义:

    2.主要功能:

    3.相关概念:

    二.组件和架构介绍

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

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

    3.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(或者其他容器引擎):负责节点上的容器的相关操作

    60dd618e57514695b65d6b9e4874fced.png

    (4)其他组件

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

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

    heapster:提供资源监控

    dashboard:提供GUI界面

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

    3.kubernetes简单架构图

  • 相关阅读:
    外包干了2个月,技术退步明显...
    TypeScript - 枚举类型 -字符型枚举
    流式数据湖平台Hudi核心概念一:时间线
    c/c++内存管理详解
    leetcode 496: 下一个更大元素 I
    containerd的ctr tasks kill不起作用
    史上无敌的超级详细的Node Js 环境搭建步骤
    一文搞定 Spring事务
    【图像去噪】基于matlab偏微分方程PDE图像去噪【含Matlab源码 1890期】
    centos7 探测某个tcp端口是否在监听
  • 原文地址:https://blog.csdn.net/weixin_64334766/article/details/133280454