云原生学习
1、云原生学习
文章目录
- 1、云原生学习
- 1. 介绍
- 2. Docker容器化
1. 介绍
- 什么是云原生?原生指使用JAVA等语言编写的项目,云是指将项目部署到云服务器上
- 云平台:公有云、私有云
- 本地平台是指直接部署在自己计算机,而开发的应用一定要部署在远程的服务器中供用户访问,从而必须使用云平台
- 云平台环境统一、按需收费、即开即用、稳定性强
- 公有云(公有资源,不一定是云服务器):由第三方云服务提供商拥有和运营,成本更低(无需硬件和软件)、无需维护(由厂家维护)、无限制缩放性(即开即用)、高可靠性(可用性),但会有安全风险![[attachments/Pasted image 20241112220921.png]]
- 私有云:自己搭建云平台或者购买![[attachments/Pasted image 20241112221300.png]]
- 没有一种云计算类型满足所有,多种不同的云计算模型、类型和服务都得到发展以满足不同的需求,可以采用公有云、私有云和混合云
- 阿里云服务器开通
- 先注册账号登录
- 选择云服务器按量付费进行购买
- 选择服务器的镜像(操作系统):CentOS7.9
- 如果要访问必须选择公网IP
- 然后系统配置中设置服务器登录密码
- 此时就创建成功,根据公网IP使用electerm软件(electerm.github.io/electerm)连接服务器,连接服务器的默认端口就是22
- 云资源就是使用不在本地的资源,比如公有云
- 云服务器的安全组
- 每个云服务器都有一个安全组:防火墙相关的端口设置,通过在安全组中设置服务器进入和出去的端口设置,可以添加一个安全组规则,配置某个端口的授权策略,授权对象为0.0.0.0/0时表示任何对象都可以访问该端口
- 只要在安全组中配置某个端口的安全组规则后才可以访问,否则该端口就无法访问
- 安全组相当于防火墙,对各个端口的访问权限进行配置
- 按量付费
- 当暂时不使用时,可以对服务器先进行停止,此时对于计算资源就不会收费了,但数据盘和公网IP还会继续收费,当需要时再进行启动
- 私有网络:VPC
- 每一个云服务器都有一个公网IP和一个私网IP,且在创建时可以选择使用VPC私有网络
- 公网IP让任何用户都可以外部远程访问,且公网IP可能会发生变化,私网IP是永远不会变的
- 公网IP是供外部连接进行访问的(流量会收费),且会发生变化;但是对于云服务器集群,内部使用私网IP进行访问,私网IP不会改变,且私网IP不会走流量,不会收费,且速度更快,只有在同一个VPC下的服务器才可以通过私网IP通信,不同VPC不可以通过私网IP通信
- 对于自己的云服务集群,可以创建自己的VPC私有网络,使得同一个集群的云服务器在同一个VPC中,此时就可以通过私网IP进行访问,速度快且不收费
- 每个VPC创建时要指定网段时在该VPC下的所有云服务器都会根据指定的网段分配一个私网IP
- 网段格式:xxx.xxx.xxx.xxx/掩码位,其中每一段都是8bit,且掩码位表示指定位数是固定的,改变后面的位数来为云服务器分配IP
- 因为VPC的网段可能过大,使用可以再继续划分子网,创建交换机来实现,此时对VPC的网段进行子网划分,不同交换机下的同一个VPC仍然是可以互通的,同一个VPC下的不同交换机是可以相互通信的,不同VPC下的服务器无法通过私网IP来访问
- 不同VPC之间是隔离的,即使VPC的网段一致,其内的所有云服务器也无法进行互相通信,每一个VPC专用网络都是一个局域网,不同VPC之间是不互通的,不同VPC下的服务器无法通过私网进行通信,即使网段相同也无法通信
- 当自己创建了一个VPC时,此时在创建云服务器时就可以指定该服务器的网络为自己设置的VPC,必须设置创建的服务器的网络为自己设置的VPC
- 只有在同一个VPC下的服务器才可以通过私网IP相互通信
2. Docker容器化
- 解决的问题
- 统一标准:应用构建(build镜像)、应用分享、应用运行(docker run)
- 资源隔离
- 架构
- ![[attachments/Pasted image 20241113122918.png]]
- 青云服务器安装
- 要配置Docker下载加速
- 基础命令实战
- 如果不加 -d 后台运行,则此时命令行会一直阻塞等待容器停止
- docker ps:只查看运行中的容器,ps只查看所有正在运行的容器
- docker ps -a:查看所有未删除容器,包括正在运行和未运行的容器
- docker stop 容器:停止运行的容器
- docker rm 容器:删除停止的容器,如果删除正在运行则加上 -f
- 当Docker停止时,容器也会停止,且Docker重启时,容器也不会重启
- 如果容器启动时不加 --restart always,则此时当docker重启时,容器会停止
- docker update 容器:可以修改一个正在运行容器的配置项,但不能修改端口映射
- -p 宿主机端口:容器端口,端口映射就是将宿主机的端口与容器中端口进行映射,容器就是一个运行服务简易版的Linux系统(包含运行镜像的所有环境,有自己的网络配置以及端口等,使用宿主机的内核),此时就可以通过访问宿主机的端口来映射到容器中的服务,要避免映射的宿主机端口出现冲突
- docker exec -it 容器 /bin/bash :进入到指定的容器内并在命令行终端执行指定的命令,且以交互式终端的形式交互,且通过exec方式进入时exit不会停止容器中服务的运行,因为进入的是容器内Linux环境的命令行
- -v 绝对路径:容器路径 实现数据卷挂载,使用 –previledge=true来开启目录挂载权限,数据卷就是宿主机的一个目录,与指定的容器内目录映射,从而实现数据共享;数据卷更改实时更新,且不会打包进入镜像层,可以实现共享数据,一直维持到没有挂载,
- docker import 和 export 将容器数据流导入导出,或者使用 copy 将容器内文件拷贝
- docker commit 容器 镜像名:TAG :对本地的容器提交为一个新的镜像存放在本地仓库中,可以通过 -a 添加作者描述,通过 -m 添加提交描述;容器提交的镜像会包含容器中所有的操作
- docker push 镜像 推送指定的镜像到远程仓库
- docker pull 镜像:TAG 从远程仓库中拉取镜像到本地仓库
- docker save -o 文件名.tar 镜像:将指定的镜像打包为一个tar压缩包,此时可以进行镜像传输
- docker load -i 镜像压缩包:将镜像压缩包解压为镜像并存放到本地仓库中
- 一个仓库是指存放同一个服务不同版本的镜像,在将镜像推送到远程仓库时,必须使用docker tag 对镜像按照规范进行命名,且要先登录 docker login 后才可以推送镜像,docker logout推送完镜像后退出登录
- 挂载数据卷
- 数据卷挂载时,宿主机下的目录会直接覆盖容器中的目录
相关文章:

