k8s_base
应用程序在服务器上部署方式的演变,互联网发展到现在为止 应用程序在服务器上部署方式 历经了3个时代

1. 传统部署 优点简单 缺点就是操作系统的资源是有限制的,比如说操作系统的磁盘,内存
比如说我8G,部署了3个应用程序,当有一天有一个发生内存泄露,就开始吃内存,另外2个占内存就会变小
可能由于第一个程序产生的问题,导致最后2个也不能使用 他们之间有影响怎么解决 虚拟化部署
我可以在一台物理机上运行多个虚拟机,每一个虚拟机上都有自己的操作系统,这样就解决了应用程序之间的影响
比如说我第一个app部署在第一个虚拟上, 第二个app 部署在第二个虚拟机上,这样的话 我第一个app 就不会影响到了第二个app上
缺点就是我物理机本身就有一个操作系统,你虚拟化之后又有一个操作系统

这些操作系统本身也是要占用一些资源的,而且每个操作系统都有自己的类库,比如说我想部署一个nginx,我的在搞一个操作系统来 在上面跑nginx 你这个操作系统会比nginx还要笨重
进一步优化就是容器化部署,共享了操作系统,他没有了虚拟化,这些程序跑在容器上 没有操作系统了,
处于容器中的程序 他所需要的外界环境是独立的(cpu 内存 进程)
如果在容器中部署一个程序 程序所需要的资源都是由容器提供的,而不是由底层的操作系统提供的

我们的应用程序在服务器上部署方式经过3个时代的演变,最后就是容器化部署
容器化部署遇到的问题
1. 比如说我容器因为宕机了 ,我怎么让另外一个容器去启动做替补
2. 并发大的化 我怎么能做到动态伸缩容
这些都是容器编排的问题 为了解决容器编排的问题 就会有一些容器编排的软件

k8s是一组服务器的集群,他的作用
3. 自我修复 比如说我部署了5个nginx, 有一个nginx 挂了 他就会重新启动nginx,做到自我修复
4. 弹性伸缩 基于流量做到扩缩容
5. 服务发现 比如说 我nginx可以找到mysql
6. 负载均衡 可以分担流量
7. 版本回退 金丝雀发布 比如说新版本有问题了, 我可以回退到老版本上
8. 可以根据容器的自身需求创建存储卷 mysql 的数据可以挂在到外面 我只需要告诉k8s 要多少内存 就可以了

k8s 的本质是服务器的集群
K8s 集群 控制节点和工作节点(每个节点都有不同的组件)
master 控制节点 管理 负责集群的决策管理
node 工作节点 干活的 负责为容器提供运行环境

master节点中
apiService 唯一入口 用户对集群的管理操作都是由apiService 做的,我们可以在apiService做一些访问级别的控制
比如说鉴权Scheduler:负责集群中资源的调度 比如说我想运行一个nginx 服务 我就得从ApiService发请求,
具体的nginx 在那个Node节点工作,就得决策一下,计算下,根据一定的算法来把这个nginx 放在那个node上Controller manager 负责执行的 一个ngixn 请求发送到apiService,Scheduler负责计算,此时这个nginx应该运行在node1节点上,然后Controller manager 负责执行
Etcd 负责存储集群中各种资源对象信息,对于master来说 作为控制来讲 这个服务跑在node1 我的知道是在哪里
这些信息全部就记录在etcd中Node 是真正干活的节点
工作节点上kubectl 控制docker 创建更新Kubectl 接受master的节点 负责接受控制节点的信息kubectl 控制docker 吧nignx 跑起来,docker中具体跑的是容器
nginx跑起来 提供对外访问,通过 Kubeproxy 访问
Master节点和node节点各个组件的作用说完毕了

部署一个nginx 来说下 k8s中部署的调用关系 master是负责派活的 node是负责接活的
信息存储在etcd中, Scheduler来计算一下这个请求在node1上执行还是node2上执行k8s 的集群部署

