当前位置: 首页 > news >正文

云原生实战课大纲

1. 云原生是什么 原生应用(java,pyrhon) 上云的过程应用上云遇到的问题1.微服务的拆分  微服务的访问关系应用的架构云原生适合什么样的人去学具备什么样的前提条件云原生要学习什么docker  k8s  devlops  server mesh  jks  k8s监控吧自己的微服务部署上云另外一种微服务架构  server mesh监控k8s平台  比如说告警日志信息

在这里插入图片描述

#拉取镜像
docker pull nginx 
#查看镜像
docker images 

在这里插入图片描述
在这里插入图片描述

docker rmi  删除镜像 基于镜像做的crud
下载镜像后,让镜像启动起来
启动容器  docker run 启动容器
docker ps 查看正在运行的容器
docker  stop  停止应用

在这里插入图片描述
在这里插入图片描述

--restart=always  容器开启自启动  -p端口映射

在这里插入图片描述

 docker ps 就可以查看状态 完成nginx的启动

在这里插入图片描述

我现在启动一个nginx 应用并且可以访问到
接下来 如果我想修改nginx的内容该怎么做
修改nginx的页面1. exec 进入容器 进行修改2. -v挂载出来

在这里插入图片描述

echo

在这里插入图片描述

 我此时再来访问nginx 的时候首页就会发生变化  我修改完毕之后 我把我修改过后的nginx 提交至本地改名为 guigu的的 v1版本
我可以指定一个镜像之后 docker commit 保存在本地

在这里插入图片描述
在这里插入图片描述

相当于linux 的快照 
git的本地commit 
假设我有一天我容器宕机了 我直接rm删除  然后再启动shangguigu 的v1版本
相当于此时生成一个快照机制  此时我基于本地构建一个docker的镜像
我就用我之前的nginx 镜像 我相当于对nginx 镜像做了一个定制化

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

相当于在本地构建一个镜像,我修改了原来的镜像可以commit 提交至本地镜像的共享  >1  save load我可以把我的镜像通过docker save 命令保存为tar 包
然后 scp (文件传输)进行复制到另外一个主机上  之后 docker load执行
docker load 之后  docker run 执行
这种适合于离线场景 比如说我此时不便于对接公网

在这里插入图片描述
在这里插入图片描述

>我可以把我的镜像进行推送 比如说推送到docker hub仓库  docker push
>共享dockerhub  规避了底层的复杂度
也就是说我不必知道你是怎么改的 我只需要 docker run 启动起来就可以了

在这里插入图片描述

我们能登录到仓库的话 我们就需要 docke push  将我们的镜像push到远程

在这里插入图片描述

docker -v 挂载
docker -v  将配置文件 以及数据文件挂载到外面
我们以前改nginx 的内容,需要docker exec 进入之后进行修改
每次都要进去改 有些麻烦 
将容器中的文件 挂载出来
ro 是只读模式  代表容器内部的文件是不允许修改的 是只读模式

在这里插入图片描述

docker ps   -v 将nginx中的配置文件挂载出来

在这里插入图片描述

保证主机目录下有页面index.html
包括nginx 的配置文件 也可以挂载出来   卷挂载
docker 命令 有了挂载之后 修改东西就很方便了
docker logs   可以看到这个容器的运行日志(启动日志)  我们可以排错用

在这里插入图片描述

 nginx 的页面挂载出来  还有nginx的config 也挂载出来

在这里插入图片描述

docker cp 可以把容器的文件复制到本机  复制出来

在这里插入图片描述

然后docker -v 再进行挂载

在这里插入图片描述

 反向写 可以把容器外面复制到我docker容器中
docker 命令
如果我们要安装nginx 并且修改 之后上传至docker hub
docker search 
docker pull 
ducker run 
docker commit  {将本地修改后的 打包成一个镜像}
docker tag  {按照远程仓库的命名规则}
docker push ----------------<<<<<<<<<<<<,,
docker search 
docker pull 
ducker run 
docker commit  {将本地修改后的 打包成一个镜像}
docker save 
docker load 
我们java+redis 使用docker怎么部署
我们Springboot项目+redis 部署在docker中
1.  使用docker 部署redis
启动redis
docker run redis  先用docker 部署redis  先部署redis  redis的配置文件和数据文件
可以docke -v 挂载出去
docker run redis -v挂载, 启动redis 让redis产生数据之后
部署redis结束
2.
springboot项目 redis的incr命令

