【Kubernetes】| K8s基础组件分析

news2024/12/25 10:30:06

目录

  • 一. 🦁 前言
  • 二. 🦁 K8s vs Docker
  • 三. 🦁 K8s基础组件
    • 3.1 Master组件
      • 3.1.1 api server
      • 3.1.2 controller manager
      • 3.1.3 scheduler
      • 3.1.4 etcd
    • 3.2 Node组件
      • 3.2.1 kublet
      • 3.2.2 kube-proxy
  • 四. 🦁 最后

一. 🦁 前言

一个舵盘在远航

Kubernetes,简称K8s,是用8代替名字中间的8个字符“ubernete”而成的缩写。是一个开源的,用于管理云平台中多个主机上的容器化的应用,K8s的目标是让部署容器化的应用简单并且高效,K8s提供了应用部署,规划,更新,维护的一种机制K8s是Google开源的一个容器编排引擎,使用Google自家的Go语言开发。
它支持自动化部署、大规模可伸缩、应用容器化管理。在生产环境中部署一个应用程序时,通常要部署该应用的多个实例以便对应用请求进行负载均衡。
在K8s中,我们可以创建多个容器,每个容器里面运行一个应用实例,然后通过内置的负载均衡策略,实现对这一组应用实例的管理、发现、访问,而这些细节都不需要运维人员去进行复杂的手工配置和处理。
特点:

  • 可移植:支持公有云,私有云,混合云,多重云(multi-cloud)
  • 可扩展: 模块化,插件化,可挂载,可组合
  • 自动化:自动部署,自动重启,自动复制,自动伸缩/扩展

二. 🦁 K8s vs Docker

在这里插入图片描述

  • Docker针对paas,是以应用为中心;
  • K8s是一个管理各个工作节点中容器应用,通过api server进行控制,通过kubelet进行管理的容器管理引擎;
  • K8s解决了密钥配置管理、自动二进制打包、自动部署和回滚、存储编排、服务发现和负载均衡等问题。

三. 🦁 K8s基础组件

K8s架构主要分为两部分——一个Master(主节点) && 一群Node(工作节点)。

  • Master节点主要负责管理和控制,里面含有四大组件,分别是API Server、Scheduler、Controller manager、etcd
    在这里插入图片描述
  • API Server 是整个系统的对外接口,供客户端和其它组件调用,相当于“服务窗口”
  • Scheduler 负责对集群内部的资源进行调度,相当于“调度室”
  • Controller manager 负责管理控制器,相当于“管理员”
  • etcd是保存K8s所有集群数据的后台数据库
  • Node节点是工作负载节点,主要组件包括包括Docker、kubelet、kube-proxy和pod。
  • Docker,创建容器的;
  • Kubelet,负责监视指派到它所在Node上的 Pod,包括创建、修改、监控、删除等;
  • Kube-proxy,主要负责为Pod对象提供代理;
  • Fluentd,主要负责日志收集、存储与查询。

在这里插入图片描述

每个Node都会被Master分配一些工作负载,当某个Node宕机时,该节点上的工作负载就会被Master自动转移到其它节点上。
我们现在来介绍一下这些组件工作原理:

3.1 Master组件

在这里插入图片描述

3.1.1 api server

主节点上负责提供K8s API 服务的组件,它是K8s控制面的前端。

  • 1 apiserver是K8s最重要的核心组件之一,提供集群管理的REST API接口,包括认证授权,数据校验以及集群状态变更等;
  • 2 提供其他模块之间的数据交互和通信的枢纽(其他模块通过API Server查询或修改数据,只有API Server才直接操作etcd)
  • 3 生产环境可以为api server做LALoad Average 或LBLoad Balance ,在设计上考虑了水平扩缩的需要。 换言之,通过部署多个实例可以实现扩缩。

3.1.2 controller manager

在主节点上运行控制器的组件。

  • 1 controller manager是K8s的大脑,它通过api server监控整个集群的状态,确保集群处于预期的工作状态;
  • 2 controller manager由一系列的控制器组成,例如,Replication Controller控制副本,Node Controller节点控制,Deployment Controller管理deployment等。

3.1.3 scheduler

主节点上的组件,该组件监视那些新创建的未指定运行节点的Pod,并选择节点让Pod 在上面运行。scheduler负责分配调度Pod到集群内的节点上,它监听apiserver,查询还未分配Node的Pod,然后根据调度策略为这些Pod分配节点。

