CoreOS

CoreOS Container Linux is the leading container operating system, designed to be managed and run at massive scale, with minimal operational overhead.

Kubernetes

Kubernetes is an open-source platform for automating deployment, scaling, and operations of application containers across clusters of hosts, providing container-centric infrastructure.

Kubernetes is

  • a Docker container management solution. There is also Mesos and its SaaS version Mesosphere as well as commercial products such as StackEngines Container Application Center.

  • not a container platform.  Kubernetes does not have its own container implementation built in to it. Kubernetes manages the Docker container platform.

If you already have Docker containers that you'd like to launch and load balance, Kubernetes is the best way to run them. We could install, run and use Kubernetes on CoreOS

etcd

etcd is a distributed key value store that provides a reliable way to store data across a cluster of machines. It’s open-source and available on GitHub. etcd gracefully handles leader elections during network partitions and will tolerate machine failure, including the leader.

Etcd is an open-source distributed key-value store that serves as the backbone of distributed systems by providing a canonical hub for cluster coordination and state management – the systems source of truth. While etcd was built specifically for clusters running CoreOS, etcd works on a variety of operating systems including OS X, Linux, and BSD.

Kubernetes is built on top of etcd. Kubernetes leverages the etcd distributed key-value store.  It takes care of storing and replicating data used by Kubernetes across the entire cluster, and thanks to the Raft consensus algorithm, etcd can recover from hardware failure and network partitions.

Virtual Machine

  • Software emulation of an abstrac machine

    • Make it look like hardware has features you want

    • Programs from one hardware & OS on another

  • Programming Simplicity

    • Each process thinks it has all memory/CPU time

    • Each process thinks it owns all devices

    • Different devices appear to have same interface

    • Device interfaces more powerful than raw hardware

  • Fault Isolation

    • Processes unable to directly impact other processes

    • Bugs cannot crash whole machine

  • Protection and Portability

    • Java interface safe and stable across many platforms

  • Virtual Machine vs Docker Containers

    • Virtual machines (VMs) are an abstraction of physical hardware turning one server into many servers. The hypervisor allows multiple VMs to run on a single machine. Each VM includes a full copy of an operating system, one or more apps, necessary binaries and libraries - taking up tens of GBs. VMs can also be slow to boot.

    • Containers are an abstraction at the app layer that packages code and dependencies together. Multiple containers can run on the same machine and share the OS kernel with other containers, each running as isolated processes in user space. Containers take up less space than VMs (container images are typically tens of MBs in size), and start almost instantly.

The one program running at all times on the computer is the Kernel. Everything else is either a system program (ships with the operating system) or an application program.

Operating System helps you access hardwares. Operating Systems provide a virtual machine abstraction to handle diverse hardware.

Cluster and Node

A computer cluster consists of a set of loosely or tightly connected computers that work together so that, in many respects, they can be viewed as a single system. Unlike grid computers, computer clusters have each node set to perform the same task, controlled and scheduled by software.

The components of a cluster are usually connected to each other through fast local area networks, with each node (computer used as a server) running its own instance of an operating system. In most circumstances, all of the nodes use the same hardware]and the same operating system, although in some setups, different operating systems can be used on each computer, and/or different hardware.

CoreOS, Kubernetes, etcd的更多相关文章

  1. k8s-安装coreos+kubernetes

    开始 软件 版本 分支 简称 Container Linux 1465.7.0 stable coreos kubernetes 1.7.3 stable k8s 本文主要内容来自coreos.com ...

  2. webserver Etcd Cluster / CoreOS etcd / macOS etcd

    s https://coreos.com/etcd/ https://coreos.com/etcd/docs/latest/ macOS mojave etcd 003deMac-mini:~ ma ...

  3. kubernetes容器集群部署Etcd集群

    安装etcd 二进制包下载地址:https://github.com/etcd-io/etcd/releases/tag/v3.2.12 [root@master ~]# GOOGLE_URL=htt ...

  4. 【Linux】【Services】【SaaS】Docker+kubernetes(5. 安装和配置ETCD集群)

    1. 简介: 1.1. ETCD是kubernetes和openstack都用到的组件,需要首先装好 1.2. 官方网站:https://coreos.com/etcd/ 1.3. ETCD的作用: ...

  5. Docker中部署Kubernetes

    Kubernetes为Google开源的容器管理框架,提供了Docker容器的夸主机.集群管理.容器部署.高可用.弹性伸缩等一系列功能:Kubernetes的设计目标包括使容器集群任意时刻都处于用户期 ...

  6. Kubernetes deployed on multiple ubuntu nodes

    This document describes how to deploy kubernetes on multiple ubuntu nodes, including 1 master node a ...

  7. 使用Docker容器来源码编译etcd

    背景 etcd是CoreOS公司开发的分布式键值对存储库.在Kubernetes中,我们需要使用etcd作为所有REST API对象的持久化存储. 不幸的是,在github的release中,Core ...

  8. etcd集群的搭建

    由于最近在学习kubernetes,etcd作为kubernetes集群的主数据库,必须先启动. etcds实例名称 IP地址 Hostname etcd 1 192.168.142.161 kube ...

  9. 在CentOS7上部署Kubernetes集群

    在CentOS7上部署Kubernetes集群 文/FCBusquest 2015-12-22 18:36:00 简介 Kubernetes(k8s)是Google开源的大规模容器集群管理系统, 本文 ...

随机推荐

  1. 手机自动化测试:appium源码分析之bootstrap十一

    手机自动化测试:appium源码分析之bootstrap十一   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣 ...

  2. 5.Redis常用命令:Hash

    我们可以将Redis中的Hashes类型看成具有String Key和String Value的map容器.所以该类型非常适合于存储值对象的信息.如Username.Password和Age等.如果H ...

  3. ecshop SQL注入漏洞导致代码执行

    漏洞名称:ecshop SQL注入漏洞导致代码执行补丁编号:11208761补丁文件:/includes/libinsert.php补丁来源:云盾自研漏洞描述:ecshop的/includes/lib ...

  4. (iOS)开发中收集的小方法

    1.颜色转变成图片 - (UIImage *)createImageWithColor:(UIColor *)color {     CGRect rect = CGRectMake(0.0f, 0. ...

  5. Android系统结构

    从上图中可以看出,Android系统架构为四层结构,从上层到下层分别是应用程序层.应用程序框架层.系统运行库层以及Linux内核层,分别介绍如下: (1)Appliacation Android平台不 ...

  6. scss的初级学习随笔小计

    $white: #fff;$three: #333;$six: #666;$nine: #999;$red: #fff;$orange: #f63;$yellow: #fc0;$opcity: rgb ...

  7. linux网口绑定笔记-bind

    模式0:balance-rr 模式1:active-backup 模式2:balance-xor 模式3:broadcast 模式4:802.3ad 模式5:balance-tlb 模式6:balan ...

  8. NuGet(Nuget Packages)

    Nuget是一个.NET平台下的开源的项目,它是Visual Studio的扩展.在使用Visual Studio开发基于.NET Framework的应用时,Nuget能把在项目中添加.移除和更新引 ...

  9. Mac 下载安装MySQL

    step 1. 从官网上下载MySQL Community Server step 2. 安装MySQL step 3. 配置mysql和mysqladmin的alias $ vim ~/.bashr ...

  10. 创建,删除DOM

    需求说明: 1.上传图片,有删除功能,可上传5张,至少上传一张 html代码如下 <div class="imgUpBox"> <div class=" ...