从docker讲起
终于有人把 Docker 讲清楚了,万字详解!
Docker资源(CPU/内存/磁盘IO/GPU)限制与分配指南
默认情况下,Docker容器是没有资源限制的,它会尽可能地使用宿主机能够分配给它的资源。如果不对容器资源进行限制,容器之间就会相互影响,一些占用硬件资源较高的容器会吞噬掉所有的硬件资源,从而导致其它容器无硬件资源可用,发生停服状态。 Docker提供了限制内存,CPU或磁盘IO的方法, 可以对容器所占用的硬件资源大小以及多少进行限制,我们在使用docker create创建一个容器或者docker run运行一个容器的时候就可以来对此容器的硬件资源做限制。
Docker 通过 cgroup 来控制容器使用的资源配额,包括 CPU、内存、磁盘三大方面,基本覆盖了常见的资源配额和使用量控制。
K8S
K8s(Kubernetes)学习(一):k8s概念及组件(总览全局,便于理解概率和系统架构)
Kubernetes入门:Pod、节点、容器和集群都是什么?
Kubernetes中pod的概念
一关系图让你理解K8s中的概念,Pod、Service、Job等到底有啥关系
K8S 的基本概念
k8s与机器学习平台
基于 K8S 构建 AI 平台方案解析
基于K8s的机器学习平台搭建(一)
Kubeflow-K8S的机器学习工具包,太牛了!
从零搭建机器学习平台Kubeflow
手把手教你搭建Kubeflow——基于K8s的机器学习平台
K8S中支持GPU任务调度到GPU节点的生产实践
需要注意的是,k8s作为GPU集群管理器存在固有的缺陷:
xys:如果我才用k8s来管理服务器集群,假设每台服务器上有1个CPU,4个GPU.如果我某一个应用程序需要调用3块CPU和8块GPU,可以做到吗?
周cong:需要将应用程序以分布式的方式部署才可以,k8s能将资源分到docker,做不到分到单应用。
xys:就是说应该将k8s管理的每个pod视为一台虚拟的主机,每台虚拟主机能使用的资源不能超过物理主机资源(1个CPU,4个GPU)。所以还是只能将应用程序分布式部署。
周cong:是
xys:虚拟化后性能损耗多吗
周cong:具体没测过,有论文说是只有原来的70-75%
######################################
肖th:k8s和docker适合做的事情,是将一台高性能的主机资源虚拟化为多个主机,租赁给网上的众多用户,这也是云计算的本意和通用方法。该方案并不适合将多主机集群构建成高性能的计算单元。
云-边-端 集群管理
一文搞懂最火的 4 种边缘集群管理方案的优劣势
四种方案:KubeEdge、Superedge、Openyurt、k3s
K3s - 轻量级 Kubernetes