美文网首页
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