分类kubernetes下的文章

王希刚 发布于 06月04, 2018

Kube-controller-manager解析之启动流程

最近在工作之余准备看看Kube-controller-manager比较核心的几个控制器,也是现在容器平台主要使用的几个,如:Deployment, ReplicaSet, Garbage Collection, ReousrceQuota, Node Controller等。在分析这些控制器之前,先介绍下kube-controller-manager的功能及它的启动流程。

注意: kubernetes 1.9.0, commit Id: 925c127ec6b946659ad0fd596fa959be43f0cc05

阅读全文 »

霍明明 发布于 03月19, 2018

GPU 在 docker 和 kubernetes 中的使用

伴随着人工智能、机器学习、深度学习等技术的火热,GPU近年来也得到了快速的发展。GPU 可以大大加快深度学习任务的运行速度。而像 Tensflow 这样的框架的出现和应用更是离不开对GPU资源的依赖。同时,GPU资源又是十分昂贵的,需要尽可能提高 GPU 资源的利用率。为了解决上述问题,我们利用 Kubernetes 将 GPU 资源聚合成资源池来实现统一管理,并借用 Docker 交付深度学习的运行时环境。

阅读全文 »

李文新 发布于 02月22, 2018

Kubernetes NetworkPolicy工作原理浅析

Kubernetes能够把集群中不同Node节点上的Pod连接起来,并且默认情况下,每个Pod之间是可以相互访问的。但在某些场景中,不同的Pod不应该互通,这个时候就需要进行访问控制。那么如何实现呢?

阅读全文 »

王希刚 发布于 01月25, 2018

kube-scheduler源码解析

源码为kubernetes1.9, git commit id为 925c127ec6b946659ad0fd596fa959be43f0cc05。本文前半部分讲解scheduler的原理,后半部分对scheduler源码进行分析。

阅读全文 »

王希刚 发布于 11月23, 2017

Kubelet源码分析

本篇文章主要介绍kubelet服务如何启动及创建pod的流程,也对想要看kubelet源码的同学作为一个参考。

(kubelet版本: 1.7.4)

阅读全文 »

籍鑫璞 发布于 10月13, 2017

kubernetes资源概览接口的研究

背景

借鉴以前openstack调度的经验,单纯根据基础资源(如cpu、memory等使用量)来计算机房资源的剩余情况会有偏差,有时候剩余资源满足flavor并不一定能在node成功创建虚拟机,因为openstack的调度算法并不是单纯根据资源来筛选那么简单。对于kubernetes来说,pod好比虚拟机,因为scheduler有很多算法来筛选出最合适的node,所以我们并不能单纯通过计算cpu、memory来判断某个pod是否能创建成功。

现有的k8s并没有一个类似的模块,因此,我们需要基于现有k8s的机制实现一个满足我们需求的、更灵活的子系统–-资源统计接口,能够在增加应用副本的时候,提前告诉用户该扩容的过程是否能够完成,如果可以完成再最终创建。

阅读全文 »

霍明明 发布于 08月20, 2017

我所理解的Kubernetes架构

搞kubernetes(简称k8s)大约5个月的时间了,这期间因功能需要阅读并修改过部分源码,对k8s的设计理念有了简单的认识。今天就给大家说一说自己的一些认识,认识不深的地方欢迎大家指正。

阅读全文 »

王浩宇 发布于 08月08, 2017

Hulk容器服务的镜像CI解决方案

前言

巧妇难为无米之炊,玩容器,“镜像”就是下锅的米,我们私有云Hulk平台的容器服务,向用户提供UI页面化的一整套的镜像定制、制作、管理、私有镜像仓库的服务,这套服务的背后技术实现,Jenkins算是“引擎”,本文简要介绍这其中的技术方案;

阅读全文 »