在这里插入图片描述

springboot+redis 应用 基于dockerfile文件打包为镜像,部署在docker上运行
以前如果没有docker上 我们的SpringBoot项目是怎么部署在服务器上的
我们的项目通过maven打包成jar包,然后上传至服务器之后 java -jar执行

在这里插入图片描述

我服务器还要装java 环境  如果有新的服务器我还得搞java 环境
如果我是python应用的化,我还得安装python环境
如果我是一个前端应用的化,我还得安装前端

在这里插入图片描述

我可以把我服务器装docker,我任何应用都是以docker的镜像运行的
这样屏蔽了底层
我不管是运行 前端。java应用,python应用我都可以
docker run 来运行镜像就可以了基于docker的方式将jar包打包成镜像

在这里插入图片描述

docker file 执行怎么打包,每一个应用都要有一个dockerFile文件 ,编写dockerFile文件

在这里插入图片描述

jar包以及dockerfile文件   依照jar--->构建镜像
docker build -t .
jar 如果在服务器上运行 还得装java环境  太麻烦了
有了dockerFile  怎么吧jar 制作成镜像 

在这里插入图片描述

docker build -t 构建镜像 基于 java项目(dockerFile文件) 构建镜像
然后我们docker images 就可以看到我们构建的镜像了

在这里插入图片描述

315mb  因为jdk 既有288mb
docker run 构建镜像

在这里插入图片描述

docker ps 查看进程
docker logs我们启动以及排错日志

在这里插入图片描述

我们之前自己把我们的镜像打包在我们的机器上了
如果我新的机器想要跑我们的应用  我可以吧这个镜像第一步推送到我镜像仓库
docker tag 
docker push 
吧我们的新镜像推送上去

在这里插入图片描述

k8s  
1。什么是k8s 他的出现是为了解决什么问题的 
2.应用完成开发后想要部署的三个时期3.我们k8s能帮助我们实现什么  k8s 的功能k8s 架构
master node
worker node(1)
worker node(2) 
工作模式

在这里插入图片描述
在这里插入图片描述

k8s的架构,以及k8s中每个节点 是干嘛的 各个组件的作用

在这里插入图片描述
在这里插入图片描述

k8s 是怎么工作的  以及k8s架构
都是基于apiService 访问呢
apiService 进行隐藏
将我们的项目部署在k8s上,可以部署多个节点. 以达到高负载

在这里插入图片描述

安装k8s
kubeadm  init 
kubeadm  join 
主节点中的 工作进程
工作节点中的 工作进程
k8s的集群规划
################
docker  容器的运行环境
docker安装完毕后 让每一台机器都 启动docker
k8s 安装集群的第一步  docker(容器运行环境)设置hostname
k8s-master_(主机)
k8s-node1_(节点1)
k8s-node2_(节点2)k8s 查看内存 

在这里插入图片描述

建立1个node 2个work的集群.可以在集群中加入主节点和work节点
kubectl get nodes //获取节点

在这里插入图片描述

pod 是k8s中的最小单元  
kubectl  get  pods  -A  //查看k8s中部署的Pod

在这里插入图片描述

运行中的应用在docker中叫容器, 在k8s中叫做pod
docker ps  kubectl get pods  ..可以看到我正在运行的容器
kubectl  get pods- A 可以看到我集群中的每一个应用的名字
k8s 拉的pod 如果挂了 会自动拉的  重新部署1. 基于kubectl -f  执行文件 
2. kubectl create 执行命令

在这里插入图片描述

namespace 做资源隔离的 类似于nacos 是做资源隔离的
prod 的namespace  //生产
dev  的namespace  //dev

在这里插入图片描述

基于名称空间ns 创建资源 pod, 基于ns 下对pod 的crud
docker ps 查看应用
kubectl get pods 

