Kubernetes架构详解

news2024/11/16 7:22:00

Kubernetes架构详解

    • Kubernets
    • Kubernetes架构
    • Kubernetes主节点组件
    • Kubernetes工作节点组件

Kubernetes是云原生非常核心的组件,是云计算的未来,也是大厂经常考察的内容,下面我们就全面来讲解Kubernetes架构

Kubernets

Kubernets是Google开发的容器编排平台,主要用于解决:容器编排、自动化部署、弹性伸缩…等场景,可以用于扩展和管理容器应用程序。

Kubernetes架构

Kubernetes架构,如下图所示:
在这里插入图片描述
从上图可以看出kubernetes组件由:Master主节点组件和Node工作节点组件组成,两种角色分别对应着控制节点和工作节点。

Kubernetes的核心组件部署在Master管理节点上,主要作用是作为Kubernetes的"大脑",控制整个分布式集群的运转,Node节点作为"四肢",执行Master的操作指令。

Kubernetes主节点组件

master主节点架构,如下图黄框所示:
在这里插入图片描述

从上图左侧黄框的Kubernetes主节点可以看出,Master节点由4个独立的组件组成,它们分别是:

1.apiserver:负责整个集群通信的API服务;
2.schedule:负责容器调度;
3.controller manager:负责维护集群状态的kube-controller-manager组件;
4.Etcd:复制保存集群所有的网络配置和对象的状态信息;

下面我们再详解一下主节点的4大组件。
1.API Server
在这里插入图片描述
API Server主要负责整个集群通信的API服务,API Server是Kubernetes控制程序的前端入口,也是用户唯一可以直接进行交互的Kubernetes组件。

作为集群管理的API入口操作不同资源对象,比如:Pod、Service、Deployment提供创建、认证、数据校验、状态变更等操作。

2.键值对存储etcd
Etcd是一种K-V存储仓库,Etcd是Kubernetes集群中的一个十分重要的组件。

Etcd主要用于保存集群所有的网络配置和对象的状态信息,无论是创建Deployment,还是创建Service,各种资源对象信息都会写入Etcd。

3.Controller Manager
Controller Manager是Kubernetes的"大脑",由一系列控制器组成,如下图所示:
在这里插入图片描述

Controller Manager主要包含以下8大组件:
1.Replication Controller:主要是保证集群中一个Replication Controller(RC),所关联的Pod副本数始终保持与预设值一致;
2.Node Controller:Node Controller通过API Server实时获取Node的相关信息,实现管理和监控集群中的各个Node节点;
3.ResourceQuota Controller:资源配额管理控制器,用于确保指定的资源对象在任何时候都不会超量占用系统上物理资源;
4.Namespace Controller:用户通过 API Server 可以创建新的 Namespace 并保存在 Etcd 中;
5.Service Account Controller:服务账号控制器,主要在命名空间内管理 ServiceAccount,以保证名为 default 的 ServiceAccount 在每个命名空间中存在;
6.Token Controller:令牌控制器 主要作用:监听 ServiceAccount 的创建和删除动作,以及监听 secret 的添加删除动作;
7.Service Controller:服务控制器 主要作用:监听 Service 的变化;
8.Endpoint Controller:负责生成和维护所有 Endpoint 对象的控制器;

注意:Controller Manager主要用于:实现 Kubernetes 集群故障检测,监控整个集群的状态,以及恢复的自动化工作。

4.Scheduler
Scheduler是Kubernetes的调度器,Scheduler是负责整个集群的资源调度的。

Scheduler调度程序会监视来自API Server的新请求,并将其分配给运行状态良好的节点,比如:对节点的质量进行排名,并将Pod部署到最适合的节点。

Kubernetes工作节点组件

工作节点组件,如下图所示:
在这里插入图片描述
上图右侧的绿色框就是Kubernetes工作节点,包含如下组件:

1.Kubelet
Kubelet是负责容器真正运行的核心组件,Kubelet是 Master 和 Node 之间的桥梁,接收 API Server 分配给它的任务并执行。

2.Container Runtime
Container Runtime 基于gRPC协议,定义了RuntimeService 和 ImageService两个gRPC服务,分别用于管理容器运行和镜像。

3.Kube-proxy
Kube-proxy是为了解决外部网络能够访问集群中容器提供的应用服务而设计的,Proxy运行在每个Node上。

kube-proxy确保每个节点都获得其IP地址,实现本地iptables和规则以处理路由和流量负载均衡。

4.Pod
Pod是Kubernetes中一个抽象化概念,由一个或多个容器组合在一起得共享资源,如下图所示:
在这里插入图片描述

Pod的设计理念是支持多个容器在一个Pod中共享网络和文件系统,可以通过进程通信和文件共享这种简单高效的方式组合完成服务。

在Kubernetes中,Pod是调度的最小元素,没有它容器就不能成为集群的一部分,主节点会把Pod调度到特定工作节点上,并与容器运行时协调以启动容器。

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

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

相关文章

超简单理解上拉电阻(高中物理)

上拉电阻的作用 一、增强电路驱动能力二、将不确定的信号钳位在高电平 一、增强电路驱动能力 单片机一个引脚输出5V 当接了一个100Ω电阻之后电压变小 此时接上一个上拉电阻,电压又变高了,提升了电路的驱动能力,本来是并联分压&#xff1…

17.路由配置与页面创建

路由配置与页面创建 官网:https://router.vuejs.org/zh/ Vue Router 和 组合式 API | Vue Router (vuejs.org) 1. 修改index.ts import { RouteRecordRaw, createRouter, createWebHistory } from "vue-router"; import Layout from /layout/Index.vueco…

【数组】【双指针】【练习】最接近的三数之和+四数之和

这篇博客主要是对上篇【数组】【双指针】三数之和做一个练习,包括俩相似题目:最接近的三数之和、四数之和 最接近的三数之和 该题对应力扣地址 有了前车之鉴,直接用双指针写的,没看题解,题解可能有更优化的方法&#…

Spring AI 接入OpenAI实现文字生成图片功能

Spring AI 框架集成的图片大模型 2022年出现的三款文生图的现象级产品,DALL-E、Stable Diffusion、Midjourney。 OpenAI dall-e-3dall-e-2 Auzre OpenAI dall-e-3dall-e-2 Stability stable-diffusion-v1-6 ZhiPuAI cogview-3 OpenAI 与 Auzer OpenAI 使用的图片…

商务风格可视化插图怎么绘制?一行代码搞定~~

上期推文推出使用极少代码绘制顶级期刊要求的学术图表(一行代码绘制符合)后,有小伙伴就问了,有没有可以使用较少代码绘制偏商业风的技巧分享?还别说,我还真有这样的技巧准备分享给爱学习的你们!话不多说,咱…

基于MATLAB仿真的BCC卷积码维特比译码算法

🧑🏻个人简介:具有3年工作经验,擅长通信算法的MATLAB仿真和FPGA实现。代码事宜,私信博主,程序定制、设计指导。 🚀基于MATLAB仿真的BCC卷积码维特比译码算法 目录 🚀1.BCC卷积码概…

182.二叉树:二叉搜索树的最小绝对差(力扣)

代码解决 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}* Tre…

【代码随想录】【算法训练营】【第30天 1】 [322]重新安排行程 [51]N皇后

前言 思路及算法思维,指路 代码随想录。 题目来自 LeetCode。 day 30,周四,好难,会不了一点~ 题目详情 [322] 重新安排行程 题目描述 322 重新安排行程 解题思路 前提:…… 思路:回溯。 重点&…

transformer和Non-local

两者本质上是一个东西,都是用来求自注意力的,但具体而言还是有一些差别; 1:首先说Non-local,它是像素级别的self-attention,算的是图片中各个像素点对指定像素点的影响; 2:transformer我们拿s…

JVM产生FullGC的原因有哪些?

JVM产生FullGC的原因有哪些? 在Java虚拟机(JVM)中,垃圾回收(Garbage Collection,简称GC)是一个非常重要的机制。GC的目的是自动管理内存,回收不再使用的对象,防止内存泄…

揭秘!5大策略让广告变现长久有效

在数字化时代的浪潮下,广告变现作为自媒体和APP开发者重要的收入来源,越来越受到重视。 但如何让这种变现方式长久持续,成为许多内容创作者与平台运营者思考的问题。 本文旨在探讨广告变现的持久之道,通过分析前端展示、合规性、…

通过元学习优化增益模型的性能:基础到高级应用总结

在当今数据驱动的决策过程中,因果推断和增益模型扮演了至关重要的角色。因果推断帮助我们理解不同变量间的因果关系,而增益模型则专注于评估干预措施对个体的影响,从而优化策略和行动。然而,要提高这些模型的精确度和适应性&#…

lammps聚合物断键拉伸模拟

本文介绍聚合物的断键拉伸。 在lammps模拟中,所有的键默认是永久存在的,非正常情况下,不能断开,否则会产生"bond atoms missing”错误。 聚合物的拉伸模拟过程中,聚合物链并没有被拉断,而只是把不同的…

tmega128单片机控制的智能小车设计

第1章 绪论1.1 选题背景和意义 自第一台工业机器人诞生以来,机器人的民展已经遍及机械、电子、冶金、交通、宇航、国防等领域。近年来机器人的智能水平不断提高,并且迅速地改变着人们的生活方式。人们在不断探讨、改造、认识自然的过程中,制造能替代人工作的机器一…

国学诗词app开发,学古贯今,句句珠玑

“鹅鹅鹅,曲项向天歌。”这是很多人学会的第一首诗,国学诗词作为中华传统文化的重要组成部分,不仅在历史中占据重要地位,也是儿童学前启蒙的不二选择。对于家长来说,他们更喜欢在学前教孩子一些经典国学和古诗词&#…

180.二叉树:二叉搜索树(力扣)

代码解决 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}* Tre…

好用的FTP客户端 Transmit 5中文

Transmit 5是一款专为macOS设计的FTP客户端软件,由Panic公司开发。它支持FTP、SFTP、WebDAV和Amazon S3等多种传输协议,满足用户多样化的文件传输需求。Transmit 5拥有用户友好的界面设计,提供了清晰的文件传输状态和详细的信息,让…

Java面经总结

一、java基础 1.重载和重写的区别 重载: 发生在同一类中,函数名必须一样,参数类型、参数个数、参数顺序、返回值、修饰符可以不一样。重写: 发生在父子类中,函数名、参数、返回值必须一样,访问修饰符必须…

【Android面试八股文】1. 你说一说Handler机制吧 2. 你知道Handler的同步屏障吗? 3. Looper一直在循环,会造成阻塞吗?为什么?

文章目录 一. 你说一说Handler机制吧二、你知道Handler的同步屏障吗?2.1 Handler消息的分类2.2 什么是同步屏障2.3 为什么要设计同步屏障2.4 同步屏障的用法 三、Looper一直在循环,会造成阻塞吗?为什么?扩展阅读 一. 你说一说Hand…

PostgreSQL和Oracle的数据类型对比:时间类型 #PG培训

在数据库管理系统中,时间数据类型是非常关键的一部分。时间数据类型的选择和使用直接影响到数据存储、查询效率和应用程序的设计。本文将对比PostgreSQL和Oracle在时间类型方面的实现和特性。 #PG考试#postgresql培训#postgresql考试#postgresql认证 日期和时间类型…