摘要: PV 与 PVC PVC (PersistentVolumeClaim),命名空间(namespace)级别的资源,由 用户 or StatefulSet 控制器(根据VolumeClaimTemplate) 创建。PVC 类似于 Pod,Pod 消耗 Node 资源,PVC 消耗 PV 资源。Po 阅读全文
posted @ 2024-05-03 23:03 daemon365 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 为什么需要 CNI 在 kubernetes 中,pod 的网络是使用 network namespace 隔离的,但是我们有时又需要互相访问网络,这就需要一个网络插件来实现 pod 之间的网络通信。CNI 就是为了解决这个问题而诞生的。CNI 是 container network interfa 阅读全文
posted @ 2024-04-20 22:59 daemon365 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 启动流程 containerd 作为一个 api 服务,提供了一系列的接口供外部调用,比如创建容器、删除容器、创建镜像、删除镜像等等。使用 docker 和 ctr 等工具,都是通过调用 containerd 的 api 来实现的。 kubelet 通过 cri 调用 containerd 和这些不 阅读全文
posted @ 2023-12-07 23:10 daemon365 阅读(732) 评论(0) 推荐(0) 编辑
摘要: CDI 是什么? Container Device Interface (CDI) 是一个提议的标准,它定义了如何在容器运行时环境中向容器提供设备。这个提议的目的是使得设备供应商能够更容易地将其设备集成到 Kubernetes 集群中,而不必修改 Kubernetes 核心代码。 CDI 插件通常负 阅读全文
posted @ 2023-11-19 19:53 daemon365 阅读(765) 评论(0) 推荐(0) 编辑
摘要: Reference https://atbug.com/kubelet-source-code-analysis/ kubelet 简介 kubernetes 分为控制面和数据面,kubelet 就是数据面最主要的组件,在每个节点上启动,主要负责容器的创建、启停、监控、日志收集等工作。它是一个在每个 阅读全文
posted @ 2023-11-07 22:19 daemon365 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 早期 kubelet 创建容器工作原理 因为 docker 出生的比 k8s 早,所以 k8s 早期的容器运行时都是基于 docker 的,kubelet 通过 docker 的 api 创建容器。后来,k8s 官方不想绑死在 docker 这架马车上,就把容器运行时抽象出来,定义了一个接口,叫 C 阅读全文
posted @ 2023-10-14 22:27 daemon365 阅读(270) 评论(0) 推荐(0) 编辑
摘要: 介绍 BoltDB 是一个用 Go 语言编写的嵌入式键/值数据库。以下是关于 BoltDB 的一些基本介绍: 键/值存储: BoltDB 为应用程序提供了简单的键/值存储接口。 事务: BoltDB 支持完整的 ACID 事务。 嵌入式: 与像 MySQL 或 PostgreSQL 这样的数据库系统 阅读全文
posted @ 2023-09-09 21:18 daemon365 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 概念 kratos 为了使http协议的逻辑代码和grpc的逻辑代码使用同一份,选择了基于protobuf的IDL文件使用proto插件生成辅助代码的方式。 protoc http插件的地址为:https://github.com/go-kratos/kratos/tree/main/cmd/pro 阅读全文
posted @ 2023-06-29 22:32 daemon365 阅读(228) 评论(0) 推荐(0) 编辑
摘要: ## net/http 路由注册 ```go func test1() { http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "Hello world!") }) err := htt 阅读全文
posted @ 2023-06-28 20:48 daemon365 阅读(25) 评论(0) 推荐(0) 编辑
摘要: ## 关于 Cobra 是 Go 的 CLI 框架。它包含一个用于创建功能强大的现代 CLI 应用程序的库,以及一个用于快速生成基于 Cobra 的应用程序和命令文件的工具。 Cobra 由 Go 项目成员和 hugo 作者 [spf13](https://github.com/spf13) 创建, 阅读全文
posted @ 2023-06-28 00:30 daemon365 阅读(454) 评论(0) 推荐(0) 编辑