自学内容网 自学内容网

云原生学习

1、云原生学习

1. 介绍

  1. 什么是云原生?原生指使用JAVA等语言编写的项目,云是指将项目部署到云服务器上
  2. 云平台公有云、私有云
    1. 本地平台是指直接部署在自己计算机,而开发的应用一定要部署在远程的服务器中供用户访问,从而必须使用云平台
    2. 云平台环境统一、按需收费、即开即用、稳定性强
    3. 公有云(公有资源,不一定是云服务器):由第三方云服务提供商拥有和运营,成本更低(无需硬件和软件)、无需维护(由厂家维护)、无限制缩放性(即开即用)、高可靠性(可用性),但会有安全风险![[attachments/Pasted image 20241112220921.png]]
    4. 私有云:自己搭建云平台或者购买![[attachments/Pasted image 20241112221300.png]]
    5. 没有一种云计算类型满足所有,多种不同的云计算模型、类型和服务都得到发展以满足不同的需求,可以采用公有云、私有云和混合云
  3. 阿里云服务器开通
    1. 先注册账号登录
    2. 选择云服务器按量付费进行购买
    3. 选择服务器的镜像(操作系统):CentOS7.9
    4. 如果要访问必须选择公网IP
    5. 然后系统配置中设置服务器登录密码
    6. 此时就创建成功,根据公网IP使用electerm软件(electerm.github.io/electerm)连接服务器,连接服务器的默认端口就是22
    7. 云资源就是使用不在本地的资源,比如公有云
  4. 云服务器的安全组
    1. 每个云服务器都有一个安全组:防火墙相关的端口设置,通过在安全组中设置服务器进入和出去的端口设置,可以添加一个安全组规则,配置某个端口的授权策略,授权对象为0.0.0.0/0时表示任何对象都可以访问该端口
    2. 只要在安全组中配置某个端口的安全组规则后才可以访问,否则该端口就无法访问
    3. 安全组相当于防火墙,对各个端口的访问权限进行配置
  5. 按量付费
    1. 当暂时不使用时,可以对服务器先进行停止,此时对于计算资源就不会收费了,但数据盘和公网IP还会继续收费,当需要时再进行启动
  6. 私有网络:VPC
    1. 每一个云服务器都有一个公网IP和一个私网IP,且在创建时可以选择使用VPC私有网络
    2. 公网IP让任何用户都可以外部远程访问,且公网IP可能会发生变化,私网IP是永远不会变的
    3. 公网IP是供外部连接进行访问的(流量会收费),且会发生变化;但是对于云服务器集群,内部使用私网IP进行访问,私网IP不会改变,且私网IP不会走流量,不会收费,且速度更快只有在同一个VPC下的服务器才可以通过私网IP通信,不同VPC不可以通过私网IP通信
    4. 对于自己的云服务集群,可以创建自己的VPC私有网络使得同一个集群的云服务器在同一个VPC中,此时就可以通过私网IP进行访问速度快且不收费
    5. 每个VPC创建时要指定网段在该VPC下的所有云服务器都会根据指定的网段分配一个私网IP
    6. 网段格式:xxx.xxx.xxx.xxx/掩码位,其中每一段都是8bit,且掩码位表示指定位数是固定的改变后面的位数来为云服务器分配IP
    7. 因为VPC的网段可能过大,使用可以再继续划分子网创建交换机来实现,此时对VPC的网段进行子网划分不同交换机下的同一个VPC仍然是可以互通的,同一个VPC下的不同交换机是可以相互通信的,不同VPC下的服务器无法通过私网IP来访问
    8. 不同VPC之间是隔离的,即使VPC的网段一致,其内的所有云服务器也无法进行互相通信每一个VPC专用网络都是一个局域网,不同VPC之间是不互通的,不同VPC下的服务器无法通过私网进行通信,即使网段相同也无法通信
    9. 当自己创建了一个VPC时,此时在创建云服务器时就可以指定该服务器的网络为自己设置的VPC,必须设置创建的服务器的网络为自己设置的VPC
    10. 只有在同一个VPC下的服务器才可以通过私网IP相互通信

2. Docker容器化

  1. 解决的问题
    1. 统一标准:应用构建(build镜像)、应用分享、应用运行(docker run)
    2. 资源隔离
  2. 架构
    1. ![[attachments/Pasted image 20241113122918.png]]
  3. 青云服务器安装
    1. 要配置Docker下载加速
  4. 基础命令实战
    1. 如果不加 -d 后台运行,则此时命令行会一直阻塞等待容器停止
    2. docker ps:只查看运行中的容器,ps只查看所有正在运行的容器
    3. docker ps -a查看所有未删除容器包括正在运行和未运行的容器
    4. docker stop 容器:停止运行的容器
    5. docker rm 容器:删除停止的容器,如果删除正在运行则加上 -f
    6. 当Docker停止时,容器也会停止,且Docker重启时,容器也不会重启
    7. 如果容器启动时不加 --restart always,则此时当docker重启时,容器会停止
    8. docker update 容器:可以修改一个正在运行容器的配置项,但不能修改端口映射
    9. -p 宿主机端口:容器端口,端口映射就是将宿主机的端口与容器中端口进行映射,容器就是一个运行服务简易版的Linux系统(包含运行镜像的所有环境,有自己的网络配置以及端口等,使用宿主机的内核),此时就可以通过访问宿主机的端口来映射到容器中的服务,要避免映射的宿主机端口出现冲突
    10. docker exec -it 容器 /bin/bash :进入到指定的容器内并在命令行终端执行指定的命令,且以交互式终端的形式交互,且通过exec方式进入时exit不会停止容器中服务的运行,因为进入的是容器内Linux环境的命令行
    11. -v 绝对路径:容器路径 实现数据卷挂载,使用 –previledge=true来开启目录挂载权限,数据卷就是宿主机的一个目录,与指定的容器内目录映射,从而实现数据共享;数据卷更改实时更新,且不会打包进入镜像层可以实现共享数据,一直维持到没有挂载
    12. docker import 和 export 将容器数据流导入导出,或者使用 copy 将容器内文件拷贝
    13. docker commit 容器 镜像名:TAG对本地的容器提交为一个新的镜像存放在本地仓库中,可以通过 -a 添加作者描述,通过 -m 添加提交描述;容器提交的镜像会包含容器中所有的操作
    14. docker push 镜像 推送指定的镜像到远程仓库
    15. docker pull 镜像:TAG 从远程仓库中拉取镜像到本地仓库
    16. docker save -o 文件名.tar 镜像:将指定的镜像打包为一个tar压缩包,此时可以进行镜像传输
    17. docker load -i 镜像压缩包将镜像压缩包解压为镜像并存放到本地仓库中
    18. 一个仓库是指存放同一个服务不同版本的镜像,在将镜像推送到远程仓库时,必须使用docker tag 对镜像按照规范进行命名,且要先登录 docker login 后才可以推送镜像docker logout推送完镜像后退出登录
  5. 挂载数据卷
    1. 数据卷挂载时,宿主机下的目录会直接覆盖容器中的目录

原文地址:https://blog.csdn.net/LiuYQi/article/details/143756703

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!