在这里插入图片描述
在这里插入图片描述

pod是k8s中最小的运行单位,k8s 启动pod就可以,pod可以启动多个容器,一个pod中可以有多个容器

在这里插入图片描述

kubectl run mynginx --image=nginx 
// 我启动了一个nginx 的pod
给pod 起一个名字  依据于nginx的镜像启动pod

在这里插入图片描述

pod  启动容器 pod 底层是依靠于 docker拉取的可以基于kubectl describe pod mynginx 来查看pod的信息 以及pod的调度

在这里插入图片描述

 可以查看调度到那个机子上

在这里插入图片描述

我们使用了一个命令创建了k8s 的一个pod
查看pod 
kubectl get pod 

在这里插入图片描述

k8s 描述pod  kubectl describe pod //描述pod的信息
pod 在前面创建好了  kubectl  delete pod //删除pod

在这里插入图片描述

kubectl  describe pod 描述pod

在这里插入图片描述

我们基于配置文件创建的pod

在这里插入图片描述

pod 的命令  

在这里插入图片描述

我们使用docker 部署的nignx 我们更改他的首页 还可以访问
我们现在用k8s 的pod 部署的nginx 怎么访问  
pod 是有ip的

在这里插入图片描述

pod 就可以访问我们nignx的首页 因为默认是 80的port,我们基于docker 部署的nignx 我们可以exec it 进入容器中去改.现在我们可以

在这里插入图片描述

相关文章:

云原生实战课大纲

1. 云原生是什么 原生应用&#xff08;java,pyrhon&#xff09; 上云的过程应用上云遇到的问题1.微服务的拆分 微服务的访问关系应用的架构云原生适合什么样的人去学具备什么样的前提条件云原生要学习什么docker k8s devlops server mesh jks k8s监控吧自己的微服务部署上…...

数据湖架构

数据湖架构介绍 数据湖&#xff08;Data Lake&#xff09;是一个存储大量结构化和非结构化数据的集中式数据存储库。 与传统的数据仓库不同&#xff0c;数据湖采用扁平化结构&#xff0c;将数据存储在原始形式下&#xff0c;不需要进行预处理或转化。这使得数据湖能够同时支持…...

Zabbix 5.0部署(centos7+server+MySQL+Apache)

环境 系统IPZABBIX版本主机名centos7192.168.231.2195.0zabbix-server 安装zabbix 我选择版本是zabbix-5.0 zabbix的官网是Zabbix :: The Enterprise-Class Open Source Network Monitoring Solution 安装Zabbix软件源 rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/…...

YOLO改进系列之注意力机制(CloAttention模型介绍)

CloAttention来自清华大学的团队提出的一篇论文CloFormer&#xff0c;作者从频域编码的角度认为现有的轻量级视觉Transformer中&#xff0c;大多数方法都只关注设计稀疏注意力&#xff0c;来有效地处理低频全局信息&#xff0c;而使用相对简单的方法处理高频局部信息。很少有方…...

openssl+AES开发实例(linux)

文章目录 一、AES介绍二、AES原理三、AES开发实例 一、AES介绍 AES&#xff08;Advanced Encryption Standard&#xff09;是一种对称密钥加密标准&#xff0c;它是一种对称加密算法&#xff0c;意味着相同的密钥用于加密和解密数据。AES 是 NIST&#xff08;美国国家标准与技…...

FreeRTOS源码阅读笔记3--queue.c

消息队列可以应用于发送不定长消息的场合&#xff0c;包括任务与任务间的消息交换&#xff0c;队列是 FreeRTOS 主要的任务间通讯方式&#xff0c;可以在任务与任务间、中断和任务间传送信息&#xff0c;发送到 队列的消息是通过拷贝方式实现的&#xff0c;这意味着队列存储…...

云原生Kubernetes系列 | 通过容器互联搭建wordpress博客系统

云原生Kubernetes系列 | 通过容器互联搭建wordpress博客系统 通过容器互联搭建一个wordpress博客系统。wordpress系统是需要连接到数据库上的,所以wordpress和mysql的镜像都是需要的。wordpress在创建过程中需要指定一些参数。创建mysql容器时需要把mysql的数据保存在宿主机本…...

