kubeedge源码分析系列一:总体架构分析

kubeedge是华为在KubeCon CloudNativeCon China 2018上发布的面向边缘环境容器管理平台。kubeedge能够接入云端Kubernetes集群,使得边缘端应用的管理可以跟云端应用的管理一样,采用广为熟知的Kubernetes API。

SEL实验室准备用一系列文章分析kubeedge的总体架构和各个模块的内部实现机制,本文为系列文章的第一篇。

knative architecture
继续阅读

从contaienrd pull镜像流程分析oci distribution spec

oci组织成立以来已经形成了关于image和runtime的两个spec。2018年4月,作为与registry交互的镜像分发协议也进入了oci标准化的工作范围。oci以当前被广泛采用的Docker Registry HTTP API V2为基础,构建了oci distribution spec。
containerd当前同时支持docker版的和oci版的registry api。为了了解oci所定义的镜像分发协议,本文分析v1.1.0的containerd代码pull流程,tag创建时间为2018年4月23日。

docker architecture
继续阅读

Service Mesh深度学习系列(三)| xds协议解密

pilot architecture
service mesh社区的健康发展离不开控制面和数据面之间的标准化接口,从而使得无论是控制面的开发团队还是数据面的开发团队都可以集中精力依照统一标准开发。对此,istio社区中提出了xds这种data plane api,并号召开源社区的广泛参与和采用。本文着重分析istio项目中的xds主要存在形式,包括cds和eds

继续阅读

Service Mesh深度学习系列(二)| istio pilot模块分析

如下图所示,istio的pilot模块扮演服务注册中心、istio控制平面到Envoy之间的桥梁作用。pilot主要功能包括:

  1. 监控服务注册中心(如Kubernetes)的服务注册情况。在Kubernetes环境下,会监控serviceendpointpodnode等资源信息
  2. 监控istio控制面信息变化,在Kubernetes环境下,会监控包括RouteRuleVirtualServiceGatewayEgressRuleServiceEntry等以Kubernetes CRD形式存在的istio控制面配置信息。
  3. 将上述两类信息合并组合为Envoy可以理解的(即遵循Envoy data plane api的)配置信息,并将这些信息以gRPC协议提供给Envoy

pilot architecture
继续阅读

Service Mesh深度学习系列(一)| istio pilot-agent模块分析

如istio官方关于pilot模块的架构图所示,istio中的agent模块负责的工作包括:

  1. 生成envoy的配置
  2. 启动envoy
  3. 监控并管理envoy的运行状况,比如envoy出错时pilot-agent负责重启envoy,或者envoy配置变更后reload envoy

而envoy负责接受所有发往该pod的网络流量,分发所有从pod中发出的网络流量。

istio architecture
继续阅读

《Docker容器与容器云》第2版推荐

自Docker容器与容器云第1版出版以来,销量达到10000多本,得到了广大技术人员的认可,并且翻译成繁体,进入台湾市场。本书对Docker和Kubernetes的源码解析深入细致,是国内Docker界的良心之作。

经过作者们多年的实践经验积累及近一年的精心准备,浙江大学SEL实验室出版的《Docker容器与容器云》第2版,终于与我们见面了。

docker2

继续阅读

《Docker容器与容器云》推荐

《Docker容器与容器云》是Kubernetes社区核心开发者张磊博士及其技术团队近年来PaaS方面积累,全书不仅描述了容器与容器云技术,还融入了实验室四年来对云计算各个层面的理解。该书是国内第一本对Docker原理进行深度解析的书籍,也是第一本结合PaaS对各类容器云进行深度剖析,并着重深入分析Kubernetes原理的书籍。

该书从2014年12月开始写作到2015年9月正式出版发行,期间数易其稿,从最初的对源码进行逐字逐句的分析,转变为带着问题去思考,最后再回到源码去理解问题背后的本质,书的每一章每一节都是实验室智慧与汗水的结晶。

Docker 容器与容器云-

继续阅读