Weekly reading list Dec 08, 2016

Docker收购Infinit PDF

Infinit为容器提供了分布式存储,其特点包括

  • 基于软件:可以部署在任何硬件之上,从遗留设备到消费级实体机、虚拟机,甚至容器。
  • 可编程:开发者可以轻松地完成多个存储基础设施的自动化创建和部署,并且每个都能借助基于策略的能力进行自定义,适配上层应用的需求。
  • 可伸缩:通过依靠一个去中心化的架构(即点对点),Infinit没有使用leader/follower模型,因而不会有瓶颈和单点失效的问题。
  • 自愈合:Infinit的再平衡策略能让系统适应各种故障,包括拜占庭将军问题。
  • 多用途:Infinit平台提供了块、对象和文件存储的接口:NFS、SMB、AWS S3、OpenStack Swift、iSCSI和FUSE等等。

...
Weekly reading list Dec 05, 2016

分布式后台毫秒服务引擎

腾讯QQ团队于12月4日开源了一个服务开发运营框架,叫做毫秒服务引擎(Mass Service Engine in Cluster,MSEC),它集RPC、名字发现服务、负载均衡、业务监控、灰度发布、容量管理、日志管理、Key-Value存储于一体,目的是提高开发与运营的效率和质量。

...
KubeCon/CloudNativeCon 2016见闻 Nov 14, 2016

题记:上周去西雅图参加了KubeCon&CloudNativeCon 2016,不仅见到Dawn、Brendan、Tim以及Sig Node的各路大神,还参加了不少有趣的session。

Compiling to Containers - Brendan Burns, Microsoft

Containers可以看作是现代分布式系统的“汇编语言”,这样分布式系统的管理实际上就成了开发“Container汇编语言”。Brendan还以JavaScript为例,演示了如何基于Metaparticle来支持不同的service pattern:

...
Kubernetes container runtime interface Sep 25, 2016

题记:最近一段时间在做Kubernetes容器引擎接口(Container Runtime Interface, CRI)的重构,并支持以插件的方式引入外部容器引擎。CRI还在紧张有序的开发中,预计在v1.5发布第一个alpha版。

...
Kubernetes中的服务发现与负载均衡 Sep 11, 2016

Kubernetes在设计之初就充分考虑了针对容器的服务发现与负载均衡机制,提供了Service资源,并通过kube-proxy配合cloud provider来适应不同的应用场景。随着kubernetes用户的激增,用户场景的不断丰富,又产生了一些新的负载均衡机制。目前,kubernetes中的负载均衡大致可以分为以下几种机制,每种机制都有其特定的应用场景:

...
如何快速启动一个Kubernetes集群 Aug 24, 2016

相比Docker一个二进制文件解决所有问题,Kubernetes则为不同的服务提供了不同的二进制文件,并将一些服务放到了addons中。故而,Kubernetes的部署相对要麻烦的多。借助minikube项目,现在可以很方便的在本机快速启动一个单节点的Kubernetes集群。

...
Setup hyperd with flannel network Jul 19, 2016

Flannel

Flannel is a virtual network that gives a subnet to each host for use with container runtimes.

Platforms like Google’s Kubernetes assume that each container (pod) has a unique, routable IP inside the cluster. The advantage of this model is that it reduces the complexity of doing port mapping.

flannel runs an agent, flanneld, on each host and is responsible for allocating a subnet lease out of a preconfigured address space. flannel uses etcd to store the network configuration, allocated subnets, and auxiliary data (such as host’s IP). The forwarding of packets is achieved using one of several strategies that are known as backends. The simplest backend is udp and uses a TUN device to encapsulate every IP fragment in a UDP packet, forming an overlay network. The following diagram demonstrates the path a packet takes as it traverses the overlay network:

...
Play with docker v1.12 Jun 24, 2016

[TOC]

Docker v1.12 brings in its integrated orchestration into docker engine.

Starting with Docker 1.12, we have added features to the core Docker Engine to make multi-host and multi-container orchestration easy. We’ve added new API objects, like Service and Node, that will let you use the Docker API to deploy and manage apps on a group of Docker Engines called a swarm. With Docker 1.12, the best way to orchestrate Docker is Docker!

...
Playing docker with hypervisor container runtime runV Jun 17, 2016

Table of contents:

[TOC]


The latest master branch of runV has already supported running as an runtime in docker. Since v1.11, docker introduced OCI contain runtime (runc) integration via containerd. Since runc and runV are both recommended implementation of OCI, it is natural to make runV working with containerd.

Now let’s have a try.

Install runv and docker

Docker could be installed via https://docs.docker.com/engine/installation/.

Since only master branch of runV supports running integrated with docker, we should compile runV by source.

...
Kubernetes-mesos architecture Jun 07, 2016

From http://cdn.yongbok.net/ruo91/architecture/k8s/kubernetes_mesos_architecture_v1.x.png