当前位置: 首页 > news >正文

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简单架构图解

7b5d3296ecf648f0aa671d2730e0e5c7.png

 

http://www.lryc.cn/news/179793.html

相关文章:

  • ElementUI实现增删改功能以及表单验证
  • C++中有哪些运算符以及它们的优先级?
  • uboot启动流程-涉及_main汇编函数
  • 此芯科技加入百度飞桨硬件生态共创计划,加速端侧AI生态布局
  • Unity把UGUI再World模式下显示到相机最前方
  • nodejs+vue活鲜物流监控系统elementui
  • 数据集划分——train_test_split函数使用说明
  • Pytorch中关于forward函数的理解与用法
  • vite跨域proxy设置与开发、生产环境的接口配置,接口在生产环境下,还能使用proxy代理地址吗
  • 【嵌入式】使用MultiButton开源库驱动按键并控制多级界面切换
  • 【数据结构】树的概念理解和性质推导(保姆级详解,小白必看系列)
  • 融合之力:数字孪生、人工智能和数据分析的创新驱动
  • Spring的注解开发-Spring配置类的开发
  • Linux系统编程系列之进程间通信-信号量组
  • centos 6使用yum安装软件
  • maven无法下载时的解决方法——笔记
  • Java Spring Boot 开发框架
  • Pytorch学习记录-1-张量
  • paddle2.3-基于联邦学习实现FedAVg算法-CNN
  • nuiapp保存canvas绘图
  • Object.defineProperty()方法详解,了解vue2的数据代理
  • Linux 磁盘管理
  • 大数据与人工智能的未来已来
  • 【AI视野·今日Robot 机器人论文速览 第四十一期】Tue, 26 Sep 2023
  • [NOIP2012 提高组] 开车旅行
  • 数据库设计流程---以案例熟悉
  • Miniconda创建paddlepaddle环境
  • postgresql实现单主单从
  • 提取PDF数据:Documents for PDF ( GcPdf )
  • adb连接切换到模拟器端口