深入解析Pod对象(一):基本概念

凡是调度、网络、存储、以及安全相关的属性,基本上是 Pod 级别的。 这些属性的共同特征是,它们描述的是“机器”这个整体,而不是里面运行的“程序”。

Read more

为什么我们需要Pod?

在前面的文章中,详细介绍了 Kubernetes 中部署一个应用的过程。在这些讲解中,提到了这样一个知识点:Pod,是 Kubernetes 项目中最小的 API 对象。如果换一个更专业的说法,我们可以这样描述:Pod,是 Kubernetes 项目的原子调度单位。
不过,我相信你在学习和使用 Kubernetes 项目的过程中,已经不止一次地想要问这样的一个问题:为什么我们会需要 Pod?

Read more

Kubernetes一件部署利器:kubeadm

在 Kubernetes 项目初期,它的部署完全要依靠一堆由社区维护的脚本。除了将各个组件编译成二进制文件外,用户还要负责为这些文件编写对应的配置文件、配置自启动脚本,以及为 kube-apiserver 配置授权文件等等诸多运维工作。

Read more

从0到1:搭建一个完整的 Kubernetes 集群

部署 Kubernetes 的 Master 节点

在上篇文章中介绍了如何使用 kubeadm 一键部署 Master 节点。不过,既然要在本篇文章中部署一个“完整”的 Kubernetes 集群,那不妨提高一下难度:通过配置文件来开启一些新功能。

Read more

白话容器基础(三):深入理解容器镜像

了解了 Namespace 和 Cgroups 技术后,可以来思考一下:容器内的进程看到的文件系统又是什么样的呢?
很显然,这是有关于 Mount Namespace 的问题:容器里的应用进程,理应看到一份完全独立的文件系统。那么,真实情况是这样吗?

Read more

白话容器基础(二):隔离与控制

“敏捷”和“高性能”是容器相较于虚拟机最大的优势,也是它能够在 PaaS 这种更细粒度的资源管理平台上大行其道的重要原因。
不过,有利就有弊,基于 Linux Namespace 的隔离机制相比于虚拟化技术也有很多不足之处,其中最主要的问题就是:隔离得不彻底。

Read more