南京整站优化,php企业网站多少钱,辽宁建设工程招投标信息网,我为什么卸载不了wordpress1. 云原生是什么 原生应用#xff08;java,pyrhon#xff09; 上云的过程应用上云遇到的问题1.微服务的拆分 微服务的访问关系应用的架构云原生适合什么样的人去学具备什么样的前提条件云原生要学习什么docker k8s devlops server mesh jks k8s监控吧自己的微服务部署上…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 停止应用--restartalways 容器开启自启动 -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 我们javaredis 使用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命令springbootredis 应用 基于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 --imagenginx
// 我启动了一个nginx 的pod
给pod 起一个名字 依据于nginx的镜像启动podpod 启动容器 pod 底层是依靠于 docker拉取的可以基于kubectl describe pod mynginx 来查看pod的信息 以及pod的调度可以查看调度到那个机子上我们使用了一个命令创建了k8s 的一个pod
查看pod
kubectl get pod k8s 描述pod kubectl describe pod //描述pod的信息
pod 在前面创建好了 kubectl delete pod //删除podkubectl describe pod 描述pod 我们基于配置文件创建的podpod 的命令 我们使用docker 部署的nignx 我们更改他的首页 还可以访问
我们现在用k8s 的pod 部署的nginx 怎么访问
pod 是有ip的pod 就可以访问我们nignx的首页 因为默认是 80的port,我们基于docker 部署的nignx 我们可以exec it 进入容器中去改.现在我们可以