云原生学习
1、云原生学习 文章目录 1、云原生学习1. 介绍2. Docker容器化 1. 介绍 什么是云原生?原生指使用JAVA等语言编写的项目,云是指将项目部署到云服务器上云平台:公有云、私有云 本地平台是指直接部署在自己计算机,而开发的应用一定要…...

深入解析 Vue 3 中的 defineExpose
深入解析 Vue 3 中的 defineExpose 在 Vue 3 的组合式 API(Composition API)中,defineExpose 是一个重要的辅助函数,专门用于在 <script setup> 模式下暴露组件内部的属性和方法给父组件使用。本文将详细解析 defineExpose…...

Docker3:docker基础1
欢迎来到“雪碧聊技术”CSDN博客! 在这里,您将踏入一个专注于Java开发技术的知识殿堂。无论您是Java编程的初学者,还是具有一定经验的开发者,相信我的博客都能为您提供宝贵的学习资源和实用技巧。作为您的技术向导,我将…...
【UGUI】背包的交互01(道具信息跟随鼠标+道具信息面板显示)
详细程序逻辑过程 初始化物品栏: 在 Awake 方法中,通过标签找到提示框和信息面板。 循环生成10个背包格子,并为每个格子设置图标和名称。 为每个格子添加 UInterMaager232 脚本,以便处理交互事件。 关闭提示框和信息面板&#…...

ubuntu20.04中编译安装gcc 9.2.0
ubuntu20.04中编译安装gcc 9.2.0,步骤如下: #install compile dependence libraries 1:$ sudo apt install libgmp-dev libisl-dev libmpc-dev libmpfr-dev # install gcc 9.2.0 # download source code 2:$ wget http://ftp.gnu.org/gn…...

ss 命令的基本用法
ss 命令的基本用法 ss [选项]-tanl 选项解释 -t:显示 TCP 连接。-a:显示所有连接(包括监听端口)。-n:显示数字形式的地址和端口号,而不是解析为主机名和服务名。-l:仅显示监听的端口。 使用示…...

