随笔分类 -  容器&k8s

摘要:幕后英雄:SIG-Node与CRI kubelet 本身,也是按照“控制器”模式来工作的。它实际的工作原理,可以用如下所示的一幅示意图来表示清楚。 可以看到,kubelet 的工作核心,就是一个控制循环,即:SyncLoop(图中的大圆圈)。而驱动这个控制循环运行的事件,包括四种: Pod 更新事件 阅读全文
posted @ 2024-04-24 21:41 Blue Mountain 阅读(56) 评论(0) 推荐(0) 编辑
摘要:Kubernetes的资源模型与资源管理 我在前面的文章中已经提到过,在 Kubernetes 里,Pod 是最小的原子调度单位。这也就意味着,所有跟调度和资源管理相关的属性都应该是属于 Pod 对象的字段。而这其中最重要的部分,就是 Pod 的 CPU 和内存配置,如下所示: apiVersion 阅读全文
posted @ 2024-04-24 21:26 Blue Mountain 阅读(69) 评论(0) 推荐(0) 编辑
摘要:浅谈容器网络 而所谓“网络栈”,就包括了:网卡(Network Interface)、回环设备(Loopback Device)、路由表(Routing Table)和 iptables 规则。对于一个进程来说,这些要素,其实就构成了它发起和响应网络请求的基本环境。 在大多数情况下,我们都希望容器进 阅读全文
posted @ 2024-04-23 21:03 Blue Mountain 阅读(140) 评论(0) 推荐(0) 编辑
摘要:PV、PVC、StorageClass,这些到底在说啥? 一个示例 PV 描述的,是持久化存储数据卷。这个 API 对象主要定义的是一个持久化存储在宿主机上的目录,比如一个 NFS 的挂载目录。 apiVersion: v1 kind: PersistentVolume metadata: name 阅读全文
posted @ 2024-04-23 11:35 Blue Mountain 阅读(103) 评论(0) 推荐(0) 编辑
摘要:为什么我们需要Pod? Kubernetes 项目所做的,其实就是将“进程组”的概念映射到了容器技术中,并使其成为了这个云计算“操作系统”里的“一等公民”,即 pod 在 pod 内的所有 container 是具有“超紧密关系”,共享网络、存储,即处于相同 Namespace 之下。 Pod 的实 阅读全文
posted @ 2024-04-22 21:30 Blue Mountain 阅读(95) 评论(0) 推荐(0) 编辑
摘要:谈谈Kubernetes的本质 我们可以看到,Kubernetes 项目的架构,跟它的原型项目 Borg 非常类似,都由 Master 和 Node 两种节点组成,而这两种角色分别对应着控制节点和计算节点。 控制节点,即 Master 节点,由三个紧密协作的独立组件组合而成,它们分别是负责 API 阅读全文
posted @ 2024-04-20 10:33 Blue Mountain 阅读(22) 评论(0) 推荐(0) 编辑
摘要:容器网络:我修改了/proc/sys/net下的参数,为什么在容器中不起效? 在容器中运行的应用程序,如果需要用到 tcp/ip 协议栈的话,常常需要修改一些网络参数(内核中网络协议栈的参数)。很大一部分网络参数都在 /proc 文件系统下的/proc/sys/net/目录里。 修改这些参数主要有两 阅读全文
posted @ 2024-04-19 10:14 Blue Mountain 阅读(49) 评论(0) 推荐(0) 编辑
摘要:容器文件系统:我在容器中读写文件怎么变慢了? 这个问题具体是我们在宿主机上,把 Linux 从 ubuntu18.04 升级到 ubuntu20.04 之后发现的。在我们做了宿主机的升级后,启动了一个容器,在容器里用 fio 这个磁盘性能测试工具,想看一下容器里文件的读写性能。结果我们很惊讶地发现, 阅读全文
posted @ 2024-04-18 12:28 Blue Mountain 阅读(65) 评论(0) 推荐(0) 编辑
摘要:容器内存:我的容器为什么被杀了? 如何理解 OOM Killer? OOM 是 Out of Memory 的缩写,顾名思义就是内存不足的意思,而 Killer 在这里指需要杀死某个进程。那么 OOM Killer 就是在 Linux 系统里如果内存不足时,就需要杀死一个正在运行的进程来释放一些内存 阅读全文
posted @ 2024-04-17 16:42 Blue Mountain 阅读(41) 评论(0) 推荐(0) 编辑
摘要:理解进程(1):为什么我在容器中不能kill 1号进程? 问题再现 在 k8s 如何不更换 pod id 前提下重启 pod?进入容器 kill -9/-15 1号进程,但实际上不起作用~ 知识详解 如何理解 init 进程? 使用容器的理想境界是一个容器只启动一个进程,但这在现实应用中有时是做不到 阅读全文
posted @ 2024-04-17 10:45 Blue Mountain 阅读(76) 评论(0) 推荐(0) 编辑