一主多从中 单机故障风险 节点就是服务器 有可能宕机 比如说master所在的节点down. 整个集群就没有master节点了 整个集群就没有办法工作了 单机故障
由一台服务器引发的整个 集群的故障 只能适用于测试的情况
多诸多从 安全性比较高因为有多个master节点 搭建起来麻烦我们此时是这样部署的 1 master2 node 因为我们是测试
部署必然讲集群规划
、
k8s中各个节点是无法通信的 他的网络没有安装安装网络插件的安装 他还需要安装网络插件

验证这个集群能不能用 我们就让他跑一个nginx程序

到目前为止我们已经完成一个k8s的集群环境搭建 环境搭建之后跑一个nginx程序
相关文章:
k8s_base
应用程序在服务器上部署方式的演变,互联网发展到现在为止 应用程序在服务器上部署方式 历经了3个时代1. 传统部署 优点简单 缺点就是操作系统的资源是有限制的,比如说操作系统的磁盘,内存 比如说我8G,部署了3个应用程序,当有一天…...
2023年亚太杯APMCM数学建模大赛数据分析题MySQL的使用
2023年亚太杯APMCM数学建模大赛 以2022年C题全球变暖数据为例 数据分析: 以2022年亚太杯数学建模C题为例,首先在navicat建数据库然后右键“表”,单击“导入向导”,选择对应的数据格式及字符集进行数据导入 导入之后,…...
自学SLAM(8)《第四讲:相机模型与非线性优化》作业
前言 小编研究生的研究方向是视觉SLAM,目前在自学,本篇文章为初学高翔老师课的第四次作业。 文章目录 前言1.图像去畸变2.双目视差的使用3.矩阵微分4.高斯牛顿法的曲线拟合实验 1.图像去畸变 现实⽣活中的图像总存在畸变。原则上来说,针孔透…...
STL—next_permutation函数
目录 1.next_permutation函数的定义 2.简单使用 2.1普通数组全排列 2.2结构体全排列 2.3string 3.补充 1.next_permutation函数的定义 next_permutation函数会按照字母表顺序生成给定序列的下一个较大的排列,直到整个序列为降序为止。与其相对的还有一个函数—…...
Mysql 三种不使用索引的情况
目录 1. 查询语句中使用LIKE关键字 例 1 2. 查询语句中使用多列索引 例 2 3. 查询语句中使用OR关键字 例 3 总结 索引可以提高查询的速度,但并不是使用带有索引的字段查询时,索引都会起作用。使用索引有几种特殊情况,在这些情况下&…...
Ladybug 全景相机, 360°球形成像,带来全方位的视觉体验
360无死角全景照片总能给人带来强烈的视觉震撼,有着大片的既视感。那怎么才能拍出360球形照片呢?它的拍摄原理是通过图片某个点位为中心将图片其他部位螺旋式、旋转式处理,从而达到沉浸式体验的效果。俗话说“工欲善其事,必先利其…...
centos 6.10 安装swig 4.0.2
下载地址 解压文件。 执行下面命令 cd swig-4.0.2 ./configure --prefix/usr/local/swig-4.0.2 make && make install...
mask: rle, polygon
RLE 编码 RLE(Run-Length Encoding)是一种简单而有效的无损数据压缩和编码方法。它的基本思想是将连续相同的数据值序列用一个值和其连续出现的次数来表示,从而减少数据的存储或传输量。 在图像分割领域(如 COCO 数据集中&#…...
【JMeter】JMeter压测过程中遇到Non HTTP response code错误解决方案
压测过程中并发逐步加大后遇到60%的错误率,查看错误是JMeter网页版聚合报告中显示 Non HTTP response code: java.net.NoRouteToHostException/Non HTTP response message: Cannot assign requested address (Address not available) 这是第二次遇到,故…...
【Kingbase FlySync】评估工具安装及使用
【Kingbase FlySync】评估工具使用 概述准备环境目标资源1.测试虚拟机下载地址包含node1,node22.评估工具下载地址3.exam.sql下载地址 评估工具安装1.上传并解压评估工具安装包2.安装数据库驱动包3.设置环境变量4.node1载入样例信息 收集并阅读node1信息1.收集报告2.阅读报告 收…...
pandas教程:Data Aggregation 数据聚合
文章目录 10.2 Data Aggregation(数据聚合)1 Column-Wise and Multiple Function Application(列对列和多函数应用)2 Returning Aggregated Data Without Row Indexes(不使用行索引返回聚合数据) 10.2 Data…...
开启创造力之门:掌握Vue中Slot插槽的使用技巧与灵感
🎬 江城开朗的豌豆:个人主页 🔥 个人专栏 :《 VUE 》 《 javaScript 》 📝 个人网站 :《 江城开朗的豌豆🫛 》 ⛺️ 生活的理想,就是为了理想的生活 ! 目录 ⭐ 专栏简介 📘 文章引言 一、s…...
【算法练习Day48】回文子串最长回文子序列
📝个人主页:Sherry的成长之路 🏠学习社区:Sherry的成长之路(个人社区) 📖专栏链接:练题 🎯长路漫漫浩浩,万事皆有期待 文章目录 回文子串最长回文子序列总结…...
ubuntu下C++调用matplotlibcpp进行画图(超详细)
目录 一、换源 二、安装必要的软件 三、下载matplotlibcpp 四、下载anaconda 1.anaconda下载 2.使用anaconda配置环境 五、下载CLion 1.下载解压CLion 2.替换jbr文件夹 3.安装CLion 4.激活CLion 5.CLion汉化 6.Clion配置 六、使用CLion运行 七、总结 我的环…...
芯科科技推出新的8位MCU系列产品,扩展其强大的MCU平台
新的BB5系列为简单应用提供更多开发选择 中国,北京 - 2023年11月14日 – 致力于以安全、智能无线连接技术,建立更互联世界的全球领导厂商Silicon Labs(亦称“芯科科技”,NASDAQ:SLAB),今日宣布…...
Flink CDC
1、Flink CDC的介绍: 是一种技术,可以帮助我们实时的捕获数据库中数据的变化,并将这些变化的数据以流的形式传输到其他的系统中进行处理和存储。 2、Flink CDC的搭建: 1、开启mysql的binlog功能: # 1、修改mysql配置…...
数据结构-链表的简单操作代码实现3-LinkedList【Java版】
写在前: 本篇博客主要介绍关于双向链表的一些简答操作实现,其中有有部分代码的实现和前两篇博客中的单向链表是相类似的。例如:查找链表中是否包含关键字key、求链表的长度等。 其余的涉及到prev指向的需要特别注意,区分和单向链表之间的差异…...
JTS: 24 MinimumDiameter 最小矩形
文章目录 版本代码 版本 org.locationtech.jts:jts-core:1.19.0 链接: github 代码 package pers.stu.algorithm;import org.locationtech.jts.algorithm.MinimumDiameter; import org.locationtech.jts.geom.Coordinate; import org.locationtech.jts.geom.Geometry; import…...
MacOS Ventura 13 优化配置(ARM架构新手向导)
一、系统配置 1、About My MacBook Pro 2、在当前标签打开新窗口 桌面上创建目录的文件夹,每次新打开一个目录,就会创建一个窗口,这就造成窗口太多,不太好查看和管理,我们可以改成在新标签处打开新目录。需要在&…...
多区域OSPF配置
配置命令步骤: 1.使用router ospf 进程ID编号 启用OSPF路由 2.使用network 直连网络地址 反掩码 area 区域号 将其归于对应区域 注意: 1.进程ID编号可任意(1-65535) 2.反掩码用4个255相减得到 3.area 0 为主干区域 4.连接不…...
剑指offer-74、n个骰⼦的点数
在技术领域,我们常常被那些闪耀的、可见的成果所吸引。今天,这个焦点无疑是大语言模型技术。它们的流畅对话、惊人的创造力,让我们得以一窥未来的轮廓。然而,作为在企业一线构建、部署和维护复杂系统的实践者,我们深知…...
3个核心优势让研究者实现智能OCR全场景覆盖:Pix2Text开源替代方案详解
3个核心优势让研究者实现智能OCR全场景覆盖:Pix2Text开源替代方案详解 【免费下载链接】Pix2Text Pix In, Latex & Text Out. Recognize Chinese, English Texts, and Math Formulas from Images. 项目地址: https://gitcode.com/gh_mirrors/pi/Pix2Text …...
intv_ai_mk11开源模型教程:7B Llama架构对话机器人在GPU云上的安全沙箱实践
intv_ai_mk11开源模型教程:7B Llama架构对话机器人在GPU云上的安全沙箱实践 1. 什么是intv_ai_mk11对话机器人 intv_ai_mk11是一个基于7B参数Llama架构的AI对话助手,专门设计运行在GPU云服务器环境中。这个模型经过优化,能够在保持较高响应…...
告别底噪和电流声:DIY蓝牙音箱的音频电路避坑指南(从TPA2019布线到电源滤波)
蓝牙音箱DIY进阶指南:从电路设计到音质优化的全流程解析 在电子DIY领域,蓝牙音箱制作看似简单,但要实现专业级的音质表现却需要跨越诸多技术门槛。许多爱好者完成基础组装后,常会遇到底噪明显、高频失真或低频浑浊等问题——这往往…...
嵌入式 - shell 常用语法简单总结
初步使用#!bin/bashecho "Hello world!"echo# shellvim helloworld.shchmod ux helloworld.sh# 在当前bash运行. helloworld.shsource helloworld.sh# 在子bash中运行,无法修改当前shell的变量./helloworld.shLinux中工具链的配置 ~/.bashrc用于定义当前…...
工业以太网双雄:从协议原理到选型落地,EtherCAT与PROFINET实战解析
1. 工业以太网的双雄之争:为什么选型这么难? 第一次接触工业以太网协议选型时,我盯着EtherCAT和PROFINET的参数表发呆了整整一上午。就像面对两个各有所长的武林高手,一个轻功了得,一个内力深厚,实在难以抉…...
写段代码教会你什么是HOOK技术?HOOK技术能干什么?
起因是我想在搞一些操作windows进程的事情时,老是需要右键以管理员身份运行,感觉很麻烦。就研究了一下怎么提权,顺手瞄了一眼Windows下用户态权限分配,然后也是感谢《深入解析Windows操作系统》这本书给我偷令牌的灵感吧ÿ…...
别再手动改请求头了!用BurpSuite插件5分钟搞定自动化添加(附完整Java代码)
解放双手:用BurpSuite插件实现HTTP请求头自动化管理 每次安全测试时,你是否也厌倦了反复点击"拦截"按钮、手动添加X-Debug-Header或修改User-Agent?作为一名长期与BurpSuite打交道的安全工程师,我深知这种重复性操作不仅…...
雪花算法替代MurmurHash后的提升(短链接项目中的唯一性设计)
短链接服务的核心功能,是将一个长网址(比如几百个字符的 URL)转换成一个短码,用户访问短码时,服务端会将其重定向回原始的长链接。 考虑到快速生成(防止高并发下,性能变差)和长变短的…...
告别重复编码:用快马ai自动生成c语言基础工具模块提升效率
告别重复编码:用快马AI自动生成C语言基础工具模块提升效率 在C语言开发中,我们经常需要重复编写一些基础工具模块,比如安全的字符串输入、动态数组管理、日志记录等功能。这些代码虽然不复杂,但每次都从头开始写确实很浪费时间。…...
