Blogs

kubeedge源码分析系列(三):edgecore架构

作者:徐洁洁 | 归档于 kubeedge

2020-12-21

本文在commit `a9b0862bed7fc2f9350a850496e60640fc43c15c`(2020.06.20)之后对KubeEdge进行源码分析,分析KubeEdge的edgecore的整体框架,对细节不做过多展示

继续阅读

kubeedge源码分析系列(二):cloudhub

作者:沈铁成 | 归档于 kubeedge

2020-12-21

本文基于KubeEdge官方文档,加上作者的亲身实践,给出以下KubeEdge1.3.0版本下Cloudcore模块中cloudhub模组的源码分析。

继续阅读

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

作者:丁轶群 | 归档于 Kubernetes

2018-11-29

kubeedge是华为在KubeCon CloudNativeCon China 2018上发布的面向边缘环境容器管理平台。kubeedge能够接入云端Kubernetes集群,使得边缘端应用的管理可以跟云端应用的管理一样,采用广为熟知的Kubernetes API。SEL实验室准备用一系列文章分析kubeedge的总体架构和各个模块的内部实现机制,本文为系列文章的第一篇,分析kubeedge的版本为1.1后的commit `31e562bc`。

继续阅读

knative serving开发环境搭建

作者:丁轶群 | 归档于 Kubernetes

2018-10-11

knative serving开发环境搭建。本文基官方knative serving的开发环境搭建文档,加自己的实践,给出以下knative serving开发环境的搭建方案。开始之前请确保已按上面的开发环境搭建文档搭好Kubernetes(1.10以上)和istio。

继续阅读

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

作者:丁轶群 | 归档于 containerd

2018-08-05

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日。

继续阅读

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

作者:丁轶群 | 归档于 service mesh

2018-07-27

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

继续阅读

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

作者:丁轶群 | 归档于 service mesh

2018-07-13

如下图所示,istio的pilot模块扮演服务注册中心、istio控制平面到Envoy之间的桥梁作用。pilot主要功能包括:1.监控服务注册中心(如Kubernetes)的服务注册情况。在Kubernetes环境下,会监控service、endpoint、pod、node等资源信息 2.监控istio控制面信息变化,在Kubernetes环境下,会监控包括RouteRule、 VirtualService、Gateway、EgressRule、ServiceEntry等以Kubernetes CRD形式存在的istio控制面配置信息。3.将上述两类信息合并组合为Envoy可以理解的(即遵循Envoy data plane api的)配置信息,并将这些信息以gRPC协议提供给Envoy

继续阅读

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

作者:丁轶群 | 归档于 service mesh

2018-06-26

如istio官方关于pilot模块的架构图所示,istio中的agent模块负责的工作包括:1.生成envoy的配置;2.启动envoy;3.监控并管理envoy的运行状况,比如envoy出错时pilot-agent负责重启envoy,或者envoy配置变更后reload envoy。而envoy负责接受所有发往该pod的网络流量,分发所有从pod中发出的网络流量。

继续阅读

PouchContainer CRI的设计与实现

作者:姚增增 | 归档于 Kubernetes

2018-05-29

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

继续阅读

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

作者:姚增增 | 归档于 Docker

2018-05-10

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

继续阅读