码迷,mamicode.com
首页 > Web开发 > 详细

Kubernetes重要概念理解

时间:2018-06-11 22:03:53      阅读:257      评论:0      收藏:0      [点我收藏+]

标签:环境   机制   ast   aml   资源   col   有一个   通信   uber   

Kubernetes重要概念理解


 kubernetes是目前最主流的容器编排工具,是下一代分布式架构的王者。2018年的kubernetes第一个版本1.10已经发布。下面整理一下,kubernetes的一些基本概念。

kubernetes将集群中的机器划分为Master节点和工作节点(Node)。其中Master节点上面运行着管理集群的一组进程kube-apiserver、kube-controller-manager,和kube-schedule,还有etcd服务。node作为集群中的工作节点,运行真正的应用程序,在node上Kubernetes管理的最小运行单元是Pod,Node上面运行着kubelet、kube-proxy、docker引擎服务进程。如下图:

技术分享图片

                                                                备:图片来自网络

Master节点:集群的控制节点
Kubernetes API Server(kube-aoiserver):提供了HTTP rest 接口的关键服务进程,是Kubernetes里所有资源的增、删、改、查等操作的唯一入口,也是集群控制的入口进程。
kube-controller-manager:Kubernetes里所有资源的自动化控制中心,可以理解为资源对象的“大总管”。
kube-schedule:负责资源调度(Pod调度)的进程,相当于公交公司的“调度室”
etcd:Kubernetes里面的所有资源对象的数据都是保存在etcd中。

Node节点:Node节点可以是一台物理机,也可以是一台虚拟机。当某个Node宕机时,其上的工作会被Master自动转移到其他节点上去。
kubelet:负责Pod对应的容器的创建、起停等任务。同时与Master节点密切协作,实现集群管理的基本功能。
kube-proxy:实现Kubernetes Service的通信和负载均衡机制的重要组件。
Docker Engine(Docker ):Docker引擎,负责本机容器的创建和管理工作。

Pod 概念
Pod是Kubernetes的最重要也是最基本的概念,每个Pod都有一个特殊的被称为“根容器”的Pause容器。Pause容器对应的镜像属于Kubernetes平台的一部分,除了Pause容器,每个Pod还包含一个或者多个紧密相关的用户业务容器。
Kubernetes里的所有资源对象都可以采用yaml或者JSON格式的文件来定义或者描述,如下是一个Pod的定义:
apiServer:v1
kind:Pod
metadata:
  name:myweb
  labels:
    name:myweb
spec:
  containers:
  -name:myweb
   image:kubeguide/tomcat-app:v1
   ports:
  -containterPort:8080
  env:
  -name:MYSQL_SERVICE_HOST
  value:‘mysql‘
 -name: MYSQL_SERVICE_PORT
  value:‘3306’

Kind为Pod表明这是一个Pod的定义,metadata里的name属性为Pod的名字,metdata里还能定义资源对象的标签(Label),这里声明myweb拥有一个name=myweb的标签(Label)。Pod里所含的容器组成的定义则在spec一节中声明,这里定义了一名字为myweb、对应镜像为kubeguide/tomcat-app:v1的容器,该容器注入了MYSQL_SERVICE_HOST=‘mysql’和MYSQL_SERVICE_PORT=‘3306‘的环境变量(env关键字),并在8080端口(containerPort)上启动容器进程。

上面是Kubernetes中的一些最基本的概念,详细内容后续会持续更新!

 

Kubernetes重要概念理解

标签:环境   机制   ast   aml   资源   col   有一个   通信   uber   

原文地址:https://www.cnblogs.com/qstudy/p/9169105.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!