Minikube的应用部署伸缩

虽然在 使用Minikube集群部署应用 后通过 Minikube对外输出应用 能够让外部访问到应用服务,但是可以发现,这样的部署只有一个Pod在运行应用程序。当系统负载流量增加时,单个Pod是无法支持业务的,这就需要使用Kubernetes的横向扩展能力。

Scaling 是通过修改Deployment的部署副本replicas来实现的。

伸缩(Scaling)概览

../../_images/kubernetes_scaling.svg

部署的伸缩是通过在可用资源上调度,创建新的Pod或删除运行的Pod来实现的,Kubernetes将按指定Pod数量增加或缩减Pod以提供恰当的负载能力。当具有多个应用程序运行实例(Pods)时,不仅具有更大的负载能力,也能够实现滚动升级而不影响系统。

伸缩应用

我们在 使用Minikube集群部署应用 中部署了Pod,名为 my-dev ,现在我们来扩展这个应用。

注解

请注意,我的案例和 Google提供的在线教程 不同,我采用了从 Ubuntu Docker官方镜像 从头开始定制镜像内容,所以初始的 my-dev 容器已经做了一定的内容修改(相当于自己做了一个和Google案例相同的容器),这样就需要把容器转换(存储)成自定义镜像,然后通过自定义镜像来重新部署应用。

部署私有镜像仓库

请参考 在Kubernetes中部署私有Docker镜像仓库 部署私有镜像仓库,通过私有镜像仓库,我们可以把前期自定义容器转换成镜像,并用自定义镜像创建我们需要的容器集群。