3.1.4 etcd

  • 1 K8s需要存储很多东西,像它本身的节点信息,组件信息,还有通过K8s运行的pod,deployment,service等等,都需要持久化,etcd就是它的数据中心。生产环境中为了保证数据中心的高可用和数据的一致性,一般会部署最少三个节点;
  • 2 etcd也可以部署在K8s每一个节点,组成etcd集群;
  • 3 如果已经有外部etcd服务,K8s可以直接使用外部etcd服务。

3.2 Node组件

3.2.1 kublet

一旦Pod被调度到对应的宿主机之后,后续要做的事情就是创建这个Pod,并管理这个Pod的生命周期,这里面包括:Pod的增删改查等操作,在K8S里面这部分功能是通过kubelet 这个核心组件来完成的。kublet的功能分为两类:

  • kubelet操作当前宿主机的资源信息,并启动Pod
  • 与k8s进行交互,获取pod相关的数据,监控当前的Pod变化的事件

3.2.2 kube-proxy

在k8s集群的每个节点上都运行着kube-proxy进程,负责实现k8s中service组件的虚拟IP服务。kube-proxy是让集群服务在外部可以被访问到的重要方式。目前kube-proxy有三种工作模式:

  • User space模式
  • Iptables模式(默认)
  • IPVS模式

四. 🦁 最后

今天介绍了K8s集群的一些组件功能,深入了解K8s的工作机制,希望你喜欢。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/531357.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

antd-vue-admin——通过链接跳过登录页直接进入系统内部——基础积累

最近在写后台管理系统,遇到一个需求,就是从系统A带参数可以直接进入到系统B内部。不通过系统B的登录页面进行登录。 一般系统的登录,都需要用户名和密码等参数,然后获取到token信息,最后进入到系统内部。 下面介绍具…

5-16SQL每日一题

