开始一本开源电子书《Kubernetes指南》 May 21, 2017

Kubernetes是谷歌开源的容器集群管理系统,是Google多年大规模容器管理技术Borg的开源版本,也是CNCF最重要的组件之一,主要功能包括:

...
Debugging application in containers Feb 14, 2017

对于普通的服务器进程,我们可以很方便的使用宿主机上的各种工具来调试;但容器经常是仅包含必要的应用程序,一般不包含常用的调试工具,那如何在线调试容器中的进程呢?最简单的方法是再起一个新的包含了调试工具的容器。

...
使用docker dind创建swarm集群 Jan 09, 2017

在OS X系统上,由于Docker for Mac只能创建一台虚拟机,所以要创建多节点swarm集群的话,就需要额外启动其他的虚拟机,并手动安装和配置docker。不过借助dind (docker in docker),不需要创建额外的虚拟机也可以启动一个swarm集群。

...
Grumpy: 使用Go来运行Python程序 Jan 05, 2017

Grumpy是Google近期开源(https://github.com/google/grumpy)的把Python程序编译成Go程序的工具,主要是为了解决Python GIL(Global Interpreter Lock)锁的问题,把Python中的多线程转换成goroutine来避免锁的问题。注意它跟PyPy不一样,PyPy是一个Python解释器,而Grumpy不是,它只是把Python程序翻译成了Go程序,然后再编译运行。

...
Kubernetes v1.5.0 release Dec 13, 2016

Update on 2016.12.14:

Due to a serious security problem, kubernetes v1.5.0 is not recommanded. Kubernetes v1.5.1 has just released, so we should upgrade to v1.5.1 directly.

The --anonymous-auth= flag in v1.5.0 is true by default (which may result in any users being able to access kubernetes API), but v1.5.1 turns it to false.

Kubernetes v1.5.0

  • StatefulSets (ex-PetSets)
    • StatefulSets are beta now (fixes and stabilization)
  • Improved Federation Support
    • New command: kubefed
    • DaemonSets
    • Deployments
    • ConfigMaps
  • Simplified Cluster Deployment
    • Improvements to kubeadm
    • HA Setup for Master
  • Node Robustness and Extensibility
    • Windows Server Container support
    • CRI for pluggable container runtimes
    • kubelet API supports authentication and authorization

Features

Features for this release were tracked via the use of the kubernetes/features issues repo. Each Feature issue is owned by a Special Interest Group from kubernetes/community

...
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中的负载均衡大致可以分为以下几种机制,每种机制都有其特定的应用场景:

...