1password ssh agent验证失败

新电脑用了 1password 管理 ssh key 之后,体验很棒。
但是想在旧电脑上使用的时候却踩了坑。希望借此机会梳理下排查思路以及给更多人避坑。

阅读全文

cadvisor网络指标的查询

最近几天遇到一个网络指标的问题,容器的带宽指标比机器的带宽指标还高。进而定位到 hostnewrok 类型的容器的带宽是和主机一致。 以下是 chatgpt 的解释: 12345在Kubernetes中,hostNetwork类型的容器意味着容器共享主机的网络命名空间。这意味着容器将直接与主机网络接口(如eth0)通信,而不是通过虚拟网络接口(如veth)。...

阅读全文

kruise原地升级问题记录

首先关注 pod 上原地升级状态的流转 其次关注单个 pod 原地升级过程中的详细步骤: 图片中详细介绍了 kruise 组件进行原地升级的全过程,主要关注: kruise controller 记录上次 pod 的信息打进 pod annotation 更改 pod 字段 由 kueblet 和 kruise daemon 负责对应的容器更新过程 d...

阅读全文

m1安装hexo踩坑

最近换了 m1 的电脑,在鼓捣 hexo 的时候踩了一些坑。主要涉及到 m1 arm 架构的适配、高版本默认不安装 python2 导致旧项目缺少以来无法运行、高版本 npm 和 不维护项目的适配冲突等。

阅读全文

一文读懂runc

一、引言

随着互联网和云计算技术的飞速发展,应用部署和管理变得越来越重要。为了提高应用的开发、测试和部署效率,容器技术应运而生。容器技术提供了一种轻量级的、可移植的解决方案,使得开发者能够在不同的环境中快速部署和运行应用。这就引出了我们今天要讨论的主题—— runc,一个关键的容器运行时组件。

容器技术的背景可以追溯到 Unix 时代的 chroot 机制,但直到近年来,Docker 的出现才使得容器技术变得更加广泛和易用。Docker 极大地简化了应用的打包、分发和部署流程,使得容器技术得以迅速普及。然而,Docker 只是整个容器生态中的一部分,更底层的容器运行时组件则负责实际的容器创建和管理。这就是 runc 的作用所在。

runc 是一个符合 Open Container Initiative(OCI)标准的轻量级容器运行时。它是 Docker 容器运行时的一个核心组件,也是容器生态中的关键部分。runc 负责创建、启动和运行容器,为上层工具提供基础设施。由于 runc 遵循 OCI 标准,它不仅可以与 Docker 集成,还能与其他容器管理工具(如 Kubernetes、Podman 等)协同工作。

本文旨在帮助读者更好地理解 runc 的原理、作用及其在容器生态中的地位。我们将深入探讨 runc 的架构、组件、工作原理以及如何在实际应用中使用 runc。最后,我们将对 runc 的未来发展和在容器生态中的地位进行展望。希望本文能为您提供关于 runc 的全面认识,助力您更好地利用容器技术改进应用的开发、部署和管理。

阅读全文

一种无阻塞读写 channel 的方法

前情概要最近设计了线程模型: 所有的请求在 handler 中进行简单读和计算处理, 所有关于资源竞争的操作都被提交到一个单独的线程去统一处理 因为资源竞争的处理环境是绝对串行,所以在这个单独的线程中完全无锁。这样的设计下就要求: 该线程不会被阻塞 线程中单个逻辑尽可能简单,不能成为性能的瓶颈 如果能做到这两个要求,那么一个绝对简单的线程处理逻辑...

阅读全文

浅谈 socket

最近在写 MIT 6.824 的 lab,其中读作业框架代码的时候发现当中 RPC 使用的是 Unix Socket,然后另一个被注释的实现是 TCP socket。就联想起 IPC 中的 Socket 方式。那么这三者究竟是怎样的关系呢?

阅读全文

一个很奇怪的 c++ 项目编译问题

这是一段对 GPU 数据库 Megawise 开发期间经历的一次回顾与总结。时间稍微有点久远,可能有些细节不是特别清楚。

阅读全文

Review Phantoscope

在项目结束大半年后再来写这份总结,避开了当时一些情绪影响的因素,更好地回顾这段关于 Phantoscope 的经历。本文包含了一些自己对 Phantoscope 的思考、未来,以及自己在这段经历中的反思与总结。

阅读全文

k8s 部署 mysql5.7 踩坑

这周做了一个工作:把一份 helm 部署的方案使用 client-go 进行迁移以进行后续代码部署。
然后一个神奇的现象发生了,同样是 mysql 5.7.30,mysql helm 成功部署了,但我照抄yaml失败了,且到最后都没有找到最核心的解决方案,转而通过低版本解决了问题。
但还是心有牵挂,记录一下,后续进行更多的尝试。

阅读全文