新开超变传奇私服VMware容器解决方案系列-轻量容器系统

VMware容器解决方案系列-轻量容器系统首先用一句话概括VMware容器解决方案:“The Docker Ecosystem You Love on the Hypervisor You Trust”。下面来看看VMware容器解决方案的另一个基础组件:新开英雄传奇私服Photon OS,它是一个轻量级的Linux系统,主要用来运行Docker容器。特别强调一下,VMware容器解决方案中的很多组件都以Photon命名,如Photon Co武易传奇私服ntoller,Photon Machine,因此用Photon来指代某个组件是含糊的,不应该把Photon OS简称为Photon。1概览

轻量级的容器系统旨在为Docker一类的容器提供一个荣耀传奇私服稳定、安全、高效、节省资源的运行环境,打造的方式主要是对Linux系统进行精简、定制和安全增强,除了Photon OS(以下简称POS),还有Core OS,Rancher OS,Ubuntu的Snappy和Redhat的Atomic等。虽各有特色却也是大同小异,在整个容器解决方案中,它是基础组件却不是重点(个人认为重点应该是Orchestrator和Scheduler),因此我不打算对这些系统进行比较,如果你想了解更多,可以参考这几篇文章:

    Con传奇私服刺客tainer OS Comparison:

    https://blog.codeship.com/container-os-comparison/

    Docker: A Comparison of Minimalistic Operating Systems:

    https://blog.inovex.de/docker-a-comparison-of-minimalistic-operating-systems/

    It’s a Small World:  Tiny Linux Operating System Options:

    http://24x7itconnection.com/2015/07/16/its-a-small-world-tiny-linux-operating-system-options/

    下面我们将重点介绍VMware的POS。VMware对它的定义是一个体积小,启动快的 “Minimal Linux Container Host”。你可以通过它的官网得到第一手资料 https://vmware.github.io/photon/,它是一个开源项目,你可以到GitHub上获取它的源码 https://github.com/vmware/photon。你可以利用源码自己定制一个独一无二的POS,具体方法可以参考这篇文章:Building Photon OS From Source https://blogs.vmware.com/cloudnative/building-photon-os-from-source/。

    POS的主要特点如下:

    1针对vSphere进行优化 POS如果运行在虚拟化平台上,那么它只需要包含少数几种虚拟硬件的驱动就可以了,这可以极大地缩减体积,根据目前官方公布的数据,最小可以做到25M。2它广泛支持各种主流的容器技术,如Docker,Rocket和Pivital的Garden,不过现在是Docker一家独大局面。3内置一个软件包管理程序 (tdnf-Tiny Dandified Yum,即精简版的Yum),这样就可以很方便地在POS中安装或更新软件了。4与VMware现有的解决方案集成 POS外面是虚拟化,里面是容器化,通过它可以将VMware现有的基础架构服务能力(如存储、网络和安全等)扩展到容器环境。5对于物理机环境,支持网络安装和脚本安装;对于虚拟机环境,支持对POS系统的主机名和网络信息进行定制。也支持集中式的系统映像和包管理方案RPM-OSTree,我会在后面介绍RPM-OSTree的使用方法。2初体验

    要体验POS,你可以下载它的安装文件,你可以在https://vmware.github.io/photon/上下载三种安装包,完整安装文件Full ISO,精简版安装文件Minimal ISO和已经安装好的虚拟机OVA映像。此外,VMware还提供了适用于AWS,GCE和Azure的文件包。你还可以找到在Fusion,vSphere,GCE和vCloud Air上部署POS的向导。

    安装过程比较简单,我就不赘述了,只提几个重点:

    1当前是Technical Preview版本,要求虚拟机至少配置500M内存,操作系统类型选择应为:Other Linux kernel 3.x 64-bit2删除不需要的虚拟机硬件支持,如声卡、打印机、USB和3D图形支持等。3安装类型有几个选项:Micro (约260M,不含Docker),Minimal (约330M,含Docker),Full (约1.7G,包含完整软件包) 和OSTree Host/Server,具体的区别安装指南里有说明:https://github.com/vmware/photon/wiki/Running-Project-Photon-on-Fusion4安装完成后使用命令systemctl start docker启动Docker服务,使用systemctl enable docker配置Docker服务每一次在OS启动后自动运行。5如果是通过导入ova文件的方式部署,系统启动后的root用户的缺省密码是changeme,第一次登录时需要修改。

    TP2版本的POS内置了Docker 1.8,要升级到1.9,可以使用tdnf来实现,不过目前VMware还没有提供更新的版本,你也可以选择手工升级,方法如下:

    下面下载一个Image并运行它,确保你的POS可以连接到Internet,如果到Docker HUB的带宽比较低,可以使用Busybox一类的小型Image,如果带宽不错,可以尝试Nginx一类的Image
    运行命令docker run -p 80:80 -d nginx,docker会自动下载nginx映像并运行它。一个新的容器大约要下载133M的文件,我在国内要十几分钟才能下完,看美国同事下载只需要十几秒,真让人羡慕。网络不稳定也可以先用docker pull把Image拉下来,然后再运行它。

    3系统管控

    OSTree是POS TP2版本的一大新特性,它是一个非常好的集中式系统管理工具,采用类似容器的文件管理方式,可以基于策略来管理POS系统,提供多版本支持,增量式更新,以及回退功能。它使用简单,能够帮助管理员更好地保证系统的一致性和安全性。

    下面我们来看看如何通过RPM-OSTree这一功能来集中管理Photon OS主机,首先我们需要安装一台OSTree Server和OSTree Host,OSTree Host使用Custom OSTree Server来安装 (De合击传奇私服网fault选项会将更新服务器指向VMware官方服务器,由Photon OS Team管理更新),输入OSTree Server的IP地址,并选择缺省的OSTree传奇私服技术。

    我们首先到Host上看一下,使用命令

    rpm-ostree status -p

    查看当前所使用的Filetree,然后可以到相应的目录下查看对应的文件。

    其它相关命令:

    ostree admin config-diff

    查看配置的变化。

    rpm-ostree db list photon/tp2/x86_64/minimal

    查看某个OSTree所含的包。

    OSTree Host作为受管制的机器,RPM数据库和除了/etc和/var以外的目录都是只读的,只能通过OSTree Server来修改,尝试使用凌云传奇私服tdnf install命令来安装软件,安装一定会失败。

    下面使用rpm-ostree upgrade命令来查看是否有更新,因为我们还没有在Server端配置,所以现在肯定是没有更新的。

    root@photon-host-def [ ~ ]# rpm-ostree upgrade
    Updating from: photon:photon/tp2/x86_64/minimal
    No upgrade available.

    接下来我们在OSTree Server上做出改变,首先编辑配置文件/srv/rpm-ostree/photon-base.json,在其中添加tar软件包。然后使用命令/srv/rpm-ostree/rpm-ostree compose tree –repo=/srv/rpm-ostree/repo photon-base.json来提交改变到Repository。

    提交操作有大量输出,这里只给大家看最后两行:
    Committing’/var/tmp/rpm-老版本传奇私服ostree.qTzZ9U/rootfs.tmp’ …
    photon/tp2/x86_64/minimal 1.76合击传奇私服=> 86b1cfb3a7b79e5a904bc5e89851e5f39a6e3ac6044750db123f6e9e3f9c510c

    服务器端操作执行成功以后,我们到受控的Host一端查看是否有更新。再次使用rpm-ostree upgrade命令,可以看到服务器端的更新并自动下载,要应用这个更新,需要重新启动系统,重启之后看到tar软件包已经成功安装到系统了。

    使用rpm-ostree status -p命令检查,可以看到当前采用的版本(*号所指)变更为1.0_tp2_minimal.1,变态传奇私服网站原来的版本变成了Rollback Target,即可以选择回滚的目标,而不是缺省值。

    要回滚到之前的状态,重新启动系统,在启动菜单中选择原来的版本,启动后再用rpm-ostree status -p命令查看,当前版本切回到了上一版本,尝试执行tar命令,发现tar包没有安装。

    注:本公众号文章及图片均来自网络,如有侵权请及时与我们联系,我们将尽快删除。