NOTE

Kubelet 容器运行时/CRI/CNI 初始化

kubelet的 syncPod方法 是同步Pod的主要方法,在这个方法的最后调用了kl.containerRuntime.SyncPod方法,其实现是kubeGenericRuntimeManager.SyncPod,其代码目录为:pkg/kubelet/kuberuntime/kuberuntime_manager.go 本文按照代码顺序,依次介绍 CRI(服务端/客户端)、kubeG...

理解 K8s CSI 存储插件机制

目录 CSI Spec中的RPC接口 Identity Service Controller Service Node Service In Tree CSI Plugin 关于通信方式 推荐的部署以及开发方式 开发CSI驱动 Kubernetes CS...

shell 运维命令集合

目录 求和、求平均值 grep 显示前后命令 循环读取文件的内容 查看磁盘读写io nc 网络测试命令 变量的默认值 安装包管理 sed 命令 ansible 基本用法 nslookup 测试域名解析 ssh 配置免密登录 使用 tc 模拟网络丢包和时延 vi 复制与删除 查看文件被哪个进程占用 set -euxo pipefai...

容器share pid 导致 restart 命令卡主

在工作中发现执行 docker restart 命令重启一个容器的时候,容器卡主了,这里分析总结下原因。其结论是容器 share pid namespace 功能不完善,社区已经有 PR 修复问题。 问题复现/现象 使用下面 yaml 创建 pod,在 yaml 中配置了两个容器,并且设置了共享 pid namespace:shareProcessNamespace: true apiVe...

linux 块设备 IO 栈浅析[转载]

原文地址linux块设备IO栈浅析 块存储,简单来说就是使用块设备为系统提供存储服务。块存储分多种类型,有单机块存储,网络存储(如NAS,SAN等),分布式块存储(目前主流的如AWS的EBS,青云的云硬盘,阿里云的云磁盘,网易云硬盘等)。通常块存储的表现形式就是一块设备,用户看到的就是类似于sda,sdb这样的逻辑设备。本文主要介绍Linux块设备,对Linux的块设备I/O栈进行分析。 ...

Golang 汇编入门-从输出 HelloWorld 说起[转载]

原文地址:Go 语言汇编入门 —— 从输出 HelloWorld 说起 作者:挖坑的张师傅 链接:https://juejin.im/post/5d6c58465188251a875b169e 来源:掘金 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 在 JVM 中,字节码可以帮我们搞清楚很多编译执行的细节, 为了搞清楚 go 语言底层的语法糖和原理,需要对底层的...

大概了解下 Golang 中的垃圾收集

本文分析的算法是根据go1.12版本,主要参考《Garbage Collection In Go》系列文章。回收过程分为四个阶段: Mark Setup - STW Marking - Concurrent Mark Termination - STW Sweeping - Concurrent Mark Setup - STW 垃圾收集开始的时候,第一件事是打开写屏障...

containerd runc docker 之间的关系

从 Docker 1.11 开始,Docker 容器运行已经不是简单的通过 Docker daemon 来启动,而是集成了containerd、runC 等多个组件。Docker 服务启动之后,我们也可以看见系统上启动了 dockerd、docker-containerd 等进程,本文主要介绍新版 Docker(1.11 以后)每个部分的功能和作用。 runC runc是由Docker公司...

理解 Golang 中的 unsafe Pointer

对于 unsafe.Pointer,在编程过程中用的不多,但是源码中经常遇到,理解 unsafe.Pointer 有助于更好的理解 Golang 的运行机制。 定义及使用 在 unsafe 包中,unsafe.Pointer 的定义为 ArbitratyType,代表任意类型,代码中的注释说这个类似起占位符的作用,我们就理解成 unsafe.Pointer 是一个可以指向任意类型的指针就可...

K8s 队列之基本 Controller 设计模式

目录 一般工作过程 1.队列声明 2.队列初始化 3.往队列里丢事件 4.启动worker 限速器(加入队列时限速) ItemExponentialFailureRateLimiter BucketRateLimiter 限速队列(延时队列+限速器) ...