上一页 1 2 3 4 5 6 ··· 38 下一页

2025年8月10日

摘要: intro 之前看内核代码的时候,只是大致浏览了内核的主要常规流程:也就是正常情况下的正常流程,通常对于异常/边界场景并没有怎么关注。在遇到一些非常规问题时,就会主动或者被动的思考一些边界的异常问题。 内核的一个重要的作用就是进行各种调度(进程运行/阻塞)/同步(资源访问)/分配(内存/CPU)操作 阅读全文
posted @ 2025-08-10 21:44 tsecer 阅读(57) 评论(0) 推荐(0)

2025年7月19日

摘要: intro 在多线程中,数据的安全性和程序的性能之间总是有一个平衡关系:并发控制需要使用锁来同步,而锁又总是可能引入性能损失。为了尽量在数据安全的前提下提高所得性能,linux用户态引入futex锁,内核引入RCU锁,C++中的shared_ptr都在尽量减少锁的损耗。 shared_ptr是C++ 阅读全文
posted @ 2025-07-19 18:08 tsecer 阅读(78) 评论(0) 推荐(0)

2025年6月21日

摘要: intro 从内核的代码可以看到,namespace是在进程创建的时候创建,没有进程引用namespace的时候销毁。反过来说:namespace的创建要依赖进程的创建,不创建进程就没办法创建namespace。 那么这个触发创建namespace的进程从哪里来?特别是POD这种k8s引入的容器的容 阅读全文
posted @ 2025-06-21 19:49 tsecer 阅读(24) 评论(0) 推荐(0)

2025年5月28日

摘要: intro 接触过docker的人都都会听说过,docker的是建立在namespace、cgroup、unionfs三个基础功能之上的。 namespace是linux内核中支持容器化的一个重要组成部分,也就是说:创建容器的时候必定会调用系统调用(syscall)来创建新的namespace。 因 阅读全文
posted @ 2025-05-28 21:30 tsecer 阅读(44) 评论(0) 推荐(0)

2025年4月23日

摘要: intro 在k8s中,kubectl exec提供了登录特定容器的可观测方法。以前一直有一个印象:kubectl是通过RESTful API HTTP连接来实现,而kubectl的tty操作必然需要长连接。 这个功能是如此的重要以至于会让人忍不住思考:它是如何实现的? k8s官方网站的Contai 阅读全文
posted @ 2025-04-23 21:11 tsecer 阅读(60) 评论(0) 推荐(0)

2025年3月22日

摘要: intro 大部分“现代”语言都支持自动内存回收(garbage collection),也支持反射(reflection)。go作为一种新出现的语言自然也不例外。 lua、Python作为动态语言,类型信息就保存在对象中,这也是动态语言可以动态添加字段/执行函数的基础。 golang作为C语言的广 阅读全文
posted @ 2025-03-22 18:06 tsecer 阅读(32) 评论(0) 推荐(0)

2025年3月8日

摘要: intro 在之前的测试中,如果严格限制了所有SNAT的源修改为特定IP+PORT,将所有发往本机137.0.01:8080的tcp都SNAT到127.0.0.1:40000端口。 tsecer@harry: sudo iptables -t nat -A POSTROUTING -p tcp -d 阅读全文
posted @ 2025-03-08 18:09 tsecer 阅读(100) 评论(0) 推荐(0)

2025年2月19日

摘要: intro k8s网络重度依赖了linux的iptables。在iptables提供的功能中,网络地址转换(NAT—Net Address Translation)又是一个重要的功能:当POD中的container需要访问集群外的网络时,就可能需要进行源地址转换(SNAT/MASQUERADE)。 阅读全文
posted @ 2025-02-19 21:11 tsecer 阅读(90) 评论(0) 推荐(0)

2025年1月7日

摘要: intro go作为一个新生的语言,跟C++相比提供了更多的易用性,但是对(习惯了C++的)新手来说这种便利也封装了更多的细节。一个基本的问题是:C++工程通常基于Makefile/CMake/bazel等外部工具进行构建,但是go的构建通常只需要使用go build或者go install这样的单 阅读全文
posted @ 2025-01-07 18:05 tsecer 阅读(510) 评论(0) 推荐(0)

2025年1月6日

摘要: intro 作为一个分布式虚拟化系统,网络在k8s中有重要意义。不同node上pod如何基于网络进行通讯是一个需要解决的基本/重要问题。在k8s的Networking and Network Policy中提到了常用的网络策略。其中的列表显然是按照字典序(而不是使用频率)排列,其中提到了比较常用的f 阅读全文
posted @ 2025-01-06 21:10 tsecer 阅读(97) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 ··· 38 下一页

导航