java读取OPC DA数据---Utgard

java读取OPC DA数据—Utgard Utgard库已经过时&#xff0c;原作者早已删除库&#xff0c;建议使用OPC UA&#xff0c;兼容OPC DA。 下面讲解Utgard使用 C#和C都不用配置DCOM&#xff0c;直接调用函数 既然是非要用Java&#xff0c;那就别想太方便&#xff0c;需要配置DCOM(后…...

在 Android 上简单安全地登录——使用凭证管理器和密钥

我踏马很高兴地听说&#xff0c; Credential Manager的公开版本将于 11 月 1 日开始提供。Credential Manager 为 Android 带来了身份验证的未来&#xff0c;简化了用户登录应用程序和网站的方式&#xff0c;同时使其更加安全。 登录可能具有挑战性 - 密码经常使用&#xff0c…...

【Python】上市公司数据进行经典OLS回归实操

一、题目二、数据合并、清洗、描述性统计1、数据获取2、数据合并3、选择董监高薪酬作为解释变量的理论逻辑分析 三、多元回归模型的参数估计、结果展示与分析1、描述性统计分析2、剔除金融类上市公司3、对所有变量进行1%缩尾处理4、0-1标准化&#xff0c;所有解释变量5、绘制热…...

科研学习|科研软件——有序多分类Logistic回归的SPSS教程!

一、问题与数据 研究者想调查人们对“本国税收过高”的赞同程度&#xff1a;Strongly Disagree——非常不同意&#xff0c;用“0”表示&#xff1b;Disagree——不同意&#xff0c;用“1”表示&#xff1b;Agree--同意&#xff0c;用“2”表示&#xff1b;Strongly Agree--非常…...

微服务简单理解与快速搭建

分布式和微服务 含义 微服务架构 微服务架构风格是一种将一个单一应用程序开发为一组小型服务的方法&#xff0c;每个服务运行在自己的进程中&#xff0c;服务间通信采用轻量级通信机制(通常用HTTP资源API)。这些服务围绕业务能力构建并且可通过全自动部署机制独立部署。这些服…...

QColorDialog开发实例

文章目录 一、QColorDialog基本用法&#xff1a;二、QColorDialog详解三、QColorDialog接口说明静态函数成员函数 四、QColorDialog代码开发实例 QColorDialog 是 Qt 框架中用于选择颜色的对话框类。它提供了一个用户友好的界面&#xff0c;允许用户选择颜色。以下是 QColorDi…...

linux实现全局快捷键

文章目录 第一步:加载KF5GlobalAccel库第二步:代码实现2.1 定义一个QAction2.2 KGlobalAccel::self()注册快捷键3 源码地址有一个需求,就是在应用在后台运行时,用户可以通过快捷键将应用唤起。或者应用响应。 其实就是全局快捷键的功能。 这个功能利用了linux操作系统中的d…...

共享台球室小程序系统:智能化预约与管理

在当今数字化的时代&#xff0c;共享经济模式已经渗透到各个领域。其中&#xff0c;共享台球室作为一个结合了传统与现代元素的项目&#xff0c;越来越受到年轻人的喜爱。为了满足市场需求&#xff0c;我们设计了一款基于微信小程序的共享台球室预约与管理系统&#xff0c;通过…...

百度文心一言

1分钟了解一言是谁&#xff1f; 一句话介绍【文心一言】 我是百度研发的人工智能模型&#xff0c;任何人都可以通过输入【指令】和我进行互动&#xff0c;对我提出问题或要求&#xff0c;我能高效地帮助你们获取信息、知识和灵感哦 什么是指令&#xff1f;我该怎么和你互动&am…...

225.用队列实现栈(LeetCode)

思路 思路&#xff1a;用两个队列实现栈后进先出的特性 &#xff0c;两个队列为空时&#xff0c;先将数据都导向其中一个队列。 当要模拟出栈时&#xff0c;将前面的元素都导入另一个空队列&#xff0c;再将最后一个元素移出队列 实现 实现&#xff1a; 因为C语言没有库可以…...

