美文网首页
Kubernetes学习笔记——2.1建立集群

Kubernetes学习笔记——2.1建立集群

作者: IFELSE | 来源:发表于2018-01-31 16:16 被阅读0次

by kowen 2018.01.31
本文翻译自Using Minikube to Create a Cluster

学习目标

  • 了解Kubernetes集群是什么
  • 了解Minikubue是什么
  • 使用在线终端开启一个集群

Kubernetes 集群

Kubernetes 调配一个多台计算机组成的高可用的集群,这个集群作为一个整体对外工作。Kubernetes中把这些计算机抽象化了,你可以直接向集群部署单独应用,而不用单独的去部署每一台机器。为了实现这种部署方式,应用必须有一种方法使它们与单独的某一台机器解耦,这种方法就是:容器化。
传统的应用部署方式是直接把应用部署在特定机器上,并与机器深度集成,而容器化部署方式币这种就得方式更灵活,可用性也更高。Kubernetes使用更高效的方式将集群中容器的部署调配自动化。Kubernetes是一个随时可投产的开源平台。

一个Kubernetes集群包含两种资源:

  • Master 负责调配集群
  • Node 负责运行应用

集群示意图

module_01_cluster.png

Master负责管理集群的管家

集群负责调配集群中所有的活动,比如调度应用,维持应用需要的状态,伸缩应用,实施升级。

Node是提供服务的工人,可以使实体机也可以是虚拟机

每个node上面都运行着Kubelet,一个负责node管理和master通讯的代理程序。node上还需要有处理容器操作的工具,比如Docker或者rkt。在生产环境下,至少需要3个node节点。

在Kubernetes上部署应用,相当于在命令master启动应用的容器。master调度在集群中的节点运行这些容器。node节点通过master上的Kubernetes API与其通讯。最终用户可以使用Kubernetes API与集群直接交互。

集群可以部署在实体机或虚拟机上。最初,你可以使用Minikube部署应用。Minicube是一个Kubernetes的轻量化实现,可以在你机器上创一个虚拟机并部署只含一个节点的简单集群。Minicube可以安装在Linux、macOS和windows系统中。Minicube CLI提供了集群的基本引导程序操作,包括启动、停止、状态和删除。在本教程中,给你提供了预装Minicube的在线终端。

现在你了解了Kubernetes是什么,下面进入在线教程来启动你的第一个集群吧!

点我进入交互式教程

交互式学习

开启minicube

场景中已经安装了minikube,输入命令minikube version查看是否正常,然后启动集群,minikube start

$ minikube version
minikube version: v0.17.1-katacoda
$ minikube start
Starting local Kubernetes cluster...

集群版本

在最初学习阶段,我们通过命令行模式kubectl与Kubernetes进行交互。查看kubectl是否安装kubectl version,我们可以看到服务器端和客户端的版本。服务器端版本是master上安装的Kubernetes的版本,客户端版本是kubectl的版本。

$ kubectl version
Client Version: version.Info{Major:"1", Minor:"8", GitVersion:"v1.8.0", GitCommit:"6e937839ac04a38cac63e6a7a306c5d035fe7b0a", GitTreeState:"clean", BuildDate:"2017-09-28T22:57:57Z", GoVersion:"go1.8.3", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"5", GitVersion:"v1.5.2", GitCommit:"08e099554f3c31f6e6f07b448ab3ed78d0520507", GitTreeState:"clean", BuildDate:"1970-01-01T00:00:00Z", GoVersion:"go1.7.1", Compiler:"gc", Platform:"linux/amd64"}

集群详情

Kubernetes提供了图形化的查看工具(dashboard),本教程中主要关注命令查看方式
查看集群详细信息kubectl cluster-info
查看节点kubectl get nodes,列出所有可以被部署应用的节点。本例中只有一个节点,状态是ready,说明可以被部署应用。

$ kubectl cluster-info
Kubernetes master is running at http://host01:8080
heapster is running at http://host01:8080/api/v1/namespaces/kube-system/services/heapster/proxy
kubernetes-dashboard is running at http://host01:8080/api/v1/namespaces/kube-system/services/kubernetes-dashboard/proxy
monitoring-grafana is running at http://host01:8080/api/v1/namespaces/kube-system/services/monitoring-grafana/proxy
monitoring-influxdb is running at http://host01:8080/api/v1/namespaces/kube-system/services/monitoring-influxdb/proxy

To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
$ kubectl get nodes
NAME      STATUS    ROLES     AGE       VERSION
host01    Ready     <none>    10m       v1.5.2

相关文章

网友评论

      本文标题:Kubernetes学习笔记——2.1建立集群

      本文链接:https://www.haomeiwen.com/subject/jqokzxtx.html