Leetcode198. 打家劫舍(HOT100)
代码: class Solution { public:int rob(vector<int>& nums) {int n nums.size();vector<int> f(n 1), g(n 1);for (int i 1; i < n; i) {f[i] g[i - 1] nums[i - 1];g[i] max(f[i - 1], g[i - 1]);}return max(f[n], g[n]);} }; 这种求…...

kafka基础
文章目录 一、Kafka入门1.1、JMS1.2、生产者-消费者模式1.3、ZooKeeper 二、kafka基础架构2.1、producer2.2、kafka cluster2.2.1、broker2.2.2、Controller2.2.3、Topic2.2.4、Partition2.2.5、Replication2.2.6、Leader & Follower 2.3、consumer 一、Kafka入门 Kafka是一…...

STM32CUBEIDE FreeRTOS操作教程(九):eventgroup事件标志组
STM32CUBEIDE FreeRTOS操作教程(九):eventgroup事件标志组 STM32CUBE开发环境集成了STM32 HAL库进行FreeRTOS配置和开发的组件,不需要用户自己进行FreeRTOS的移植。这里介绍最简化的用户操作类应用教程。以STM32F401RCT6开发板为…...

Python设计模式详解之2 —— 工厂模式
工厂模式(Factory Pattern)是一种创建型设计模式,旨在定义一个用于创建对象的接口,但由子类决定实例化哪个类。工厂模式可以帮助我们将对象的创建与其使用分离,增强代码的可扩展性和维护性。 工厂模式的分类 简单工厂…...

【Zookeeper】二、主从应用(master-worker架构)
以一张具有代表性的架构风格展开本篇论述 一般在这种架构中,主节点所负责的工作主要有 跟踪从节点状态分配任务到从节点,并跟踪任务的有效性(任务是否正常执行完成) 此时,我们需要关注三个问题 主节点崩溃 如果主节…...

Diffusion【2】:VAE
系列文章目录 文章目录 系列文章目录前言1. Abstract2. Introduction2.1. Motivation2.2. Contribution 3. Methods3.1. Problem Scenario3.2. The variational bound3.3. The SGVB estimator and AEVB algorithm3.3.1. Stochastic Gradient Variational Bayes Estimator3.3.2.…...

高级java每日一道面试题-2024年11月19日-基本篇-获取一个类Class对象的方式有哪些?
如果有遗漏,评论区告诉我进行补充 面试官: 获取一个类Class对象的方式有哪些? 我回答: 在 Java 中,获取一个类的 Class 对象有多种方式。这些方式各有优缺点,适用于不同的场景。以下是常见的几种方法及其详细解释: 1. 使用 new 关键字实…...

xilinx xapp1171学习笔记
在xapp1171示例中,假设Host PC将PCIE:BAR0赋值为:0x00000000_def00000 PCIEBAR2AXIBAR_00x81000000,即Host PC读写0x00000000_def00000就是在读写AXI地址0x81000000(BRAM在AXI总线上的基地址) 在AXI总线上࿰…...

一次需升级系统的wxpython安装(macOS M1)
WARNING: The scripts libdoc, rebot and robot are installed in /Users/用户名/Library/Python/3.8/bin which is not on PATH. 背景:想在macos安装Robot Framework ,显示pip3不是最新,更新pip3后显示不在PATH上 参看博主文章末尾 MAC系统…...

el-table 数据去重后合并表尾合计行,金额千分位分割并保留两位小数,表尾合计行表格合并
问题背景 最近在做后台管理项目el-table 时候需要进行表尾合计,修改合计后文字的样式,合并单元格。 想实现的效果 合并表尾单元格前三列为1格;对某些指定的单元格进行表尾合计;合计后的文本样式加粗;涉及到金额需要千…...

Springboot整合mybatis-plus使用pageHelper进行分页
PageHelper 使用步骤全解析 在进行 Web 应用开发时,经常会涉及到数据库数据的分页展示。PageHelper 是一个非常实用的 MyBatis 分页插件,它能够方便地实现数据库查询结果的分页功能,极大地提高了开发效率。以下将简单介绍 PageHelper 的使用…...

【Xbim+C#】创建拉伸的墙
基础 基础回顾 效果图 简单的工具类 using System.Collections.Generic; using System.Linq; using Xbim.Common.Step21; using Xbim.Ifc; using Xbim.Ifc4.GeometricConstraintResource; using Xbim.Ifc4.GeometricModelResource; using Xbim.Ifc4.GeometryResource; using…...

