0%

当一个容器崩溃了,kubelet将会尝试重启它,但是之前容器中的文件将会丢失。另外,一个Pod中多个容器之间共享文件也是必需的。Kubernetes提供了一个Volume抽象概念来解决这些问题。

阅读全文 »

在实现持续集成前,有一项很重要的工作就是自动化构建。

自动化构建必须满足一个条件:人和计算机都能通过命令行自动执行应用的构建、测试以及部署过程。而自动化脚本就是将自动化构建脚本化的产物。

本文中,将介绍一些自动化脚本的原则和实践。

阅读全文 »

Service是Kubernetes的核心概念,通过创建Service,可以为一组具有相同功能的容器应用提供一个统一的入口地址,并且将请求负载分发到后端的各个容器应用上。

阅读全文 »

一个Job会创建一个或多个Pod,并保证这些Pod成功终止。

一个简单的场景,创建一个Job以保证一个Pod可靠地执行完成。如果第一个Pod执行失败或者在未执行完成前被删除,Job将会启动一个新的Pod。

阅读全文 »

DaemonSet 确保所有(或某些)节点都运行Pod的副本。Daemon 在计算机中领域的意思是守护程序。

当一个新的节点被添加集群时,DaemonSet 会在该节点上创建一个新的Pod。当一个节点从集群中删除时,这些Pod会被回收。删除DaemonSet将清除其创建的Pod。

阅读全文 »

StatefulSet是用于来管理有状态应用的对象。StatefulSet管理了一组Pod的部署和伸缩,并保证了这些Pod的顺序和唯一性。

像Deployment一样,StatefulSet管理基于相同容器规范的Pod。与Deployment不同,StatefulSet为其每个Pod维护一个粘性身份。这些Pod是根据相同的spec创建的,但不能互换,因为每个Pod都有一个永久性标识符,该标识符在任何重新计划中都会维护。

阅读全文 »

Deployment为Pod和ReplicaSets提供了声明性更新(简单理解,就是直接使用kubectl apply更新ReplicaSets中的Pod配置)。

阅读全文 »

在Kubernetes中,控制器是控制回路(在机器人技术和自动化领域,控制回路是一个非终止回路,用于调节系统状态),用于监视集群的状态,然后在需要时进行更改或请求更改。每一个控制器都会尝试将集群的状态调节至所期望的状态。

ReplicaSet是Kubernetes的一个控制器。在任何给定的时间,ReplicaSet都会维持一组稳定的Pod副本集。它通常用于保证指定数量的相同Pod的可用性。

ReplicaSets是ReplicationControllers的后继者。两者的作用相同,行为相似。不同之处在于,ReplicationController不支持基于集合的选择器。 因此,ReplicaSets优于ReplicationControllers

阅读全文 »

kubelet对容器执行的定期诊断。要执行诊断,kubelet需要调用由容器实现的Handler。

阅读全文 »

初始化容器(Init Containers)是Pod中在应用程序容器启动之前运行的专用容器。

一个Pod中可以用多个初始化容器。

阅读全文 »