本文作者:林静,F5 软件方向解决方案架构师,历任 F5 Global Service ENE,APAC Professional Service 顾问,技术专家。拥有超过 10 多年的应用交付领域工作经验,秉承持续学习和反馈的理念,致力于现代应用体系下的应用服务研究。CNCF Kubernetes
IT 技术日新月异,想必每个 IT 人都会有类似的焦虑:我该学习什么?哪些知识学到就是赚到?怎样学习才能最有效提升编程能力? 阅读优秀的代码是提高编程能力万无一失的办法。诚然,提高编程能力的显著方法是写更多代码,但也需要静下心来品味优秀的代码,大侠行走江湖也需要武功秘籍,而当今优秀的开源项目代码便是
Kubernetes 诞生至今已经 5 年了,火爆整个社区,大家对 Kubernetes 越来越熟悉,越来越了解。但现阶段很多人都是熟练使用 Kubernetes,甚至我们会自嘲为 “YAML 工程师”。 可是随着各类云原生应用的出现、Operator 理念的推广、深入维护 Kubernetes 的
TL;DR 声明:下文提到的bpf/BPF字样是泛指,包括cBPF和eBPF。 通过文章,你能了解Linux内核代码中关于bpf程序的编译运行机制,并能学会如何基于Linux内核bpf示例环境编写你自己的bpf程序。文章涉及的实验环境和代码可以到这个git repo获取: https://githu
目前在云原生社区的 Kubernetes 源码研习社中和广大学友们共同学习郑东旭大佬的 Kubernetes 源码剖析这本书。当前正在开展第一期学习活动,第五章节 client-go 的学习。之所以从这一章节开始学习,主要是考虑到 client-go 在源码中相对比较独立,可以单独阅读。更主要的是它
Linux 年内和观测技术 BPF 由范老师和我一起翻译的图书 《Linux内核观测技术BPF》 已经在 JD 上有现货,欢迎感兴趣 BPF 技术的同学选购。链接地址 https://item.jd.com/72110825905.html “eBPF 是我见过的 Linux 中最神奇的技术,没
引言 2020 年 8 月 21 日,Istio 发布了 1.7 版本。除了介绍新版本的主要更新内容外,本文会重点分析 Istio 团队在产品更新策略上的激进态度和举措。是稳扎稳打做好向后兼容,带给用户所承诺的易用性;还是快刀斩乱麻,做进击的追风少年,且听笔者慢慢道来。 如约而至——Istio 1.
作为开源 Service Mesh 明星项目 Istio 背后的主要厂商,Google 也在其公有云上推出了 Service Mesh 管理服务。让人迷惑的是 Google Cloud 上有两个 Service Mesh 产品:Traffic Director 与 Anthos Service Me
Informer原理图 为了便于理解,先上两张图。 源码的调用流程图 可以对照着图中的代码文件及代码行数跟下代码。 注: 图中的代码行数基于1.15版。 informer 数据结构图 informer-data-structure Informer 工厂 先来看下cmd/
本文主要根据书籍 《Kubernetes 源码剖析》的基础上,对 Client-go 部分的 Informer 机制进行了解与学习。 Informer 机制 Kubernetes 中使用 http 进行通信,如何不依赖中间件的情况下保证消息的实时性,可靠性和顺序性等呢?答案就是利用了 Informe
不管你关注不关注,云原生它走来了,它乘着万丈光芒的 Kubernetes 走来了;不管你承认不承认,Kubernetes 已经成为了云计算时代的操作系统。对于 Kubernetes,最为大家所熟知的就是它强大的容器编排能力(同为容器编排的还有 Mesos、Docker Swarm,但是 Kubern
Overview 这篇文章主要是学习Informer机制并且理解Informer各个组件的设计。 背景 为什么Kubernetes需要Informer机制?我们知道Kubernetes各个组件都是通过REST API跟API Server交互通信的,而如果每次每一个组件都直接跟API Server交
本文是 2020 年 8 月 15 号在深圳 GIAC(GLOBAL INTERNET ARCHITECTURE CONFERENCE)全球互联网架构大会,由宋净超(Jimmy Song)出品的云原生专场中的现场实录。 王发康(毅松)蚂蚁集团可信原生技术部 技术专家,专注于高性能网络服务
一、简介 在kubernetes系统中,组件之间通过http协议进行通信,通过informer来做到了消息的实时性、可靠性、顺序性, 通过informer机制与api-server进行通信。 二、架构设计 infomer 1.Reflector (1)简介 informer可以对kub
彭磊,陈凌鹏,腾讯云高级软件工程师,目前负责 TCM 服务网格产品,致力于打造云原生服务网格。本文首发于腾讯云+社区。 在腾讯,已经有很多产品已使用或者正在尝试使用 istio 来作为其微服务治理的基础平台。不过在使用 istio 时,也有一些对通信性能要求较高的业务会对 istio 的性能有一些担
Istio 作为目前 Service Mesh 方案中的翘楚,吸引着越来越多的企业及开发者。越来越多的团队想将其应用于微服务的治理,但在实际落地时却因为不了解 Istio 黑盒中的运行机制而左右为难,本文将基于 1.7 的源码讲解 Istio 的核心组件 Pilot 的结构及运行流程,希望对读者应用
随着云原生发展的深入,服务网格的发展也如火如荼,其中的翘楚之才——Istio 也是备受大家的关注与喜爱,部分企业已经将 Istio 在生产上进行了使用。虽然 Istio 经历了架构变化、捐赠风波,但是不影响广大IT从业者对其的热爱。 云原生社区为了能够给国内服务网格热爱者提供一个交流学习的机会,并秉
DevOps简述 顾名思义,DevOps就是开发(Development)与运维(Operations)的结合体,其目的就是打通开发与运维之间的壁垒,促进开发、运营和质量保障(QA)等部门之间的沟通协作,以便对产品进行小规模、快速迭代式地开发和部署,快速响应客户的需求变化。它强调的是开发运维一体化,
了解了 Pilot 源码的基本结构和启动流程之后,我们可以深入探索 Pilot 究竟是怎么下发 xDS 协议的,以及协议的生成逻辑。相信大家都会有这些疑问:控制面与数据面详细的交互过程是什么?到底什么时候才会增量推送?增量推送判断的逻辑是什么? 非 Kubernetes 原生的服务(如存在于虚拟机的
本篇主要探讨上一篇源码分析中留下的问题,如 EnvoyXdsServer 是如何工作的,以及 xDS 的下发流程。对推送事件的防抖、SidecarScope 的运用做一些细致的分析。 EnvoyXdsServer EnvoyXdsServer 主要负责 Pilot 中 xDS 协议的生成和下发,接收