【阅读记录-章节3】Build a Large Language Model (From Scratch)
目录 3 Coding attention mechanisms3.1 The problem with modeling long sequences背景:注意力机制的动机 3.2 Capturing data dependencies with attention mechanismsRNN的局限性与改进Transformer架构的革命 3.3 Attending to different parts of the input wit…...

three.js 对 模型使用 视频进行贴图修改材质
three.js 对 模型使用 视频进行贴图修改材质 https://threehub.cn/#/codeMirror?navigationThreeJS&classifyapplication&idvideoModel import * as THREE from three import { OrbitControls } from three/examples/jsm/controls/OrbitControls.js import { GLTFLoad…...

MySQL - 数据库基础 | 数据库操作 | 表操作
文章目录 1、数据库基础1.1为什么要有数据库1.2主流的数据库1.3连接MySQL1.4服务器、数据库、表的关系1.5 MySQL框架1.6 SQL分类1.7储存引擎 2.数据库操作2.1创建数据库2.2字符集和校验规则2.3删除数据库2.4修改数据库2.5备份与恢复2.6查看连接情况 3.表的操作3.1创建表3.2查看…...

maven父子项目
目录 一、创建Maven父子项目 二、父子项目的关联 三、父子项目的继承关系 四、构建父子项目 五、Maven父子项目的优势 Maven父子项目是一种项目结构,它允许一个父项目(也称为根项目)管理多个子项目(也称为模块)。…...

NLP论文速读(多伦多大学)|利用人类偏好校准来调整机器翻译的元指标
论文速读|MetaMetrics-MT: Tuning Meta-Metrics for Machine Translation via Human Preference Calibration 论文信息: 简介: 本文的背景是机器翻译(MT)任务的评估。在机器翻译领域,由于不同场景和语言对的需求差异&a…...

MyBatis——#{} 和 ${} 的区别和动态 SQL
1. #{} 和 ${} 的区别 为了方便,接下来使用注解方式来演示: #{} 的 SQL 语句中的参数是用过 ? 来起到类似于占位符的作用,而 ${} 是直接进行参数替换,这种直接替换的即时 SQL 就可能会出现一个问题 当传入一个字符串时ÿ…...

解决sql字符串
根据你描述的情况以及调试截图中的内容,我可以确认你的 sql 字符串在 Python 中由于转义字符的问题,可能导致在 Oracle 中运行时出错。 以下是一些排查和修改建议: 问题分析 转义字符问题: 在调试界面中可以看到,DEC…...

深度解析:Android APP集成与拉起微信小程序开发全攻略
目录 一、背景以及功能介绍 二、Android开发示例 2.1 下载 SDK 2.2 调用接口 2.3 获取小程序原始Id 2.4 报错提示:bad_param 2.4.1 错误日志 2.4.2 解决方案 相关推荐 一、背景以及功能介绍 需求:产品经理需要APP跳转到公司的小程序(最好指定页…...

Leetcode 被围绕的区域
算法思想(解题思路): 这道题的核心是 将所有被边界包围的 O 保留下来,而将其他被围绕的 O 转换为 X。为了实现这一目标,我们可以分三步完成: 第一步:标记边界及其相连的 O 为特殊标记ÿ…...

ssm框架-spring-spring声明式事务
声明式事务概念 声明式事务是指使用注解或 XML 配置的方式来控制事务的提交和回滚。 开发者只需要添加配置即可, 具体事务的实现由第三方框架实现,避免我们直接进行事务操作! 使用声明式事务可以将事务的控制和业务逻辑分离开来,提…...

React第五节 组件三大属性之 props 用法详解
特性 a、props最好是仅限于父子上下级之间的数据传递,如果是祖孙多级之间传递属性,可以考虑使用props是否合适,或者使用替代方案 useContext() 或者使用 redux状态管理; b、props 中的属性是只读属性,如果想修改其中的…...

测评部署和管理 WordPress 最方便的面板
新版宝塔面板快速搭建WordPress新手教程 - 倚栏听风-Morii - 博客园 初学者使用1Panel面板快速搭建WordPress网站 - 倚栏听风-Morii - 博客园 可以看到,无论是宝塔还是1Panel,部署和管理WordPress都有些繁琐,而且还需要额外去配置Nginx和M…...