合集-Kubernetes

摘要:本文主要分享如何使用 GPU Operator 快速搭建 Kubernetes GPU 环境。 1. 概述 上一篇文章 GPU 使用指南:如何在裸机、Docker、K8s 等环境中使用 GPU 分享了裸机、Docker 环境以及 K8s 环境中如何使用 GPU。 整个流程还算比较简单,但是因为需要在 阅读全文
posted @ 2024-11-14 12:50 探索云原生 阅读(1480) 评论(0) 推荐(0)
摘要:本文主要分析 k8s 中的 device-plugin 机制工作原理,并通过实现一个简单的 device-plugin 来加深理解。 1. 背景 默认情况下,k8s 中的 Pod 只能申请 CPU 和 Memory 这两种资源,就像下面这样: resources: requests: memory: 阅读全文
posted @ 2024-12-13 12:13 探索云原生 阅读(1009) 评论(0) 推荐(0)
摘要:本文主要分析了在 K8s 中创建一个 Pod 并申请 GPU 资源,最终该 Pod 时怎么能够使用 GPU 的,具体的实现原理,以及 device plugin、nvidia-container-toolkit 相关源码分析。 1.概述 在 两篇文章中分别分享了在不同环境如何使用 GPU,以及在 k 阅读全文
posted @ 2024-12-23 15:13 探索云原生 阅读(2411) 评论(0) 推荐(1)
摘要:本文主要分享如何使用 NodeLocal DNSCache 来提升集群中的 DNS 性能以及可靠性,包括部署、使用配置以及原理分析,最终通过压测表明使用后带来了高达 50% 的性能提升。 1.背景 什么是 NodeLocalDNS NodeLocal DNSCache 是一套 DNS 本地缓存解决方 阅读全文
posted @ 2025-01-06 13:33 探索云原生 阅读(724) 评论(0) 推荐(0)
摘要:本文主要分享如何使用 基于 Admission Webhook 实现自动修改 Pod DNSConfig,使其优先使用 NodeLocalDNS 。 1.背景 上一篇部署好 NodeLocal DNSCache,但是还差了很重要的一步,配置 pod 使用 NodeLocal DNSCache 作为优 阅读全文
posted @ 2025-01-09 12:38 探索云原生 阅读(470) 评论(0) 推荐(0)
摘要:本文主要分享 GPU 共享方案,包括如何安装、配置以及使用,最后通过分析源码了 TImeSlicing 的具体实现。通过配置 TImeSlicing 可以实现 Pod 共享一块物理 GPU,以提升资源利用率。 1.为什么需要 GPU 共享、切分等方案? 开始之前我们先思考一个问题,为什么需要 GPU 阅读全文
posted @ 2025-05-13 12:15 探索云原生 阅读(1006) 评论(0) 推荐(0)
摘要:本文主要分享一个开源的 GPU 虚拟化方案:HAMi,包括如何安装、配置以及使用。 相比于上一篇分享的 TimeSlicing 方案,HAMi 除了 GPU 共享之外还可以实现 GPU core、memory 得限制,保证共享同一 GPU 的各个 Pod 都能拿到足够的资源。 1.为什么需要 GPU 阅读全文
posted @ 2025-06-06 12:28 探索云原生 阅读(1579) 评论(0) 推荐(1)
摘要:本文主要分享一个 K8s 1.31 增加的一个新 Feature:ImageVolume。允许直接将 OCI 镜像作为 Volume 进行挂载,加速 artifact 分发。 1.背景 Kubernetes 社区正在积极发展,以更好地支持未来的人工智能 (AI) 和机器学习 (ML) 场景。 为满足 阅读全文
posted @ 2025-06-18 13:16 探索云原生 阅读(694) 评论(0) 推荐(0)
摘要:本文为开源的 vGPU 方案 HAMi 实现原理分析第一篇,主要分析 hami-device-plugin-nvidia 实现原理。 之前在 开源 vGPU 方案:HAMi,实现细粒度 GPU 切分 介绍了 HAMi 是什么,然后在开源 vGPU 方案 HAMi: core&memory 隔离测试 阅读全文
posted @ 2025-07-09 09:32 探索云原生 阅读(807) 评论(0) 推荐(0)
摘要:本文主要分享如何通过 Scheduler Extender 扩展调度器从而实现自定义调度策略。 1. 为什么需要自定义调度逻辑 什么是所谓的调度? 所谓调度就是指给 Pod 对象的 spec.nodeName 赋值 待调度对象则是所有 spec.nodeName 为空的 Pod 调度过程则是从集群现 阅读全文
posted @ 2025-07-16 13:47 探索云原生 阅读(742) 评论(0) 推荐(0)
摘要:上篇我们分析了 hami-device-plugin-nvidia,知道了 HAMi 的 NVIDIA device plugin 工作原理。 本文为 HAMi 原理分析的第二篇,分析 hami-scheduler 实现原理。 为了实现基于 vGPU 的调度,HAMi 实现了自己的 Schedule 阅读全文
posted @ 2025-07-24 13:34 探索云原生 阅读(624) 评论(0) 推荐(0)
摘要:上篇我们分析了 hami-webhook,该 Webhook 将申请了 vGPU 资源的 Pod 的调度器修改为 hami-scheduler,后续使用 hami-scheduler 进行调度。 本文为 HAMi 原理分析的第三篇,分析 hami-scheduler 工作流程。 上篇主要分析了 ha 阅读全文
posted @ 2025-07-31 09:25 探索云原生 阅读(602) 评论(0) 推荐(0)
摘要:上篇我们分析了 hami-scheduler 工作流程,知道了 hami-webhook、hami-scheduler 是怎么配合工作的。 本文为 HAMi 原理分析的第四篇,分析 hami-scheduler 在调度时是如何选择节点的,即:Spread、Binpack 等高级调度策略是怎么实现的。 阅读全文
posted @ 2025-09-09 12:23 探索云原生 阅读(191) 评论(0) 推荐(0)