Toggle navigation
Home
Archive
About
NOTE
Cgroup 内存管理与容器内存监控
虚拟地址空间概述 Linux 上进程使用的都是虚拟地址空间,再通过页表访问物理内存,其中虚拟地址空间的分布如下: 具体分为以下几部分: 只读段:代码和和常量 数据段:全局变量 堆:动态分配的内存,从低地址开始向上增长 文件映射段:包括动态库、共享内存,从高地址到下增长 栈,包括局部变量和函数调用的上下文。栈的大小是固定的。 在 C 语言中,可以使用 malloc(...
Etcd 集群基础运维
关于证书相关配置参考:《Transport security model》,可以通过查看 etcd 的启动命令,来判断证书的位置,参考参数: –cert-file=<path>: Certificate used for SSL/TLS connections to etcd. When this option is set, advertise-client-urls c...
在本地安装 Etcd 集群进行测试
在本地机器上安装一个简单的 etcd 集群,用于测试。 通过 goreman 部署集群 从 https://github.com/etcd-io/etcd/releases/v3.4.3 下载 etcd 二进制文件,放到 PATH 下面。 下载 https://github.com/etcd-io/etcd/blob/v3.4.3/Procfile 下载 Procfile 文件,这个文件...
bbolt 初体验[转载]
本文转载于 晒太阳的猫 《bbolt初体验》 什么是 bbolt bbolt 是对 Ben Johnson 的 bolt 项目的 fork ,目前被应用于 etcd 中作为底层存储。bbolt 是一个嵌入式的 KV 存储库,其作用类似于基于 C++ 的 LevelDB,但二者采用了不同的核心数据结构,前者使用 B+ Tree 且支持事务,后者使用 LSM 且不支持事务。 其实 bolt ...
使用 Context 设置 Http 请求超时
使用Context限制 Http 请求的超时时间。客户端代码如下。这里设置的超时时间是1秒钟,过了一秒钟,如果服务端还没有返回请求,则客户端主动发送 fin 报文断开请求。 func main() { ctx, cancel := context.WithTimeout(context.Background(), time.Second) defer cancel() req, er...
awk 命令基础
目录 基本语法 指定分隔符 变量 示例 对某一列求和 基本语法 awk 命令的基本语法如下,其中 pattern 表示匹配模式,actions 表示要执行的操作。语法表示当某个文本行符合 pattern 指定的匹配规则时,执行 actions 所执行的操作。pattern 和 action 都是可选的,但是两者必须保证有一个。act...
WAL 概述
目录 概述 写入wal 恢复 校验 概述 WAL(Write Ahead Log)很久就听说过,但是一直不理解怎么实现的,搜索的时候翻到一个写数据库的damo程序,看了一下,总结下WAL的实现。参考的文章为Writing a Database: Learning By Doing,这个项目的代码地址为https://github.com/danchia/ddb. WA...
Golang TLS 编程
目录 基本概念 使用 cfssl 生成证书 Golang TLS编程 server端 client端 参考 基本概念 TLS编程涉及到一些概念,比如非对称加密、私钥、公钥、CA等,需要先理清这些概念,才能把流程打通,说句题外话,之前工作的时候这部分概念理清过,也实现了TLS编程,但是文档写在公司内网了,后来也忘记了,到现...
事件处理中的 DeletedFinalStateUnknown 是什么
我们在 K8s 中处理 delete 事件时,有可能传入的资源并不是我们所关注的资源,而是一个 DeletedFinalStateUnknown,以sig-storage-local-static-provisioner 项目为例,处理 pv 事件的方法如下,可以看到在处理 delete 事件时,如果类型断言不成功,需要看一下是不是cache.DeletedFinalStateUnknown...
Statefulset 滚动升级实现
Sts控制器概述大概描述了sts控制器的工作原理,这里重点关注下滚动升级的实现。 controllerrevision 概述 记录了某一时刻podSpec template的模板,其Data字段是不可修改的,Revision字段是可以修改的。其定义如下。daemonset以及statefulset会通过ControllerRevision来实现滚动升级。 type ControllerRe...
← Newer Posts
Older Posts →