从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
继续阅读

PouchContainer CRI的设计与实现

本文从引入CRI的缘由而起,简要描述了CRI的架构,重点叙述了PouchContainer对CRI各个核心功能模块的实现。CRI的存在让PouchContainer容器加入Kubernetes生态变得更为简单快捷。而我们也相信,PouchContainer独有的特性必定会让Kubernetes生态变得更加丰富多彩。

pouch cri
继续阅读

深入理解Docker容器引擎runC执行框架

根据官方的定义:runC是一个根据OCI标准创建并运行容器的CLI tool。

Docker就是基于runC创建的,简单地说,runC是Docker中最为核心的部分,容器的创建,运行,销毁等等操作最终都将通过调用runC完成。本文以代码走读的形式帮助读者理解runC创建并运行一个容器内部机制。

runc
继续阅读

技术干货|深入理解flannel

flannel是一个专为kubernetes定制的三层网络解决方案,主要用于解决容器的跨主机通信问题。
总的来说,flannel更像是经典的桥接模式的扩展。我们知道,在桥接模式中,每台主机的容器都将使用一个默认的网段,容器与容器之间,主机与容器之间都能互相通信。要是,我们能手动配置每台主机的网段,使它们互不冲突。接着再想点办法,将目的地址为非本机容器的流量送到相应主机:如果集群的主机都在一个子网内,就搞一条路由转发过去;若是不在一个子网内,就搞一条隧道转发过去。这样以来,容器的跨网络通信问题就解决了。而flannel做的,其实就是将这些工作自动化了而已。

enter image description here继续阅读

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

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

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

docker2

继续阅读