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程序

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

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

相关文章

【第2章 Docker容器基础入门】 课程介绍 + docker容器介绍

一、课程介绍 1.1、容器运行时 1.2、官网 1.3、私有镜像 二、什么是 Docker ? 2.1 Docker 的思想来自于集装箱,集装箱解决了什么问题? 2.2 、K8S 1.25版本之后可能废弃docker,为什么还需要学习docker? 一、课程介…

“具有分布式能源资源的多个智能家庭的能源管理的联邦强化学习”文章学习一

一、摘要 本文提出了一种新型的联邦强化学习(FRL)方法,用于管理带有家电、太阳能光伏系统和储能系统的多个智能家庭的能源。 所提出的FRL方法的创新点在于开发了一种由本地家庭能源管理系统(LHEMS)和全局服务器(GS)组成的分布式深度强化学习(…

飞书开发学习笔记(六)-网页应用免登

飞书开发学习笔记(六)-网页应用免登 一.上一例的问题修正 在上一例中,飞书登录查看网页的界面显示是有误的,看了代码,理论上登录成功之后,应该显示用户名等信息。 最后的res.nickName是用户名,res.i18nName.en_us是英…

嵌入式养成计划-54----ARM--异常处理流程

一百三十五、异常处理流程 135.1 arm处理器工作模式 135.2 异常源和异常模式关系 135.2.1 异常源 异常源就是引发处理器进入相应异常模式 135.2.2 对应关系 异常模式异常源FIQ模式FIQ类型异常源引发处理器进入FIQ模式IRQ模式IRQ类型异常源引发处理器进入IRQ模式SVC模式上电…

工具及方法 - 手机扫条码工具: SCANDIT APP

一般扫个链接使用微信扫一扫即可。扫具体条码,可以在微信里搜索小程序,打开也能扫,得到条码内容。 还有其他方式,比如使用淘宝、百度等APP也可以直接扫码条码,还能得到更多的信息。 使用百度的话,不扫条码…

3D造型渲染软件DAZ Studio mac中文版介绍

DAZ Studio mac是一款3D造型和渲染软件,由 Daz 3D 公司开发。它允许用户创建、编辑、动画化并渲染精美的数字图像与动画。DAZ Studio 还提供了一个虚拟的3D艺术家工作室环境,让用户可以轻松地设置场景、布置角色和应用材质。 用户可以通过 DAZ Studio 中…

图像实时采集系统

本方案主要在于解决图像实时采集系统对算法校正的仿真实验,以及采集卡接收电路的验证。 由于图像实时跟踪处理系统需要大量的外场景实验,大部分时候只能通过采集的现场图像以在电脑软件中读取图片的形式来进行验证算法,而无法通过采集卡对接…

《网络协议》05. 网络通信安全 · 密码技术

title: 《网络协议》05. 网络通信安全 密码技术 date: 2022-09-10 15:16:15 updated: 2023-11-12 07:03:52 categories: 学习记录:网络协议 excerpt: 网络通信安全(ARP 欺骗,DoS & DDoS,SYN 洪水攻击,LAND 攻击&a…

基于flask+bootstrap4实现的注重创作的轻博客系统项目源码

一个注重创作的轻博客系统 作为一名技术人员一定要有自己的博客,用来记录平时技术上遇到的问题,把技术分享出去就像滚雪球一样会越來越大,于是我在何三博客的基础上开发了[l4blog],一个使用python开发的轻量博客系统,…

github镜像访问方法

https://ghproxy.com/ (GitHub 文件 , Releases , archive , gist , raw.githubusercontent.com 文件代理加速下载服务) https://mirror.ghproxy.com/ 在这个网址后面直接加上github的网址,如: https://mirror.ghproxy.com/htt…

ZYNQ实验--Petalinux--Linux C 编程入门

Linux C 编程入门 在 Windows 下我们可以使用各种各样的 IDE 进行编程,比如强大的 Visual Studio。Ubuntu 下也有一些可以进行编程的工具,但是大多都只是编辑器,也就是只能进行代码编辑,如果要编译的话就需要用到 GCC 编译器&…

Protobuf 语法

Protobuf语法 1.1.1. 基本规范 文件以.proto做为文件后缀,除结构定义外的语句以分号结尾 结构定义可以包含:message、service、enum rpc方法定义结尾的分号可有可无 Message命名采用驼峰命名方式,字段命名采用小写字母加下划线分隔方式 …