每天5分钟玩转Kubernetes - (EPUB全文下载)

文件大小:0.13 mb。
文件格式:epub 格式。
书籍内容:

每天5分钟玩转Kubernetes
第1章 先把Kubernetes跑起来
第2章 重要概念
第3章 部署Kubernetes Cluster
第4章 Kubernetes架构
第5章 运行应用
第6章 通过Service访问Pod
第7章 Rolling Update
第8章 Health Check
第9章 数据管理
第10章 Secret & Configmap
第11章 Helm— Kubernetes的包管理器
第12章  网络
第13章 Kubernetes Dashboard
第14章 Kubernetes集群监控
第15章 Kubernetes集群日志管理
写在最后
第1章 先把Kubernetes跑起来
Kubernetes(K8s)是Google在2014年发布的一个开源项目。
据说Google的数据中心里运行着20多亿个容器,而且Google十年前就开始使用容器技术。
最初,Google开发了一个叫Borg的系统(现在命名为Omega)来调度如此庞大数量的容器和工作负载。在积累了这么多年的经验后,Google决定重写这个容器管理系统,并将其贡献到开源社区,让全世界都能受益。
这个项目就是Kubernetes。简单地讲,Kubernetes是Google Omega的开源版本。
从2014年第一个版本发布以来,Kubernetes迅速获得开源社区的追捧,包括Red Hat、VMware、Canonical在内的很多有影响力的公司加入到开发和推广的阵营。目前Kubernetes已经成为发展最快、市场占有率最高的容器编排引擎产品。
Kubernetes一直在快速地开发和迭代。本书我们将以v1.7和v1.8为基础学习Kubernetes。我们会讨论Kubernetes重要的概念和架构,学习Kubernetes如何编排容器,包括优化资源利用、高可用、滚动更新、网络插件、服务发现、监控、数据管理、日志管理等。
下面就让我们开始Kubernetes的探险之旅。
1.1 先跑起来
按照一贯的学习思路,我们会在最短时间内搭建起一个可用系统,这样就能够尽快建立起对学习对象的感性认识。先把玩起来,快速了解基本概念、功能和使用场景。
越是门槛高的知识,就越需要有这么一个最小可用系统。如果直接上来就学习理论知识和概念,很容易从入门到放弃。
当然,要搭建这么一个可运行的系统通常也不会太容易,不过很幸运,Kubernetes官网已经为大家准备好了现成的最小可用系统。
kubernetes.io开发了一个交互式教程,通过Web浏览器就能使用预先部署好的一个Kubernetes集群,快速体验Kubernetes的功能和应用场景,下面我就带着大家去玩一下。
打开https://kubernetes.io/docs/tutorials/kubernetes-basics/。
页面左边就能看到教程菜单,如图1-1所示。
图1-1
教程会指引大家完成创建Kubernetes集群、部署应用、访问应用、扩展应用、更新应用等最常见的使用场景,迅速建立感性认识。
1.2 创建Kubernetes集群
点击教程菜单1.Create a Cluster → Interactive Tutorial - Creating a Cluster,如图1-2所示。
图1-2
显示操作界面,如图1-3所示。
图1-3
左边部分是操作说明。右边是Terminal,即命令终端窗口。
按照操作说明,我们在Terminal中执行minikube start,然后执行kubectl get nodes,这样就创建好了一个单节点的kubernetes集群,如图1-4所示。
图1-4
集群的唯一节点为host01,需要注意的是当前执行命令的地方并不是host01。我们是通过Kubernetes的命令行工具kubectl远程管理集群。
执行kubectl cluster-info查看集群信息,如图1-5所示。
图1-5
heapster、kubernetes-dashboard都是集群中运行的服务。
注意:为节省篇幅,在后面的演示中,我们将简化操作步骤,详细的说明和完整步骤请参考官网在线文档。
1.3 部署应用
执行命令:
这里我们通过kubectl run部署了一个应用,命名为kubernetes-bootcamp,如图1-6所示。
Docker镜像通过--image指定。
--port设置应用对外服务的端口。
图1-6
这里Deployment是Kubernetes的术语,可以理解为应用。
Kubernetes还有一个重要术语Pod。
Pod是容器的集合,通常会将紧密相关的一组容器放到一个Pod中,同一个Pod中的所有容器共享IP地址和Port空间,也就是说它们在一个network namespace中。
Pod是Kubernetes调度的最小单位,同一Pod中的容器始终被一起调度。
运行kubectl get pods,查看当前的Pod,如图1-7所示。
图1-7
kubernetes-bootcamp-390780338-q9p1t就是应用的Pod。
1.4 访问应用
默认情况下,所有Pod只能在集群内部访问。对于上面这个例子,要访问应用只能直接访问容器的8080端口。为了能够从外部访问应用,我们需要将容器的8080端口映射到节点的端口。
执行如下命令,结果如图1-8所示。
图1-8
执行命令kubectl get services,可以查看应用被映射到节点的哪个端口,如图1-9所示。
图1-9
这里有两个service,可以将service暂时理解为端口映射,后面我们会详细讨论。
Kubernetes是默认的service,暂时不用考虑。kubernetes-bootcamp是我们应用的service,8080端口已经映射到host01的32320端口,端口号是随机分配的,可以执行如下命令访问应用,结果如图1-10所示。
图1-10
1.5 Sc ............

以上为书籍内容预览,如需阅读全文内容请下载EPUB源文件,祝您阅读愉快。

版权声明:书云(openelib.org)是世界上最大的在线非盈利图书馆之一,致力于让每个人都能便捷地了解我们的文明。我们尊重著作者的知识产权,如您认为书云侵犯了您的合法权益,请参考版权保护声明,通过邮件openelib@outlook.com联系我们,我们将及时处理您的合理请求。 数研咨询 流芳阁 研报之家 AI应用导航 研报之家
书云 Open E-Library » 每天5分钟玩转Kubernetes - (EPUB全文下载)