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

西安市建设工程信息网工程交易平台广州网站优化排名

西安市建设工程信息网工程交易平台,广州网站优化排名,开发公司施工管理事业部沟通协调类面试题,网站婚礼服务态网站建设论文应用场景 应用从虚拟机迁移到容器中 为什么虚拟机中的应用不能无缝迁移到容器中 虚拟机中应用:一组进程,被管理在systemd或者supervisord中 容器的本质:一个容器一个进程 所以将运行在虚拟机中的应用无缝迁移到容器中,与容器…

应用场景

应用从虚拟机迁移到容器中

为什么虚拟机中的应用不能无缝迁移到容器中

虚拟机中应用:一组进程,被管理在systemd或者supervisord中

容器的本质:一个容器一个进程

所以将运行在虚拟机中的应用无缝迁移到容器中,与容器的本质是相悖的。

容器无法像虚拟机那样,完全模拟本地物理机环境中的部署方式。

swarm 项目无法成长起来的原因:单容器的工作方式,难以描述真实世界里的复杂的应用架构。

Pod的本质:一种编排思想

扮演传统基础设施里“虚拟机”的角色;而容器则是这个虚拟机中的用户程序

虚拟机应用迁移到docker

方法:松耦合的容器编排技巧,超亲密关系容器的设计思想,

  1. 分析那些进程(组件)运行在这个虚拟机里
  2. 把虚机想象成为一个pod,把进程分别做成镜像
  3. 把有顺序关系的定义为 Init Container。

从传统应用架构,到微服务架构最自然的过渡方式。

Pod 实现原理

pod 是一组共享了某些资源的容器。如network,声明 volume

docker run -net--volumes-from 

Pod里的容器是拓扑关系

中间容器来解决容器启动顺序问题

  • 第一个:Infra容器  k8s.io/pause 100-200KB
  • 第二个:容器 A  Join Infra Network namespace
  • 第三个:容器 B  Join Infra Network namespace

共享volume

apiVersion: v1
kind: Pod
metadata:name: two-containers
spec:restartPolicy: Nevervolumes:- name: shared-datahostPath:path: /datacontainers:- name: nginx-containerimage: nginxvolumeMounts:- name: shared-datamountPath: /usr/share/nginx- name: debian-containerimage: debianvolumeMounts:- name: shared-datamountPath: /pod-datacommand: ["/bin/sh"]args: ["-c", "echo Hello from the debian container > /pod-data/index.html"]

宿主机目录 /data 被同时绑定到上述两个容器中,

例子一:war包与web服务器

一个java Web 应用的WAR包,需要被放在Tomcat的webapps目录下运行起来

docker解决方式:

方法一:把war包直接放在Tomcat 镜像的webapps目录下,做成一个新的镜像运行起来。

              缺点:更新升级时,需要重新制作镜像

方法二:只发布一个tomcat 镜像,声明一个hostPath 的volume , 从而把宿主机上的WAR包挂载进Tomcat容器中巡行。

             缺点:每一个宿主机都要存储WAR包目录。或者独立维护一套分布式存储系统。

pod 解决方式:

sidecar  设计模式

作用:在一个pod 中启动一个辅助容器,完成一些独立于主进程之外的工作

如下面启动一个InitContainer 的方式优先运行一个WAR包容器,扮演一个sidecar的角色。

apiVersion: v1
kind: Pod
metadata:name: javaweb-2
spec:initContainers:- image: geektime/sample:v2name: warconmmand: ["cp", "/sample.war", "/app"]volumeMounts:- mountPath: /appname: app-volumecontainers:- image: geektime/tomcat:7.0name: tomcatcammand: ["sh", "-c", "/root/apache-tomcat-7.0.42-v2/bin/start.sh"]volumeMounts:- mountPath: /root/apache-*/webappsname: app-volumeports:- containerPort: 8080hostPort: 8001volumes:- name: app-volumeemptyDir: {}

例子二:容器的日志收集

在Pod里声明volume挂载到应用容器的/var/log目录。

在pod里运行一个sidecar容器,声明挂载同一个volume 到自己的/var/log目录上。 

特性:

  1. 容器A 容器B 可以使用 locahost 通信
  2. 一个pod只有一个IP地址,也就是这个pod的network namespace 对应的IP地址
  3. 网络资源都是一个pod一份(pod容器的进出流量通过infra容器完成)
  4. pod 的生命周期与infra一致,与 容器 A和B无关

  

例子:

思考题

http://www.ds6.com.cn/news/83354.html

相关文章:

  • 网站改版数据来源表改怎么做seo优化网站优化
  • 北京网站模板公司网站制作流程
  • 搭网站要多少钱如何搭建一个网站平台
  • 华强北ic网站建设seo优化推广软件
  • 做个人网站到哪里做哪里有网络推广
  • 智能网站开发南昌seo排名公司
  • 专做网站营销推广方式有哪些
  • 网站代码如何优化少女长尾关键词挖掘
  • 内蒙古网站制作微信营销模式有哪些
  • 更改各网站企业信息怎么做如何利用互联网宣传与推广
  • ps做 网站教程网络推广公司排行榜
  • 疫情最新资讯seo自动点击排名
  • 怎么创建一个自己的网站真正免费建站网站
  • seo网站优化收藏怎么设置自己的网站
  • 中小微企业网站建设网页设计模板图片
  • 简单制作网页搜索引擎优化自然排名
  • 营口网站制作公司最近爆发什么病毒感染
  • 个人网站的建立怎么做优化大师兑换码
  • 网站后台管理页面下载模拟搜索点击软件
  • 做1元夺宝网站挣钱吗百度入驻
  • 织梦手机网站怎么安装教程视频教程营销型网站建设步骤
  • 网站设计网络公司链接买卖平台
  • 做外贸网站公司哪家好西地那非片的功能主治
  • php动态网站开发架构网站开发建站
  • iis访问网站打开要很久网络服务平台
  • 网站开发设计是前端吗网站目录结构
  • 营销型网站创建百度关键词seo排名
  • 广州模板网站建设费用厦门seo顾问
  • 黑红网站模板网店代运营可靠吗
  • 专业网站建设微信网站定制汕头seo建站