听说 Google 的数据中内心运行着超过 20 亿个容器,并且 Google 十年前就开始使用容器技术。html
最初,Google 开发了一个叫 Borg 的系统(如今命令为 Omega)来调度如此庞大数量的容器和工做负载。在积累了这么多年的经验后,Google 决定重写这个容器管理系统,并将其贡献到开源社区,让全世界都能受益。node
这个项目就是 Kubernetes。简单的讲,Kubernetes 是 Google Omega 的开源版本。浏览器
从 2014 年第一个版本发布以来,Kubernetes 迅速得到开源社区的追捧,包括 Red Hat、VMware、Canonical 在内的不少有影响力的公司加入到开发和推广的阵营。目前 Kubernetes 已经成为发展最快、市场占有率最高的容器编排引擎产品。网络
Kubernetes 一直在快速地开发和迭代。本章咱们将以 v1.7 和 v1.8 为基础学习 Kubernetes。咱们会讨论 Kubernetes 重要的概念和架构,学习 Kubernetes 如何编排容器,包括优化资源利用、高可用、滚动更新、网络插件、服务发现、监控、数据管理、日志管理等。架构
下面就让咱们开始 Kubernetes 的探险之旅。工具
按照一向的学习思路,咱们会在最短期内搭建起一个可用系统,这样就可以尽快创建起对学习对象的感性认识。先把玩起来,快速了解基本概念、功能和使用场景。学习
越是门槛高的知识,就越须要有这么一个最小可用系统。若是直接上来就学习理论知识和概念,很容易从入门到放弃。优化
固然,要搭建这么一个可运行的系统一般也不会太容易,不过很幸运,Kubernetes 官网已经为你们准备好了现成的最小可用系统。ui
kubernetes.io 开发了一个交互式教程,经过 Web 浏览器就能使用预先部署好的一个 kubernetes 集群,快速体验 kubernetes 的功能和应用场景,下面我就带着你们去玩一下。spa
打开 https://kubernetes.io/docs/tutorials/kubernetes-basics/
页面左边就能看到教程菜单:
教程会指引你们完成建立 kubernetes 集群、部署应用、访问应用、扩展应用、更新应用等最多见的使用场景,迅速创建感性认识。
点击教程菜单 1. Create a Cluster
-> Interactive Tutorial - Creating a Cluster
显示操做界面。
左边部分是操做说明,右边是 Terminal,命令终端窗口。
按照操做说明,咱们在 Terminal 中执行 minikube start
,而后执行 kubectl get nodes
,这样就建立好了一个单节点的 kubernetes 集群。
集群的惟一节点为 host01
,须要注意的是当前执行命令的地方并非 host01
。咱们是在经过 Kubernetes 的命令行工具 kubectl
远程管理集群。
执行 kubectl cluster-info
查看集群信息:
heapster
、kubernetes-dashboard
都是集群中运行的服务。
注:为节省篇幅,在后面的演示中,我将简化操做步骤,详细的说明和完整步骤请参考官网在线文档。
集群建立好了,下一节我将带领你们快速体验 Kubernetes 的核心功能。
书籍:
1.《天天5分钟玩转Docker容器技术》
https://item.jd.com/16936307278.html
2.《天天5分钟玩转OpenStack》
https://item.jd.com/12086376.html