CoreOS

CoreOS 介绍

提起 Docker,我们不得不提的就是 CoreOS.

CoreOS 对 Docker 甚至容器技术的发展都带来了巨大的推动作用。其提供了运行现代基础设施的特性,支持大规模服务部署,使得在基于最小化的现代操作系统上构建规模化的计算仓库成为了可能。

CoreOS 特性

一个最小化操作系统

CoreOS 被设计成一个基于容器的最小化的现代操作系统。它比现有的 Linux 安装平均节省 40% 的 RAM(大约 114M )并允许从 PXE 或 iPXE 非常快速的启动。

无痛更新

利用主动和被动双分区方案来更新 OS,使用分区作为一个单元而不是一个包一个包的更新。这使得每次更新变得快速,可靠,而且很容易回滚。

Docker 容器

应用作为 Docker 容器运行在 CoreOS 上。容器以包的形式提供最大得灵活性并且可以在几毫秒启动。

支持集群

CoreOS 可以在一个机器上很好地运行,但是它被设计用来搭建集群。

可以通过 k8s 很容易得使应用容器部署在多台机器上并且通过服务发现把他们连接在一起。

分布式系统工具

内置诸如分布式锁和主选举等原生工具用来构建大规模分布式系统得构建模块。

服务发现

很容易定位服务在集群的那里运行并当发生变化时进行通知。它是复杂高动态集群必不可少的。在 CoreOS 中构建高可用和自动故障负载。

CoreOS 工具介绍

CoreOS 内置了 服务发现容器管理 工具。

服务发现

CoreOS 的第一个重要组件就是使用 etcd 来实现的服务发现。在 CoreOSetcd 默认以 rkt 容器方式运行。

  1. $ rkt list
  2. UUID APP IMAGE NAME STATE CREATED STARTED NETWORKS
  3. 57581644 etcd quay.io/coreos/etcd:v3.2.10 running 1 minute ago 1 minute ago

etcd 使用方法请查看 etcd 章节

容器管理

第二个组件就是 Docker,它用来运行你的代码和应用。CoreOS 内置 Docker,具体使用请参考本书其他章节。

快速搭建 CoreOS 集群

在这里我们要搭建一个集群环境,毕竟单机环境没有什么挑战不是?

然后为了在你的电脑运行一个集群环境,我们使用 Vagrant。

Vagrant 的使用这里不再阐述,请自行学习

如果你第一次接触 CoreOS 这样的分布式平台,运行一个集群看起来好像一个很复杂的任务,这里我们给你展示在本地快速搭建一个 CoreOS 集群环境是多么的容易。

准备工作

首先要确认在你本地的机器上已经安装了最新版本的 Virtualbox, Vagrant 和 git。

这是我们可以在本地模拟集群环境的前提条件,如果你已经拥有,请继续,否则自行搜索学习。

配置工作

从 CoreOS 官方代码库获取基本配置,并进行修改

首先,获取模板配置文件

  1. $ git clone https://github.com/coreos/coreos-vagrant
  2. $ cd coreos-vagrant
  3. $ cp user-data.sample user-data

获取新的 token

  1. $ curl https://discovery.etcd.io/new

把获取的 token 放到 user-data 文件中,示例如下:

  1. #cloud-config
  2. coreos:
  3. etcd:
  4. discovery: https://discovery.etcd.io/<token>

启动集群

默认情况下,CoreOS Vagrantfile 将会启动单机。

我们需要复制并修改 config.rb.sample 文件.

复制文件

  1. cp config.rb.sample config.rb

修改集群配置参数 num_instances为3。

启动集群

  1. vagrant up
  2. =>
  3. Bringing machine 'core-01' up with 'virtualbox' provider...
  4. Bringing machine 'core-02' up with 'virtualbox' provider...
  5. Bringing machine 'core-03' up with 'virtualbox' provider...
  6. ==> core-01: Box 'coreos-alpha' could not be found. Attempting to find and install...
  7. core-01: Box Provider: virtualbox
  8. core-01: Box Version: >= 0
  9. ==> core-01: Adding box 'coreos-alpha' (v0) for provider: virtualbox
  10. core-01: Downloading: http://storage.core-os.net/coreos/amd64-usr/alpha/coreos_production_vagrant.box
  11. core-01: Progress: 46% (Rate: 6105k/s, Estimated time remaining: 0:00:16)

添加 ssh 的公匙

  1. ssh-add ~/.vagrant.d/insecure_private_key

连接集群中的第一台机器

  1. vagrant ssh core-01 -- -A

写于 2019年05月08日2130

如非特别注明,文章皆为原创。

转载请注明出处: https://www.liayal.com/article/5cd242adc0ab13505eeefac0

记小栈小程序上线啦~搜索【记小栈】【点击扫码】体验

你不想说点啥么?
😀😃😄😁😆😅😂🤣☺️😊😇🙂🙃😉😌😍😘😗😙😚😋😜😝😛🤑🤗🤓😎🤡🤠😏😒😞😔😟😕🙁☹️😣😖😫😩😤😠😡😶😐😑😯😦😧😮😲😵😳😱😨😰😢😥🤤😭😓😪😴🙄🤔🤥😬🤐🤢🤧😷🤒🤕😈👿👹👺💩👻💀☠️👽👾🤖🎃😺😸😹😻😼😽🙀😿😾👐👐🏻👐🏼👐🏽👐🏾👐🏿🙌🙌🏻🙌🏼🙌🏽🙌🏾🙌🏿👏👏🏻👏🏼👏🏽👏🏾👏🏿🙏🙏🏻🙏🏼🙏🏽🙏🏾🙏🏿🤝👍👍🏻👍🏼👍🏽👍🏾👍🏿👎👎🏻👎🏼👎🏽👎🏾👎🏿👊👊🏻👊🏼👊🏽👊🏾👊🏿✊🏻✊🏼✊🏽✊🏾✊🏿

评论

~ 评论还没有,沙发可以有 O(∩_∩)O~