汽车FMCW毫米波雷达信号处理流程(推荐---基础详细---清楚的讲解了雷达的过程---强烈推荐)

毫米波雷达在进行多目标检测时,TX发射一个Chirp,在不同距离下RX会接收到多个反射Chirp信号(仅以单个chirp为例)。 雷达通过接收不同物体的发射信号,并转为IF信号,利用傅里叶变换将产生一个具有不同的分离峰值的频谱,每个峰值表示在特定距离处存在物体。 请问,这种多目标…...

8.指令格式,指令的寻址方式

目录 一. 指令格式 二. 扩展操作码 三. 指令寻址 &#xff08;1&#xff09;指令寻址 &#xff08;2&#xff09;数据寻址 1.直接寻址 2.间接寻址 3.寄存器寻址 4.寄存器间接寻址 5.隐含寻址 6.立即寻址 7.基址寻址 8.变址寻址 9.相对寻址 10.堆栈寻址 一. 指令…...

k8s自定义Endpoint实现内部pod访问外部应用

自定义endpoint实现内部pod访问外部应用 endpoint除了可以暴露pod的IP和端口还可以代理到外部的ip和端口 使用场景 公司业务还还没有完成上云&#xff0c; 一部分云原生的&#xff0c;一部分是实体的 业务上云期间逐步实现上云&#xff0c;保证各个模块之间的解耦性 比如使…...

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…...

linux之kylin系统nginx的安装

一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源&#xff08;HTML/CSS/图片等&#xff09;&#xff0c;响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址&#xff0c;提高安全性 3.负载均衡服务器 支持多种策略分发流量…...

全球首个30米分辨率湿地数据集(2000—2022)

数据简介 今天我们分享的数据是全球30米分辨率湿地数据集&#xff0c;包含8种湿地亚类&#xff0c;该数据以0.5X0.5的瓦片存储&#xff0c;我们整理了所有属于中国的瓦片名称与其对应省份&#xff0c;方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...

Rust 异步编程

Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...

AI编程--插件对比分析:CodeRider、GitHub Copilot及其他

AI编程插件对比分析&#xff1a;CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展&#xff0c;AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者&#xff0c;分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...

成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战

在现代战争中&#xff0c;电磁频谱已成为继陆、海、空、天之后的 “第五维战场”&#xff0c;雷达作为电磁频谱领域的关键装备&#xff0c;其干扰与抗干扰能力的较量&#xff0c;直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器&#xff0c;凭借数字射…...

MySQL用户和授权

开放MySQL白名单 可以通过iptables-save命令确认对应客户端ip是否可以访问MySQL服务&#xff1a; test: # iptables-save | grep 3306 -A mp_srv_whitelist -s 172.16.14.102/32 -p tcp -m tcp --dport 3306 -j ACCEPT -A mp_srv_whitelist -s 172.16.4.16/32 -p tcp -m tcp -…...

Linux系统部署KES

1、安装准备 1.版本说明V008R006C009B0014 V008&#xff1a;是version产品的大版本。 R006&#xff1a;是release产品特性版本。 C009&#xff1a;是通用版 B0014&#xff1a;是build开发过程中的构建版本2.硬件要求 #安全版和企业版 内存&#xff1a;1GB 以上 硬盘&#xf…...

elementUI点击浏览table所选行数据查看文档

项目场景&#xff1a; table按照要求特定的数据变成按钮可以点击 解决方案&#xff1a; <el-table-columnprop"mlname"label"名称"align"center"width"180"><template slot-scope"scope"><el-buttonv-if&qu…...

Python 高级应用10:在python 大型项目中 FastAPI 和 Django 的相互配合

无论是python&#xff0c;或者java 的大型项目中&#xff0c;都会涉及到 自身平台微服务之间的相互调用&#xff0c;以及和第三发平台的 接口对接&#xff0c;那在python 中是怎么实现的呢&#xff1f; 在 Python Web 开发中&#xff0c;FastAPI 和 Django 是两个重要但定位不…...