作者:Chris Noring
译者:Aaron Lee
Kubernetes 是用来编排容器化应用的。Docker 是比较优秀的容器。当你需要在多台机器上运行应用并且需要进行缩放扩展和分配负载等操作,你就需要 Kubernetes 。
因为这个主题比较大,所以这篇文章只是 Kubernetes 系列文章的第一部分。 - 第一部分 - 作为入门,我们将介绍基础概念、部署和 Minikube(这部分正是我们这篇文章要讲的)。 - 第二部分介绍服务(Services)和标签(Labeling),深入 Pods 和 Nodes 。 - 第三部分我们将介绍对应用进行缩放。 - 第四部分 - 自动缩放,这部分我们关注如何设置自动缩放用来处理突然增长的请求。
这篇文章,我希望可以覆盖下面的内容: - 为什么 Kubernetes 和容器编排如此广泛。 - 入门:Minikube 基础,讲解 Minikube,简单的部署例子 - Deployments 是什么和部署应用
为什么需要编排
一切都开始于容器。容器给予我们创建可复制环境的能力,所以可以让 dev、staging、和 prod 等不同环境都以同样的方式查看和运行。我们获得了可预测性,并且他们从主机操作系统中获取资源时也很轻量级。对于开发和运维来说这是一个绝大的突破性进展,但是容器的 API 只在同时管理少量容器时好用。大型系统可能由成百上千个容器组成,同样需要我们做调度、负载均衡、分配等。
Kubernetes
那么我们对 Kubernetes 了解多少呢?
它是一个开源系统,用于自动化容器化应用程序的部署,扩展和管理
让我们从它的名字开始。这是赫尔曼(Helmsman)的希腊语:驾驶这艘船的人。这也是为什么它的 logo 是一个船的方向盘: