【K8S 系列】认识k8s、k8s架构

一、什么是k8s?

Kubernetes 简称 k8s,是支持云原生部署的一个平台,k8s 本质上就是用来简化微服务的开发和部署的,用于自动化部署、扩展和管理容器化应用的开源容器编排技术。对于传统的docker其实也提供了容器编排的技术docker-compose,但是docker-compose只能管理一台主机上的容器,而对于k8s来讲可以管理多主机上的容器。

二、应用部署方式的转变

2.1.传统部署(资源不隔离):

优点:简单,不需要其它技术的参与

缺点:不能为应用程序定义资源使用边界,很难合理地分配计算资源,而且程序之间容易产生影响,当某一进程用户访问量大就会造成服务器资源分配不均,争抢资源。

2.2.虚拟化部署(在一台物理机上运行多个虚拟机,虚拟化过重):

优点:程序环境不会相互产生影响,提供了一定程度的安全性

缺点:增加了操作系统,浪费了部分资源

2.3.容器化部署(与虚拟化类似,但是共享了操作系统):

优点:可以保证每个容器拥有自己的文件系统、CPU、内存、进程空间等,运行应用程序所需要的资源都被容器包装,并和底层基础架构解耦。

 三、k8s的特点

(1)自我修复:一旦某一个容器崩溃,能够在1秒中左右迅速启动新的容器
(2)弹性伸缩:可以根据需要,自动对集群中正在运行的容器数量进行调整
(3)服务发现:服务可以通过自动发现的形式找到它所依赖的服务
(4)负载均衡:如果一个服务启动了多个容器,能够自动实现请求的负载均衡
(5)版本回退:如果发现新发布的程序版本有问题,可以立即回退到原来的版本
(6)存储编排:可以根据容器自身的需求自动创建存储卷

四、容器管理架构升级

4.1.Borg架构

4.2.kubernet 架构

五、K8S架构解读

5.1.master节点:集群的控制平面,负责集群的决策 ( 管理 )

 (1) ApiServer : 资源操作的唯一入口,接收用户输入的命令,提供认证、授权、API注册和发现等机制。

  (2)Scheduler : 负责集群资源调度,按照预定的调度策略将Pod调度到相应的node节点上。

  (3)ControllerManager : 负责维护集群的状态,比如程序部署安排、故障检测、自动扩展、滚动更新等。

(4)Etcd :负责存储集群中各种资源对象的信息。

5.2.node节点:集群的数据平面,负责为容器提供运行环境 ( 干活 )

(1)Kubelet : 负责维护容器的生命周期,存储、网络。

(2)KubeProxy : 负责提供集群内部的服务发现和负载均衡。

(3)Docker : 负责节点上容器的各种操作,作为容器的运行时环境。

(4)Pod:一个节点上可以部署多个Pod,一个Pod可以部署多个容器。

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

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

相关文章

SystemServer 进程启动过程

首语 SystemServer进程主要用于启动系统服务,诸如AMS、WMS、PMS都是由它来创建的。在系统的名称为"system_server",Android核心服务都是它启动,它是非常重要。 Zygote处理SystemServer进程 在 Zygote启动过程 文章中分析我们知道…

LeetCode算法练习:双指针计算三数之和和四数之和

通过双指针将时间复杂度降一个级别。 public class TOP {//15. 三数之和public List<List<Integer>> threeSum(int[] nums) {List<List<Integer>> res new ArrayList<>();int n nums.length;if (n < 3) {return res;}Arrays.sort(nums);//…

2023/12/12作业

思维导图 作业&#xff1a; 成果图 代码 #include "widget.h" #include "ui_widget.h" Widget::Widget(QWidget *parent) : QWidget(parent) , ui(new Ui::Widget) { speechernew QTextToSpeech(this); ui->setupUi(this); //一直获取当前时间 idst…

SQL server创建联合索引

CREATE INDEX idx_dim_product_dt_ord ON [dim_product] (dt, ord); 在SQL Server中计算月同比和季度同步的SQL查询可能看起来像这样&#xff1a; ### 月度同比 月度同比是与前一年同一月份的数据进行比较。以下是一个基本的例子&#xff0c;假设我们有一个名为sales的表&…

1843_emacs中两个插件use-package以及org-bullets的使用

Grey 1843_emacs中两个插件use-package以及org-bullets的使用 全部学习汇总&#xff1a; GitHub - GreyZhang/editors_skills: Summary for some common editor skills I used. 我个人的emacs的配置以及两个插件的使用由来 我自己现在也开始维护一个我自己的emacs配置&…

剑指offer(C++)-JZ49:丑数(算法-其他)

作者&#xff1a;翟天保Steven 版权声明&#xff1a;著作权归作者所有&#xff0c;商业转载请联系作者获得授权&#xff0c;非商业转载请注明出处 题目描述&#xff1a; 把只包含质因子2、3和5的数称作丑数&#xff08;Ugly Number&#xff09;。例如6、8都是丑数&#xff0c;…

深入理解Golang中的goroutine 池

并发性是 Golang 的一项强大功能,它允许开发人员同时有效地管理多个任务。工作线程池的实现是并发的最常见用例之一。在本文中,我们将了解 Golang 中工作线程池的概念,讨论它们的好处,并引导您完成在下一个 Go 项目中实现工作线程池的过程。 什么是工作线程池? 工作线程…

【数据库】基于有效性确认的并发访问控制原理及调度流程,乐观无锁模式,冲突较少下的最优模型

使用有效性确认的并发控制 ​专栏内容&#xff1a; 手写数据库toadb 本专栏主要介绍如何从零开发&#xff0c;开发的步骤&#xff0c;以及开发过程中的涉及的原理&#xff0c;遇到的问题等&#xff0c;让大家能跟上并且可以一起开发&#xff0c;让每个需要的人成为参与者。 本专…

物流供应链数字化转型:国内领先服务商技术综合解析

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

TCP/IP详解——IP协议,IP选路

文章目录 1. IP 编址1.1 IP 报文头部1.2 进制之间的转换1.3 网络通信1.4 有类 IP 编制的缺陷1.5 变长子网掩码1.6 网关1.7 IP 包分片1.7.1 IP 包分片实例1.7.2 IP 分片注意事项1.7.3 Wireshark 抓取 IP 包分片1.7.4 OmniPeek 抓取 IP 包分片1.7.5 ICMP 不可达差错&#xff08;需…

【词云图】从excel和从txt文件,绘制以句子、词为单位的词云图

从excel和从txt文件&#xff0c;绘制以句子、词为单位的词云图 写在最前面数据说明&结论 从txt文件&#xff0c;绘制以句子、词为单位的词云图自我介绍 从excel&#xff0c;绘制以句子、词为单位的词云图读取excel绘制以句子、词为单位的词云图文章标题 写在最前面 经常绘…

GEE机器学习——利用梯度决策树Gradient Tree Boost 方法(GBDT/GBRT)进行土地分类和精度测试

Gradient Tree Boost 方法的具体介绍 梯度提升树(Gradient Tree Boost)是一种集成学习方法,通过串行训练多个决策树来解决回归和分类问题。它通过迭代的方式不断优化模型预测结果,使得每一棵树能够纠正前一棵树的预测误差。 Gradient Tree Boost方法的具体步骤如下: 1. …

小程序时代的机遇:开发成功的知识付费平台

知识付费平台不仅为知识创作者提供了广阔的变现渠道&#xff0c;同时也为用户提供了更为个性化、精准的学习体验。本篇文章&#xff0c;小编将为大家讲解知识付费小程序开发相关的知识。 一、小程序时代的背景 知识付费作为小程序领域中的“大热门”&#xff0c;有着非常高的…

WT2605C-32N语音芯片:跑步机音乐新搭档,畅享健康奔跑旋律

在现代健身领域&#xff0c;唯创知音的WT2605C-32N蓝牙音频MP3音乐解码语音芯片IC作为音乐解码的新搭档&#xff0c;为跑步机带来了更为智能、富有音乐节奏的健康奔跑体验&#xff0c;引领跑步健身的新时代。 1. 蓝牙连接&#xff0c;自由音乐选择 跑步机启动时&#xff0c;W…

【java】Optional操作

参考&#xff1a; 【Java8】 Optional 详解java Optional操作 1、简介 Optional类是Java8为了解决null值判断问题&#xff0c;借鉴google guava类库的Optional类而引入的一个同名Optional类&#xff0c;使用Optional类可以避免显式的null值判断&#xff08;null的防御性检查…

一个最小的物联网系统设计方案及源码(一)——系统组成

关于物联网 物联网&#xff08;Internet of Things&#xff0c;缩写IOT&#xff09;是一个基于互联网、传统电信网等信息承载体&#xff0c;让所有能够被独立寻址的普通物理对象实现互联互通的网络。 物联网一般为无线网&#xff0c;由于每个人周围的设备可以达到一千至五千个&…

【unity】【WebRTC】从0开始创建一个Unity远程媒体流app-设置输入设备

【项目源码】 包括本篇需要的脚本都打包在项目源码中,可以通过下面链接下载: 【背景】 目前我们能投射到远端浏览器(或者任何其它Peer)的媒体流只有默认的MainCamera画面,其实我们还可以通过配置输入来传输操作输入信息,比如键鼠等。 【追加input processing组件】 …

React-hook-form-mui (一):基本使用

前言 在项目开发中&#xff0c;我们选择了ReactMUI作为技术栈。在使用MUI构建form表单时&#xff0c;我们发现并没有与antd类似的表单验证功能&#xff0c;于是我们选择了MUI推荐使用的react-hook-form-mui库去进行验证。但是发现网上关于这个库的使用方法和demo比较少且比较简…

【LinkedList】常用方法大全

1、添加元素&#xff1a; push、offerFirst都调用了addFirst函数&#xff0c;只不过push和addFirst一样没有返回值&#xff0c;offer会返回true&#xff1b;add背后通过linkLast(e)源码实现且有返回值 具体方法实现备注addpublic boolean add(E e) {linkLast(e); return true;}…

GEE:使用网格搜索法(Grid Search)求机器学习的最优参数或者参数组合

作者:CSDN @ _养乐多_ 本文记录了在 Google Earth Engine(GEE)平台中,计算机器学习分类算法最优参数的代码,其中包括单一参数的最优和不同参数组合的最优。使用的最优参数计算方法是网格搜索法(Grid Search),GEE 平台上并没有现成的网格搜索法 API,因此,本文在 GEE …