使用Minikube来创建一个集群
目标
- 学习了解Kubernetes集群是什么
- 学习Minikubte是什么
- 通过在线终端来启动一个Kubernetes集群
Kubernetes集群
Kubernetes负责协调一个高可用的集群,这个集群由一系列的机器连接组合而成并且作为一个单独的单元来提供服务通过Kubernetes,你可以直接部署一个容器化的应用到一个集群中,而你不需要关心它们会放到某个固定的机器上去,Kubernetes帮我们抽象化了这些操作。你的应用程序需要打包成一个与特定机器环境无关的部署包,因为他们需要部署到容器里面去。容器化应用相对于传统的部署模型来说,意味着可扩展性和可用性都更高,因为以往的传统部署应用模型,我们会把应用包和当前的部署环境紧密的耦合。Kubernetes会在集群中通过一些高效操作来自动的分发和调度应用容器。同时Kubernetes目前已经开源,Github,可以直接应用于生产环境。
一个Kubernetes由一下两种资源组成:
- Master来协调整个集群
- Nodes用来运行具体的应用
总的来说:
Kubernetes是一个产品级的开源平台,用来在多个机器构成的集群上管理应用程序容器的放置和执行
集群架构
Master主要负责管理集群。Master协调集群内的所有操作,类似应用程序调度、维护应用程序状态、应用伸缩和发布新的更新
在Kubernetes中,一个node就是一个虚拟机或者一个当做Worker使用的物理主机。每个node都会有一个Kubelet,是一个管理当前node和用来与Kubernetes Master通信的客户机代理程序。每个node当然还包含了一系列的工具用来管理和操作容器,类似Docker or rkt。一个应用于生产环境的Kubernetes集群至少要包含3个node
Master用来管理集群和运行应用程序的node
当你在Kubernetes部署一个应用程序的时候,会告诉Master来启动应用程序的容器。然后Master会在集群的node上面调度容器来运行你的应用。node和master通过Kubernetes暴露的API通信。终端用户也可以直接使用这些API来和集群交互。
Kubernetes集群能够部署在物理机或者是虚拟机上。要开始Kubernetes的部署,你可以先尝试使用 Minikube。Minikube是Kubernetes的一个轻量级实现,它会在你本地创建一个VM并且部署一个简单的集群,这个集群仅仅包含一个节点。Minikube目前可以部署在Linux、MacOS和Windows上面。Minikube命令行工具提供了一系列的基本操作用来使你的集群可以工作起来,包含start、stop、status和delete。在当前指南中,你会使用一个已经安装好了的在线终端。现在你知道Kubenetes是什么了吧,让我们通过在线指南的方式开始第一个集群吧!