你好,游客 登录 注册 发布搜索
背景:
阅读新闻

UnitedStack上线Atomic镜像

[日期:2015-06-23] 来源:UnitedStack有云  作者: 陈迪豪 [字体: ]

  

  写在前面的话

  UnitedStack有云上线Atomic镜像,开发者可以在UOS公有云平台上体验最新的Fedora Cloud Atomic容器操作系统。Atomic是什么?如何在公有云上搭建Atomic系统?本文将一一道来。我们也将在近期推出Kubernetes系列教程,欢迎大家关注。此外,我们建立了一个容器服务交流QQ群(群号:462294386),每天发布有关容器的最新资讯,方便大家交流。

  2015年6月18日,UnitedStack有云上线Atomic镜像,开发者可以在UOS公有云平台上体验最新的Fedora Cloud Atomic容器操作系统。

  这是继上线CoreOS镜像之后,UnitedStack有云对容器技术的又一有力支撑,也成为国内目前唯一一个同时提供这两个镜像的IaaS厂商。

  Atomic项目简介

  Atomic是Red Hat公司发起的以应用为中心的操作系统,它可以更方便地部署和管理你的Docker容器。Atomic基于成熟的底层操作系统,保证容器运行环境的安全,并且集成了Kubernetes、Systemd等管理工具,提供容器应用部署的全套解决方案。对于Atomic采用的Kubernetes调度系统,我们也将在近期推出Kubernetes系列教程,欢迎大家关注。

  与传统操作系统不同,Atomic经过裁剪后体积更小更容易维护,并且集成了SELinux安全技术,让Docker容器有更好的安全隔离,还有Gockpit等工具让容器的部署和管理更加方便。

  项目官网 http://www.projectatomic.io

  与CoreOS对比

  CoreOS是基于Chrome OS定制的Linux发行版,而Atomic是基于更成熟的RHEL和Fedora。CoreOS使用了自己研发的Fleet来管理容器生命周期,Atomic则集成了Google开源的Kubernetes调度系统,同时提供了Geard工具来部署多个容器。Atomic也可以集成SELinux,提供更安全、专门为容器设计的运行环境,开发者迁移到新的系统架构也更加容易。

  两个操作系统目前都依赖Etcd做配置管理,提供容器部署和调度服务,而且现在只支持最流行的Docker容器。

  搭建Atomic系统

  在UOS上启动Atomic系统非常简单,在“创建云主机” 中选择最新的“Fedora Cloud Atomic 22 64bit”镜像,分配CPU和内存后即可使用。

  为了连接外网,你可以在“公网IP”页面创建公网IP。

  然后在“云主机”页面绑定刚申请的公网IP。

  绑定后IP后,UOS提供了VNC终端,在浏览器就可以操纵你的Atomic操作系统了。

 

  部署Docker容器集群

  启动Atomic系统后,通过创建云主机时提供的用户名和密码登陆。默认的Atomic镜像已经预装了最新版的Docker、Etcd和Kubernetes等工具,通过命令行就可以查看工具的版本信息。启动Docker服务的命令也很简单,“service docker start”。

  可以看出Atomic已经是预装好Docker的Linux运行环境,使用Atomic甚至比原生的CentOS或Ubuntu更加方便。所有基于Docker的容易都能很方便地运行,下面演示在Atomic系统快速启动一个Nginx容器。

  前面提及到,Atomic整合了Etcd和Kubernetes,它们分别是容器的调度系统和配置管理系统。启动Kubernetes后就是一个Container as a Service“私有云”,我们可以直接部署容器到集群上而不必考虑底层的硬件资源,启动服务命令如下。

  注意我们现在把Master和Minion跑在同一台服务器上,实际上kublet和kube-proxy也可以部署在多台Minion上组成Kubernetes集群。基础服务正常起来后,通过命令可以检查各个进程当前的状态和日志。

  ```

  service docker status

  service etcd status

  service kube-apiserver status

  service kube-controller-manager status

  service kube-scheduler status

  service kubelet status

  service kube-proxy status

  jornalctl -f -l -xn -u etcd -u kube-apiserver -u kube-scheduler

  ```

  部署容器Pod和RC

  Kubernetes是Google开源的容器调度系统,吸收了Google使用容器的十多年经验,并对内部系统Borg进行改造开源出来,逐渐成为Docker生态中最优秀的调度框架。Kubernetes将运行在同一台主机的容器组成Pod,并且使用Replication controller来管理一组Pod的备份数,只要Pod运行个数与预期值不同系统就会自动地启停容器,保证业务不受影响。

  在集成环境Atomic中,我们很容易就可以启动Pod或Replication controller了。我们启动一个包含Nginx容器的Pod,并且暴露80端口。

  Pod的定义文件开放在Github https://raw.githubusercontent.com/tobegit3hub/kubernetes_docker/master/nginx_pod.json

  启动后我们也可以使用Kubernetes的客户端来查看当前的集群状态,并且测试Nginx容器是否正常运行。注意首次运行Nginx需要从Docker官方仓库下载镜像,等待时间稍长一些,这时通过“journalctl -f -u kubelet”可以查看进度。

  Atomic也提供了启动Replication controller的文档,即使主动把Docker容器停止了,Kubernetes还是会自动把容器起起来,保证服务正常。具体的操作欢迎大家在UOS平台上尝试。

  更多使用教程

  Atomic精简了系统与容器无关的组件,并且预装了Docker、Kubernetes等工具方便使用。除此之外,Atomic使用了Rpm-ostree的包管理系统,好处就是让系统回滚变得更简单了,通过Ostree来创建一个二进制的Repo,Ostree的详细教程可以在官网中找到。

  而且Atomic使用了和CoreOS一样的Systemd作为Init系统,让服务管理更加直观和容易了,前面已经使用过Systemd来启动服务了,更详细的systemd教程在官网也可以找到。

  总结

  容器技术在近年发展迅猛,针对容器设计的操作系统竞争也越来越激烈,Red Hat推出的Atomic也符合这个潮流。总体而言Atomic使用了比较成熟的操作系统与容器技术,并没有颠覆传统开发者的使用习惯,并且提供了更易用的容器运行环境。

收藏 推荐 打印 | 录入:574107552 | 阅读:
相关新闻      
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数
点评:
       
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款