strace - trace system calls and signals strace在前面的文章其实有用到过。 strace是Linux上内置的一个工具,能非常方便用来诊断问题以及调试程序等,因为它可记录和展示一条命令究竟是如何进行系统调用(system calls) 以及其中的信号处理情况。
Read More >>>strace - trace system calls and signals strace在前面的文章其实有用到过。 strace是Linux上内置的一个工具,能非常方便用来诊断问题以及调试程序等,因为它可记录和展示一条命令究竟是如何进行系统调用(system calls) 以及其中的信号处理情况。
Read More >>>众所周知,docker容器利用linux namespace原理将应用隔离在独立的环境,但它的本质上还是一个进程,而且是跑在linux系统之上的。一般来说,我们使用的Linux系统或者Windows又或者macOS在关机的时候都不会直接拔电源,而是点关机按钮或者使用命令行输入诸如`shutdown now`此类的命令优雅的关机。那是因为通常不应该直接强行退出应用程序,而是在退出之前通过信号机制给应用进程发送指定的信号,应用收到信号后进行状态保存,资源回收等操作最后才安全地退出。
Read More >>>本文记录如果构建一个rpm包,主要涉及 构建工具,构建环境,规格描述文件和常用宏定义等
Read More >>>controller是kubernetes中非常重要的角色,控制器负责协调不同的状态,相当于大脑的角色。在使用kubernetes的过程 或者在扩展kubernetes做其他开发中基本上都会用到。因此在这里记录下。
Read More >>>随着越来越来的容器开始跑有状态服务,容器存储的需求日渐增加 因此在这里预研容器扩容存储的场景 卷扩容功能现在还是beta状态,但是也可以在在csi driver中实现具体的接口进行实验性使用。
Read More >>>在上文中,已经通过例子和大量图解解释k8s编排系统中存储资源的调度,数据流等细节。 但是上次的文章主要都是从原理上进行解释,包括in tree volume plugin,external provisioner以及最新的CSI。 他们原理上是相通的,这也是本次要深入挖掘的代码环节。
Read More >>>Raft是分布式系统中常用的基于Paxos的Consensus算法。相比于Paxos,Raft设计采用了较少的状态,并且是一种更简单、更易于理解的算法。 目前有不少的应用都是采用raft协议来保证集群节点一致性,比如ectd,consul,以及当前我们在做的存储产品也是, 网上看了下,介绍有点啰嗦而且复杂化了,因此这里做个简单总结。
Read More >>>这是Kubernetes存储系列的第二篇文章。上一篇花了一些篇幅解释了Kubernetes中的一些存储概念,最终带出了关键的一点-----动态供应。在编排系统中,存储资源也应该像Pod一样,可以动态规划的,这种方式又称之为动态供应(dynamic provision)。为了实现这个目标,k8s社区提出了好几种方案,今天在此进行探索一番。
Read More >>>