Go mod 同一个module的多版本问题
Docker Desktop 是 Windows 和 Mac 上最为流行 Docker 开发环境,是否有办法在Docker Desktop中,利用容器来使用eBPF呢?本文参考了部分 https://github.com/singe/ebpf-docker-for-mac 相关实现,来帮助大家尝试一下。
本文主要分析 TCP 协议的实现,但由于 TCP 协议比较复杂,所以分几篇文章进行分析,这篇主要介绍 TCP 协议建立连接时的三次握手过程。
TCP 协议应该是 TCP/IP 协议栈中最为复杂的一个协议(没有之一),TCP 协议的复杂性来源于其面向连接和保证可靠传输。
如下图所示,TCP 协议位于 TCP/IP 协议栈的第四层,也就是传输层,其建立在网络层的 IP 协议。
Calico团队在3.13版本引入了eBPF,这个新的dataplane与传统的linux dataplane有哪些区别呢?
此外,社区对新dataplane进行了性能测试,在短连接延时、服务访问时间、cpu使用率等方面,性能都有明显提升,详见:https://www.tigera.io/blog/introducing-the-calico-ebpf-dataplane/
Kubernetes 对内存资源的限制实际上是通过 cgroup 来控制的,cgroup 是容器的一组用来控制内核如何运行进程的相关属性集合。针对内存、CPU 和各种设备都有对应的 cgroup。cgroup 是具有层级的,这意味着每个 cgroup 拥有一个它可以继承属性的父亲,往上一直直到系统启动时创建的 root cgroup。关于其背后的原理可以参考: 深入理解Kubernetes资源限制:内存。
今天我们将通过实验来探索容器在什么情况下会被 oom-killed。