CoreOS
CoreOS 的设计是为你提供能够像谷歌一样的大型互联网公司一样的基础设施管理能力来动态扩展和管理的计算能力。
简介
CoreOS 对 Docker 甚至容器技术的发展都带来了巨大的推动作用。其提供了运行现代基础设施的特性,支持大规模服务部署,使得在基于最小化的现代操作系统上构建规模化的计算仓库成为了可能:
- 一个最小化操作系统:CoreOS 被设计成一个基于容器的最小化的现代操作系统
- 无痛更新:利用主动和被动双分区方案来更新 OS,使用分区作为一个单元而不是一个包一个包的更新。 这使得每次更新变得快速,可靠,而且很容易回滚。
- Docker 容器:应用作为 Docker 容器运行在 CoreOS 上
- 支持集群:CoreOS 可以在一个机器上很好地运行,但是它被设计用来搭建集群
- 分布式系统工具:内置诸如分布式锁和主选举等原生工具用来构建大规模分布式系统
- 服务发现:很容易定位服务在集群哪里运行并在发生变化时进行通知。
工具
服务发现
使用 etcd
实现服务发现。在 CoreOS 中 etcd 默认以 rkt 容器运行:
rkt list
容器管理
使用 Docker
来运行代码和应用。
搭建 CoreOS 集群
准备工作
本地安装 VirtualBox + Vagrant + Git
配置
git clone https://github.com/coreos/coreos-vagrant
cd coreos-vagrant
cp user-data.sample user-data
curl https://discovery.etcd.io/new # 将获取到的token更新到user_data中
cp config.rb.sample config.rb # 修改num_instances为3
启动集群
vagrant up
ssh-add ~/.vagrant.d/insecure_private_key
连接集群中第一台机器:
vagrant ssh core-01 -- -A
No Comments