- 博客(294)
- 资源 (12)
- 收藏
- 关注

原创 K8S的服务注册
本文主要用来介绍K8S的服务注册和发现,算是笔者对这部分知识的一个学习笔记。一、服务注册每个 Kubernetes 服务都会自动注册到集群 DNS 之中。注册过程大致如下:1.Servic...
2021-08-28 18:42:52
2901
1
原创 envoy压测
压测信息: envoy版本: 1.23.2-dev istio版本:1.15.2 envoy只打开了access log,没有配置任何VS和DR,去掉了jeager和stat-filter插件,流量通过iptables接管到envoy。 pod层面做的压测,资源为 1c2g的sidecar配比,业务容器是1c2g,响应比较快,request的大小是多少,response就返回多少。 网络是k8s...
2024-04-14 20:47:19
415
1
原创 centos7编译c++碰到的坑
centos 7默认安装的工具链和LIB库都比较旧,不能很好的编译C++产品,最近踩了很多坑,下面就列一下出来。问题1: cmake 安装新版之后,版本提示一直是旧版本的解决办法:wget https://cmake.org/files/v3.12/cmake-3.12.3.tar.gztarzxvfcmake-3.*cdcmake-3.*./bootstrap--prefix=/...
2024-02-18 13:53:16
728
原创 envoy在arm机器上的编译整理
版本信息:操作系统:GUN Linux操作系统AARCH64架构。istio-proxy版本:istio-proxy1.15.2编译环境搭建:设置代理,确保可以访问Google等外网,这里envoy的第一次编译需要从外网下载依赖库。// 备注:这里一定要设置一下,可以避免很多麻烦2. 安装G++10.3.1//其他版本应该也可以,本人安装了这个版本3.安装cmake //本人安装的是3....
2023-12-31 19:30:21
1032
原创 Envoy:关于outbound流量的处理逻辑
本篇文章,笔者试图讲清楚流量在经过Envoy之后,outbound的流量处理过程是什么样子的。envoy是istio的数据面,istio与envoy之间通过xds协议进行通讯,而istio则通过CR的方式来进行了进一步的封装,目的是为了将xds简单化,希望用户看到的配置更加的简洁,例如:Virtual Service、Destination Rule、等等。XDS是通过LDS、RDS、CDR、SD...
2023-04-25 14:54:28
386
原创 Envoy:httpfilter相关代码阅读
本篇文章是envoy httpfilter相关代码阅读的整理和总结,笔者试图通过这篇文章将http filter在envoy内部的管控讲清楚,并且将request和response是如何使用这部分 http filter功能的流程介绍清楚。httpfilter是netfilter中的一种filter,因为envoy对http支持的细粒度管控很全面,所以将httpfilter又做了一层只是针对htt...
2023-04-02 14:17:55
598
原创 Envoy:event相关代码阅读(二)
本篇文章试图来介绍envoy的事件处理部分的代码,对于envoy来说是基于libevent做了简单封装来实现的异步调度。 本篇文章会从下面两部分来进行讲解,libevent的基础知识介绍,envoy中event的类的实现和event在envoy中的调度逻辑,本篇介绍第二部分内容。一、envoy中event相关类的介绍envoy将libevent的三类事件做了一个简单的封装,如下图所示:sign...
2023-02-24 07:00:39
299
原创 Envoy:event相关代码阅读(一)
本篇文章试图来介绍envoy的事件处理部分的代码,对于envoy来说是基于libevent做了简单封装来实现的异步调度。 本篇文章会从下面两部分来进行讲解,libevent的基础知识介绍,envoy中event的类的实现和event在envoy中的调度逻辑。一、libevent的基础知识篇1.事件flags:#define EV_TIMEOUT 0x01Indicates that a...
2023-02-23 20:00:32
247
原创 Envoy 启动相关参数整理
本篇属于Envoy代码的阅读笔记,整理了envoy启动所使用到的参数信息,代码实现在类OptionsImpl 中,使用了TCLAP来进行参数的行解析处理。// 文件路径如下所示:"source/server/options_impl.h""source/server/options_impl.cc"实现逻辑在下面的构造函数中:OptionsImpl::OptionsImpl(std::vec...
2023-01-02 21:27:23
617
原创 C++ 命令行解析库TCLAP
介绍一个命令行解析库:TCLAP,属于一个比较好用的命令行解析库,Envoy中也用到了这个库,整理出来,方便后续查看。详细介绍参考:https://tclap.sourceforge.net/html/classTCLAP_1_1SwitchArg.html使用方法分成几步:先初始化一些默认的参数数值,parse传递过来的参数之后,会使用传递进来的参数代替掉这些默认值。//step1:实例化...
2022-12-29 20:05:07
932
原创 Pod内容详情梳理
本篇是笔者的一篇读书笔记,用于梳理pod的详情,方便理解和学习,也方便后续自己查询。一、Pod的概述Pod是k8s里面典型的CR,从它的元数据来看,具有所有CR的基本数据构成,分别是 version、kind,以及描述自己的元数据的其他信息,包括metadata里面的名称,命名空间,匹配的labels和注解这一些。除此之外就是Pod里面要包含的详情了,主要有:容器列表,用来描述运行相关的资源信息。...
2022-12-27 09:33:32
777
转载 转发“Istio共享代理新模式Ambient Mesh”
Sidecar 模式的一些限制,让这种共享代理模式成为可能,个人觉得mesh靠近路由转发、安全证书相关的核心功能会下沉到宿主机,甚至有可能成为网卡类的硬件设备。笔者觉得下面的两篇文章写的很好,便转发出来。下面也是文章中整理的。1.侵入性:Sidecar 容器是以Admission Webhook的方式来注入,与应用容器属于同一个Pod,因此Sidecar的升级,必须伴随着业务容器的重建。对应用负载...
2022-11-03 20:07:48
218
原创 Envoy的lib库拓扑关系
写在前面的话:本篇文章作为Envoy代码的学习笔记,整理了好久,方便后续读Envoy代码做参考使用。如果你不打算这方面深度学习,建议看完前面几张图之后就可以了或者直接不要看这篇文章,因为它的拓扑关系太复杂了。正文:Envoy使用的bazel进行编译,这种编译工具由Workspace和buid构成,通过一层层的lib库嵌套,最终编译成可执行文件。下面是作者按照编译的依赖关系整理的lib库调用关系...
2022-10-15 21:05:01
449
原创 k8s的架构是怎么变成现在这个样子
引子:笔者在学习K8S的时候,总是在问自己为啥它的架构就变成了现在这个样子的呢,这样的架构和调度设计有什么好处呢?在学习了之后,笔者便整理了这篇文章,一来,算是跟自己答疑解惑,二来,分享出来给大家来共同探讨,方便大家相互学习。正文:笔者觉得K8S就是一个大型的操作系统,只不过它管理的硬件资源比较分散,类型繁琐、数量比较庞大,但是归根结底还是管理和调度,最终还是围绕着计算资源CPU、存储资源内存和磁...
2022-10-08 18:00:30
2134
1
转载 服务网格峰会 2022 视频和PPT
幻灯片下载地址:https://github.com/cloudnativeto/academy/tree/master/service-mesh-summit/2022视频回放合集:https://www.bilibili.com/video/BV1YB4y1J7eK/信息来自于下面: 公众号:云原生社区动态 服务网格峰会 2022 视频回放及幻灯片分享 ...
2022-09-29 09:31:31
197
原创 目前社区关于ServiceMesh的主要方向
周六的时候,在线参加了“首届服务网格峰会”,听了很多业界的研究分享,便整理了这篇文章,一来,为了反思自己在服务网格这边的落地方向是不是偏离社区,二来,希望对读者有用,能够有所收获。 本次峰会,参与者众多,阿里,腾讯,蚂蚁,网易等等大厂都有参加,并都做了相应的内容分享,算是收获颇丰 峰会内容,主要围绕下面几点展开,参考下图:1.数据面的替换对于ServiceMesh...
2022-09-28 08:30:25
379
原创 流量治理第三篇:流量特点介绍
上一篇,笔者概括介绍了一下对于流量治理的三板斧操作;本篇文章笔者主要来介绍下流量的常见特点,所谓知己知彼百战百胜,我们只有了解了流量的特点,特别是他们存在的挑战,我们才能更好的治理流量。 针对流量而言,长期的流量不均,流量的响应延迟过高,瞬时的流量过大,以及流量本身内容的不安全,是我们平时治理流量的时候,不得不面对的问题,并且这些问题往往会对我们的产品产生很大的影响和冲击...
2022-09-27 08:07:16
393
原创 流量治理第二篇之三板斧
本篇文章是笔者对流量治理治理思路的总结,在这里笔者把它们称为流量治理的“三板斧”,这里笔者只是阐述下个大概,算是先给它们做个介绍,后续会详细讲解每一部分。 对于流量治理来说,笔者觉得一定要从三个方面来着手,他们分别是:“看得见”,“摸得着”,“管得住”。一、看得见“看得见”,指的是流量治理的可观察性,它们需要能够被“看见”才行,当然这里的“看见”,一方面指的是监...
2022-06-29 21:28:23
327
原创 流量治理开篇
本篇文章是笔者流量治理的第一篇文章,笔者希望在这里系统的讲解下这些年以来对流量和流量治理的理解,希望对读者有所帮助,也希望读者能够及时指正文章中笔者理解不对的地方。本篇文章笔者会从下面几点来介绍流量治理。问题一:流量治理是什么?问题二:为什么需要流量治理?问题三:如何进行流量治理?一、流量治理是什么流量治理:顾名思义流量治理就是针对流量就行治理,这里面有两个关键字,流量和......
2022-06-21 09:37:57
734
原创 性能之文件系统篇
本篇文章是性能篇的最后一篇文章,算是一个学习笔记吧,当中的例子也是从别的文章里面摘录的,主要用来讲解如何使用和查看对应的指标。这一篇主要介绍文件系统,说的更加具体点其实是磁盘这个点。笔者还是按照:基础知识----》常用命令和工具----〉排查思路的方式进行了整理。一、基础知识1. 文件系统:在磁盘的基础上,提供了一个用来管理文件的树状结构,是对存储设备上的文件,进行组织管...
2022-05-08 15:05:24
669
原创 性能之网络篇
网络通讯的链路为:机器A-----》路由器----〉机器B如果我们站在本机机器作为参考物的话,应该拆分成下面三个阶段:1.消息入口流量部分的处理流程2.流量在本机上面的处理流程3.流量出口流量部分的处理流程在上面的这三个阶段,分别涉及到了不同的基础知识、工具和命令来进行诊断,笔者本篇文章按照下面的内容来整理:1.基础知识2.常用工具和命令3.测试工具一、基础知识衡量网络性...
2022-05-04 08:55:30
1164
原创 性能之内存篇
最近笔者在看性能分析相关的是知识,就特意针对内存整理了这一篇文章,在这里笔者主要从下面三个方面来介绍这方面的知识:1.内存的作用是什么,他在操作系统中的基础知识都有哪一些?2.查看内存和内存相关问题涉及到的工具都有哪一些,他们的使用方式是什么样子的?3.碰到内存问题的时候,我们需要怎么去定位呢?一、内存的基础知识1.内存的作用:主要用来存储系统和应用程序的指令、数据、缓存...
2022-05-01 20:33:44
949
原创 性能之CPU定位工具介绍
本篇文章算是一篇读书笔记,基本上是把CPU相关的知识作了一个归纳整理,方便后续查看和排查问题。 对于CPU来说,涉及到的主要指标包括:CPU使用率、平均负载、上下文切换、硬中断、软中断、等待io和CPU缓存,而CPU的性能问题也都是与这些指标一一对应的,下面是针对不同的指标的一个定位关联图示。一、CPU性能指标二、常用工具介绍1、top: // 默认5s输出一次$ t...
2022-04-22 18:30:47
533
原创 性能之cpu篇
对于性能来说,cpu的调度逻辑是影响性能的主要来源,本文主要来介绍下cpu跟性能相关的调度逻辑和排障工具。一、cpu调度逻辑介绍:Linux 是一个多任务操作系统,支持远大于 CPU 数量的任务同时运行,而这里的同时运行采用的是分时逻辑的思路,只是看起来多个进程是同时运行的。任务运行前,CPU通过系统事先帮它设置好的 CPU 寄存器和程序计数器(Program Count...
2022-04-19 08:18:49
369
原创 性能基础知识介绍
我们在解决性能问题之前,需要先对性能的基础知识做一个简单的了解,并且要知道用哪些常用的命令来帮助我们去判断和分析这些性能问题。本篇文章主要也是来整理这部分内容,主要按照下面的思路进行整理:一、基本概念介绍。二、常用命令整理。三、主要场景分析。一、基本概念介绍平均负载:是指单位时间内,系统处于可运行状态和不可中断状态的平均进程数,也就是平均活跃进程数,它和 C...
2022-04-17 16:16:05
461
原创 K8S之kubelet介绍
一、总体概述:一旦Pod被调度到对应的宿主机之后,后续要做的事情就是创建这个Pod,并管理这个Pod的生命周期,这里面包括:Pod的增删改查等操作,在K8S里面这部分功能是通过kubel...
2022-03-08 21:00:00
12184
原创 K8S里面的调度整理
K8S是分布式系统里面的操作系统,Pod更像是操作系统里面的进程组,如此以来当一个Pod想要运行的时候,就必须要依赖于K8S的调度策略来完成这些Pod的调度。本篇文章就是来整...
2022-02-26 19:45:49
5251
原创 Envoy编译篇:Starlark语言
bazel的编译中使用了Starlark语言,这种语言类似于python语言,详细内容可以参考 :https://docs.bazel.build/versions/4.2.1/skyla...
2022-02-11 19:30:00
2596
原创 Envoy编译篇:bazel构建介绍
本篇文章通过https://github.com/bazelbuild/examples/tree/main/cpp-tutorial里面的例子,来简单介绍下bazel构建的基础知识,方便...
2022-02-07 19:30:00
942
原创 k8s三层网络通讯方式
本篇文章来介绍,K8S纯三层网络的实现原理,主要以Flannel 的 host-gw 模式和 Calico为例来介绍,是本人对K8S网络学习整理的第三篇学习笔记。一、Flannel 的 h...
2022-01-27 19:00:00
1485
原创 C++ absl的Strings Library
absl是谷歌开源出来的一个C++标准库的扩充,基于C++11以上版本进行开发,是一个性能比较高的第三方库。Abseil is an open-source collection of C...
2022-01-20 20:30:00
5196
原创 thread_local
一、介绍thread_local这个关键字的是C++11之后的产物,主要适用的场景是:本线程这个生命周期里面修改和读取,不会与别的线程相互影响。在C++中全局变量和static变量一般都是...
2022-01-10 21:00:00
660
原创 K8S跨Node网络
一、背景介绍前面一章我们介绍了Node节点上面不同的容器之间的通讯方式,主要是根据docker0(网桥)+Veth Pair的方式来玩起来的。本章我们来介绍下不同Node节点上面不同的容器...
2022-01-09 18:43:14
1093
原创 K8S网络介绍
一、背景介绍:对于K8S里面容器之间的通讯基本上面可以分为三种类型:1. POD里面不同容器之间的通讯: 因为同一个Pod里面的不同容器之间是共享同一个POD里面的网络资源,所以POD里...
2022-01-08 17:46:09
693
原创 std::function与std::bind
一、背景介绍:函数指针始终不太灵活,它只能指向全局或静态函数,对于类成员函数、lambda表达式或其他可调用对象就无能为力了,因此,C++11推出了std::function与std::b...
2022-01-06 21:00:00
1405
原创 有了container为什么还需要pod
问题: 容器明明对标的是单个进程的概念,物理机里面进程不就是调度的最小单位了吗?为什么k8s还特意搞了一个pod出来?传统玩法:我们先来看下物理机里面调度进程都需要那些资源,cpu、内存、...
2021-12-17 09:54:23
1244
原创 istio数据面的网络端口和健康检查
本篇文章整理了,istio(版本是1.11.2+)数据面所使用的端口,以及他的健康检查,算是读书笔记,方便后续查找翻看。1. istio数据面的组件介绍pilot-agent:主要用来生成...
2021-10-15 19:13:17
822
原创 iptables知识整理
Envoy的流量劫持使用的是iptables,便对这方面知识作了一个整理,方便后续查看,算是一个读书笔记吧。一、iptables四张表表(tables)提供特定的功能,iptab...
2021-09-30 15:50:34
2692
原创 Envoy流量劫持后outbound部分处理逻辑
本篇文章主要来讲解下流量劫持到envoy之后,envoy层面是如何处理,并成功找到它的下一跳服务的,当然也是我们平时说的upstream。Envoy在实现层面,定义了listener、f...
2021-09-24 19:26:55
410
原创 Service Mesh的价值到底在什么地方
背景介绍:今年有幸加入了Service Mesh小组的研发当中,经过几个月的摸索,算是对Service Mesh有了一个初步的认识。旁边也是不停的有朋友问我,Service Mesh价值是...
2021-09-10 10:12:16
176
vim用户手册
2013-03-20
笔试题集锦(C,C++)
2010-02-03
wxWidgets参考手册查询
2009-11-23
高质量C++(C) 编程指南
2009-08-16
五子棋程序(C++)
2009-08-14
WindowsAPIdq.chm(中文版)
2009-08-13
mysee客户端的配置文件
2009-08-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人