UnitedStack上线Atomic镜像 让Docker部署和管理更Easy

云计算
UnitedStack有云上线Atomic镜像,开发者可以在UOS公有云平台上体验最新的Fedora Cloud Atomic容器操作系统。Atomic是什么?如何在公有云上搭建Atomic系统?本文将一一道来。
 

[[137387]]

写在前面的话

 

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使用了比较成熟的操作系统与容器技术,并没有颠覆传统开发者的使用习惯,并且提供了更易用的容器运行环境。

近年来各大厂商都推出了基于容器的下一代IT架构,UnitedStack也积极关注容器的发展,到目前为止,UOS是***家也是唯一一家对两大容器操作系统CoreOS和Atomic都支持的IaaS厂商。我们建立了一个容器服务交流QQ群(群号:462294386),方便大家交流。

 

关于作者:

[[137388]]


陈迪豪,UnitedStack有云的基础架构工程师,目前专注于Docker、OpenStack社区。Docker监控管理工具Seagull项目作者,开源电子书《理解Linux进程》作者。

 

责任编辑:鸢玮 来源: UnitedStack有云
相关推荐

2016-03-23 14:07:01

戴尔

2020-08-12 18:11:02

戴尔

2018-09-18 23:29:43

小程序云服务

2019-05-05 16:57:51

云安全NFV云网融合

2012-09-24 17:48:02

IT管理平安保险H3C

2015-08-18 11:26:31

DockerExec应用容器

2015-10-28 13:46:48

UnitedStackOpenStackUOS

2016-10-17 13:33:26

原子主机AnsibleCockpit

2011-08-26 15:51:46

2015-10-23 17:29:24

AtomicOpenStack 应用部署

2011-08-11 13:45:46

2013-07-05 16:48:14

用友NC6

2024-04-26 07:54:07

ZustandReact状态管理库

2009-05-11 15:31:09

2015-01-04 09:42:28

MDSA移动开发者服务联盟

2014-10-21 10:46:22

ICT华为

2019-07-16 14:44:52

DockerMySQL操作系统

2016-06-29 09:13:41

大数据
点赞
收藏

51CTO技术栈公众号