据说 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 的探险之旅。

先跑起来

按照一贯的学习思路,我们会在最短时间内搭建起一个可用系统,这样就能够尽快建立起对学习对象的感性认识。先把玩起来,快速了解基本概念、功能和使用场景。

越是门槛高的知识,就越需要有这么一个最小可用系统。如果直接上来就学习理论知识和概念,很容易从入门到放弃。

当然,要搭建这么一个可运行的系统通常也不会太容易,不过很幸运,Kubernetes 官网已经为大家准备好了现成的最小可用系统。

kubernetes.io 开发了一个交互式教程,通过 Web 浏览器就能使用预先部署好的一个 kubernetes 集群,快速体验 kubernetes 的功能和应用场景,下面我就带着大家去玩一下。

打开 https://kubernetes.io/docs/tutorials/kubernetes-basics/

页面左边就能看到教程菜单:

教程会指引大家完成创建 kubernetes 集群、部署应用、访问应用、扩展应用、更新应用等最常见的使用场景,迅速建立感性认识。

创建 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 查看集群信息:

heapsterkubernetes-dashboard 都是集群中运行的服务。

注:为节省篇幅,在后面的演示中,我将简化操作步骤,详细的说明和完整步骤请参考官网在线文档。

集群创建好了,下一节我将带领大家快速体验 Kubernetes 的核心功能。

书籍:

1.《每天5分钟玩转Docker容器技术》
https://item.jd.com/16936307278.html

2.《每天5分钟玩转OpenStack》
https://item.jd.com/12086376.html

5 秒创建 k8s 集群 - 每天5分钟玩转 Docker 容器技术(115)的更多相关文章

  1. 用 Weave Scope 监控集群 - 每天5分钟玩转 Docker 容器技术(175)

    创建 Kubernetes 集群并部署容器化应用只是第一步.一旦集群运行起来,我们需要确保一起正常,所有必要组件就位并各司其职,有足够的资源满足应用的需求.Kubernetes 是一个复杂系统,运维团 ...

  2. 用 Heapster 监控集群 - 每天5分钟玩转 Docker 容器技术(176)

    Heapster 是 Kubernetes 原生的集群监控方案.Heapster 以 Pod 的形式运行,它会自动发现集群节点.从节点上的 Kubelet 获取监控数据.Kubelet 则是从节点上的 ...

  3. k8s 重要概念 - 每天5分钟玩转 Docker 容器技术(117)

    在实践之前,必须先学习 Kubernetes 的几个重要概念,它们是组成 Kubernetes 集群的基石. Cluster Cluster 是计算.存储和网络资源的集合,Kubernetes 利用这 ...

  4. k8s 核心功能 - 每天5分钟玩转 Docker 容器技术(116)

    本节带领大家快速体验 k8s 的核心功能:应用部署.访问.Scale Up/Down 以及滚动更新. 部署应用 执行命令: kubectl run kubernetes-bootcamp \ --im ...

  5. 用 k8s 管理机密信息 - 每天5分钟玩转 Docker 容器技术(155)

    应用启动过程中可能需要一些敏感信息,比如访问数据库的用户名密码或者秘钥.将这些信息直接保存在容器镜像中显然不妥,Kubernetes 提供的解决方案是 Secret. Secret 会以密文的方式存储 ...

  6. 如何创建 Swarm 集群?- 每天5分钟玩转 Docker 容器技术(95)

    本节我们将创建三节点的 swarm 集群. swarm-manager 是 manager node,swarm-worker1 和 swarm-worker2 是 worker node. 所有节点 ...

  7. Kubernetes 集群日志管理 - 每天5分钟玩转 Docker 容器技术(180)

    Kubernetes 开发了一个 Elasticsearch 附加组件来实现集群的日志管理.这是一个 Elasticsearch.Fluentd 和 Kibana 的组合.Elasticsearch ...

  8. k8s 创建资源的两种方式 - 每天5分钟玩转 Docker 容器技术(124)

    命令 vs 配置文件 Kubernetes 支持两种方式创建资源: 1. 用 kubectl 命令直接创建,比如: kubectl run nginx-deployment --image=nginx ...

  9. 部署 k8s Cluster(上)- 每天5分钟玩转 Docker 容器技术(118)

    我们将部署三个节点的 Kubernetes Cluster. k8s-master 是 Master,k8s-node1 和 k8s-node2 是 Node. 所有节点的操作系统均为 Ubuntu ...

随机推荐

  1. 利用python web框架django实现py-faster-rcnn demo实例

    操作系统.编程环境及其他: window7  cpu  python2.7  pycharm5.0  django1.8x 说明:本blog是上一篇blog(http://www.cnblogs.co ...

  2. 《Linux命令行与shell脚本编程大全》第二十一章 sed进阶

    本章介绍一些sed编辑器提供的高级特性. 21.1 多行命令 按照之前的知识,所有的sed编辑器命令都是针对单行数据执行操作的. 在sed编辑器读取数据流时,它会基于换行符的位置将数据分成行,一次处理 ...

  3. sublime text 3 ctrl+b浏览器启动html

    sublime text 2 和3 都可以快速设置浏览器启动,本人在这里介绍如何不下插件启动浏览器.第一步:打开Tool-->build system  ---> new build sy ...

  4. JAVA IO分析一:File类、字节流、字符流、字节字符转换流

    因为工作事宜,又有一段时间没有写博客了,趁着今天不是很忙开始IO之路:IO往往是我们忽略但是却又非常重要的部分,在这个讲究人机交互体验的年代,IO问题渐渐成了核心问题. 一.File类 在讲解File ...

  5. JAVA读取、写入Excel表格(含03版)

    引言 工作中可能会遇到对Excel读取和写入,如果我们自己手动写的话,会很麻烦,但是Apache中有poi工具类.poi工具类封装好了对于Excel读取和写入,我们需要用的时候,直接调用该方法就好了. ...

  6. 通过ssh訪问NAT网络模式虚拟机里的Linux

    进入 GuestOS : #/sbin/ifconfig 查看 inet addr : 10.0.2.15 然后到 HostOS 去, 看控制面板, 看网络和共享中心的VirtualBox Host- ...

  7. lufylegend练习(1)帧速率

    近期发现一个HTML开源游戏引擎,感觉还不错http://lufylegend.com/ 可是没有基础的同学.看起来费劲.所以打算边学边记笔记,说明都在凝视中 <!DOCTYPE html> ...

  8. 数据库中的參照完整性(Foreign Key)

    之前在项目中遇到了这样一个问题,我举得简单的样例来说明. 比方我们有两个表,一个表(department)存放的是部门的信息,比如部门id,部门名称等:还有一个表是员工表(staff),员工表里面肯定 ...

  9. 赵雅智_Swift(1)_swift简单介绍及类型

    Swift 是 iOS 和 OS X 应用开发的一门新语言. 假设你有 C 或者 Objective-C 开发经验, Swift 的非常多内容都是你熟悉的. Swift 的类型是在 C 和 Objec ...

  10. HDU 4923 Room and Moor (多校第六场C题) 单调栈

    Problem Description PM Room defines a sequence A = {A1, A2,..., AN}, each of which is either 0 or 1. ...