编辑
2023-11-28
Linux
00

进程(process)本质来说就是处于运行当中的程序,从内核角度来看进程是一组资源的集合(cpu、内存等)。当一个进程被创建时,父子进程拥有相同的代码段(text),但是他们拥有不同的堆栈。多线程在现代已经变得司空见惯,大部分的多线程应用都是用pthread库(POSIX thread)来实现的。

编辑
2023-11-20
Linux
00

linux namespace 与 cgroup 是容器技术的基石。本篇的内容是探究docker网络的基本实现,即 linux network namespace 与 veth 的作用,基于探究与学习容器与容器之间通信,容器与外部网络通信,宿主机与容器通信。接下来首先对network namespace 与 veth 做基本介绍,然后模拟docker的网络通信模式。

编辑
2023-11-14
Kubernetes
00

k8s与安全相关的内容相当多,各种类型的证书、jwt token,相关的概念还有非对称加密、数字签名、数字证书各种内容,本篇的目的就是将这些一并学习。

编辑
2023-11-14
Kubernetes
00

初次接触k8s最让我感到复杂的是网络,CNI所涉及的技术名词太多,每种不同类型的CNI都有一套各自的实现。本篇的目的是flannel为切入点对k8s集群pod之间通信有个基本的理解。当然我也不是专业的网工,所以内容不够详尽,只能尽可能描述我所理解的内容。本篇参考了不少网上其他人的博客,更像是内容的缝合。

编辑
2023-10-23
Kubernetes
00

默认的calico-node之间是full mesh形式的,即所有calico-node之间都会建立BGP连接,如果有200个节点就在整个集群一共建立了4w个BGP连接,当集群节点数量比较多时,路由信息的变更都会带来集群流量的激增,在混合云环境中会带来额外的成本开销,也会对集群应用造成影响。参考网络上的文档,如果集群规模超过100个节点就推荐使用route reflector,本篇记录下我对于集群中自有节点和公有云节点部署route reflector的过程。