如下两张表,G0516A和G0516B 要求G0516B按顺序与G0516A的第一个WEEK1依次有序的组合,直到依次组合完毕,预计结果如下: 测试数据: CREATE TABLE G0516A ( WEEKS VARCHAR(10) ) INSERT INTO G0516A VALUES (‘WEEK1…

Socket请求和Http请求区别和场景

我们在开发过程中遇到http请求和socket请求。大部分前后交互都是通过http请求的方式,那socket请求怎么使用,什么情况下使用呢? 基本概念 http请求:基于http协议的soap协议,常见的http数据请求方式有get和post&#xf…

OpenCV实现图像的缩放几何变换,图像金字塔,高斯不同

1.前言 实现图像的放大(zoom in)和缩小(zoom out)主要通过两种途径: 几何变换。图像金字塔。 2.几何变换 通过几何变换实现图像放大和缩小功能主要是通过OpenCV的resize函数: 1 2 3 4 5 6 7 8void resi…

二.深度学习yolov5 比特家异构计算 训练与转模型01

(备份笔记 仅记录) 走国产化路上 要离开老黄的NVIDIA了,现在摸索下比特家的异构计算 yolo还停在v3的阶段 因为之前v3就已经够产品化去用了。这次也走下yolov5吧! 1.yolov5环境搭建 2.yolov5模型训练 3.yolov5模型测试 4.模型做truck 5.模型转换为…

【六袆 - Design Pattern】Strategy Pattern;策略模式;

JDK8源码使用的策略模式列举 java.util.comparator接口用于对对象进行排序。Comparator接口的compare()方法将两个对象作为参数,并返回一个整数值,表示这两个对象的相对顺序。比较器接口有许多不同的实现,每个实现都有不同的排序算法。例如&a…

OpenPCDet系列 | 5.4 PointPillars算法——AnchorHeadSingle模型预测头模块

文章目录 AnchorHeadTemplate模块1. AnchorGenerator2. ResidualCoder3. AxisAlignedTargetAssigner AnchorHeadSingle模块1. AnchorHeadSingle初始化2. AnchorHeadSingle训练前向传播3. AnchorHeadSingle测试前向传播 OpenPCDet的整个结构图: PointPillars算法属…

人人可用的开源数据可视化分析工具

大家好,我是互联网架构师! 在互联网数据大爆炸的这几年,各类数据处理、数据可视化的需求使得 GitHub 上诞生了一大批高质量的 BI 工具。 借助这些 BI 工具,我们能够大幅提升数据分析效率、生成更高质量的项目报告,让用…

UE4/5中DataTable数据表的使用

我们在UE中经常要对配置数据进行编辑,用好UE自己的DataTable自然对日常使用有所帮助。 1.蓝图使用流程 1.1 DataTable创建 使用数据表首先得创建自定义结构体,这样才好定义每一行的格式,例如这里创建如下: 然后右键选择创建Da…

LiveGBS流媒体平台GB/T28181功能-NVR硬件下级平台级联上来的通道如何过滤过滤通道类型

LiveGBS流媒体平台GB/T28181功能-NVR硬件下级平台级联上来的通道如何过滤过滤通道类型 1、上来的通道多了怎么办?2、过滤通道类型2.1、设备单独过滤2.2、全局过滤通道类型 3、过滤指定通道国标编号4、搭建GB28181视频直播平台 1、上来的通道多了怎么办? 下级平台或是NVR设备…

个人黄金投资好做吗?黄金投资交易优势体现在哪些方面

黄金的高保值性深受市场喜爱,它兼具商品和货币的双重属性。不仅实物黄金备受青睐,就连黄金投资交易也受到市场喜爱。黄金投资交易优势主要有哪些要点呢? 黄金投资交易优势一、稀有性 黄金的价值是固有的、内在的,具有千年不朽的稳…

跟庄买股票得新技巧(2023.05.16)(第二弹)

北向资金(也叫聪明的钱),它如何潜伏的(上周) 设么,你投诉大叔不写代码?好吧给你北向资金的代码 { 选股条件: 北向资金流入是昨天的两倍以上 } 百分比:REF(GPJYVALUE(6,1,1),1)>…

HttpClient5如何设置代理

文章目录 说明原始HttpClient代理HttpClient总结 说明 在这篇文章中会对HttpClient5如何进行代理进行说明,我的HttpClient版本是5.2.1。在进行代理之前请先准备好代理服务器。 原始HttpClient 下面是没有进行代理设置的代码,尝试去访问openai接口 Tes…

监控室值班人员脱岗睡岗识别算法 yolov7

监控室值班人员脱岗睡岗识别算法基于Yolov7深度学习神经网络算法,监控室值班人员脱岗睡岗识别算法模型可以7*24小时不间断自动人员是否在工位上(脱岗睡岗玩手机),若人员没有在工位,系统则立即抓拍告警,算法…

GBASE南大通用携手长亮科技 重磅推出金融数据仓库联合解决方案

随着数字化转型进程深入,金融企业对数据赋能的需求更加迫切,如何融合内外部业务数据,实现数据纵向贯通、横向穿透,让数据资源真正成为业务发展的新引擎;同时,信创浪潮风起云涌,数据库作为底层软…

深度学习语义分割篇——FCN源码解析篇

🍊作者简介:秃头小苏,致力于用最通俗的语言描述问题 🍊往期回顾:深度学习语义分割篇——FCN原理详解篇 🍊近期目标:写好专栏的每一篇文章 🍊支持小苏:点赞👍&…

分享Python采集66个菜单导航,总有一款适合您

分享Python采集66个菜单导航,总有一款适合您 Python采集的66个菜单导航下载链接:https://pan.baidu.com/s/11ElCiEa6OesmPxY6U9320w?pwdvdok 提取码:vdok jQuery手风琴滑动下拉菜单展开收缩代码 JS树形结构下拉列表菜单选择代码 简单的…

人脸识别2:InsightFace实现人脸识别Face Recognition(含源码下载)

目录 1. 前言 2. 项目安装 3. 人脸识别系统 (1)人脸检测和关键点检测 (2)人脸校准 (3)人脸特征提取 (4)人脸比对(1:1) (5)人脸搜索(1:N) &#xff08…

将数组中的“缺失值”“正无穷大”“负无穷大”替换为指定的数值np.nan_to_num()

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 将数组中的“缺失值”“正无穷大” “负无穷大”替换为指定的数值 np.nan_to_num() 选择题 下列说法错误的是? import numpy as np a np.array([11,-22,np.nan,np.inf,-np.inf]) print(&q…

Cefsharp113.1.40版本功能体验(支持MP3,不支持H264)-winform

下载包本地更新:NuGet Gallery | CefSharp.WinForms 113.1.40 因许可问题,不支持H264/AAC。Due to licensing issues default builds do not support proprietary codecs like H264/AAC, sites like Netflix/Twitter/Instagram/Facebook/Spotify/Apple Music wont play vide…