Node:

(1) Node(节点)也就是宿主机,宿主机可以是物理机 、云主机 、虚拟机等等,我们可以在一个宿主机上跑多个容器(container)
(2) Node 上会被分配一些工作负载(即 docker 容器),当 Node 宕机后,其上面跑的应用会被转移到其他 Node 上
(3) Node 上有这些关键的进程:

  ① kubelet,负责Pod对应容器的创建、启动、停止等任务,同时与Master节点密切协作,实现集群管理的基本功能
  ② kube-proxy,实现 Kubernetes Service 之间的通信与负载均衡机制的重要组件
  ③ Docker Engine,Docker引擎,负责本机容器的创建和管理

Pod:

(1) 我们可以在一个宿主机上跑多个容器,为了高可用和负载均衡,我们把多个容器组成一个Pod,同一个Pod里的容器共享同一个网络命名空间,可以使用 localhost 互相通信;
(2) 每个Pod里都有一个特殊的容器(Pause),这个容器提供网络栈和数据卷,其他普通容器共享这个容器的资源,因此同一个Pod内容器之间的通信和数据交换更为高效;
(3) 因为每个Pod都有一个Pause(根容器),因此每个Pod至少有两个容器,一个根容器和一个工作容器,只有当根容器挂了,才认为Pod挂了

Service:

(1) 多个功能相同的Pod组成一个Service(微服务),Kubernetes 集群是由多个 Service 组成的,我们可以通过 ip:port 的形式来访问Service
(2) 同一个Service下的所有Pod是通过 kube-proxy 实现负载均衡,而每个Service都会分配一个全局唯一的虚拟ip,也叫做 Cluster ip

Master:

(1) 在一个Kubernetes集群里面,会有多个节点(Node),而 Kubernetes Master 这个节点作为主节点,用来管理其他的工作节点;
(2) Master 节点的功能包括资源管理 、Pod调度 、弹性伸缩 、安全控制 、系统监控 、纠错等;
(3) Master 是整个集群的控制中心,kubernetes 的所有控制指令都是发给Master,它负责具体的执行过程;
(4) Master上有这些关键的进程:

  ① Kubernetes API Server,是所有资源增、删、改、查等操作的唯一入口,比如我们要增加Pod,增加Service都要通过这个入口来配置
  ② Kubernetes Controller Manager,是所有资源的自动化控制中心,比如弹性伸缩功能,就是通过 Controller Manager 控制Pod的数量来实现的
  ③ Kubernetes Scheduler,负责资源调度,主要是调度Pod到合适的Node上
  ④ etcd Server,etcd是一个高可用的键值存储系统,Kubernetes使用它来存储各个资源的状态及资源的数据

Label:

(1) Label是一个键值对,其中键和值都由用户自定义,Label 可以附加在各种资源对象上,如 Node、Pod、Service、RC 等;
(2) 比如多个功能相同的Pod会组成一个Service,那么Service怎么区分这些Pod呢?我们会给每个Pod打一个Label(标签),Service 通过 Label 来找到指定的Pod;
(3) 一个资源对象可以定义多个 Label,同一个 Label 也可以被添加到任意数量的资源对象上;Label可以在定义对象时定义,也可以在对象创建完后动态添加或删除;

RC:

(1) RC(Replication Controller)定义了一个期望的场景,即声明某种Pod的副本数量在任意时刻都符合某个预期
(2) 比如 Master 上运行的 RC 就是用来控制弹性伸缩的,通过控制Pod的数量来实现,如果某个Pod挂了,RC会重新选用另一个Pod
(3) RC 也可以用来实现动态升级,比如新版本每增加1个Pod,旧版本就减少一个Pod,始终保持固定的值,最终旧版本Pod数为0,全部为新版本
(4) Deployment:这个工具相当于RC的升级版,可能会取代RC,目的是为了解决Pod编排问题,跟RC比较,最大的一个特点是可以知道Pod部署的进度

HPA:

(1) HPA(Horizontail Pod Autoscaler)用来实现Pod的动态扩容、缩容,它通过追踪分析RC控制的所有目标Pod的负载变化情况,来决定是否要调整目标Pod的副本数
(2) 有两种指标作为判断的依据,第一种是cpu的平均值,比如所有Pod的cpu平均值达到90%就扩容;第二种是Service请求数,达到指定的请求数就扩容

Volume:

(1) Volume存储卷,是Pod中能够被多个容器访问的共享目录,定义在Pod上,然后被一个Pod里的多个容器挂载到具体的目录下
(2) Volume与Pod生命周期相同,但与容器的生命周期没关系,当容器终止或者重启时,Volume中的数据并不会丢失
(3) Kubernetes支持多种类型的Volume,如 glusterfs,ceph 等先进的分布式文件系统

PV:

(1) PV(persistent volume)可以理解成 Kubernetes 集群中某个网络存储中对应的一块存储,它与 Volume 类似,但也有一些区别
(2) PV只能是网络存储,不属于任何Node,但可以在每个Node上访问到;PV并不是定义在pod上,而是独立于pod之外定义

Namespace:

(1) 当Kubernetes集群中存在多租户的情况下,就需要有一种机制实现每个租户的资源隔离,而 Namespace(命名空间)的目的就是为了实现资源隔离
(2) Namespace(命名空间)可以理解为划分子网,使得网段不同,从而实现资源隔离

Kubernetes 相关概念的更多相关文章

  1. Kubernetes相关概念

    This page explains how Kubernetes objects are represented in the Kubernetes API, and how you can exp ...

  2. Kubernetes 简介

    一.Kubernetes 相关概念 1. Kubernetes 是一个开源的容器集群管理系统,主要用来自动化部署容器 .自动扩展与收缩容器规模 .提供容器间的负载均衡2. Node:Node(节点)也 ...

  3. kubernetes入门学习系列

    一.kubernetes基础概念 初识kubernetes kubernetes相关概念 二.kubernets架构和组件 kubernetes架构 kubernetes单Master架构 kuber ...

  4. Kubernetes学习-相关概念

    Kubernetes架构图 上图可以看到如下组件,使用特别的图标表示Service和Label: Pod Container(容器) Label()(标签) Replication Controlle ...

  5. kubernetes学习笔记

    docker实现了更便捷的单机容器虚拟化的管理, docker的位置处于操作系统层与应用层之间; 相对传统虚拟化(KVM,XEN): docker可以更加灵活的去实现一些应用层功能, 同时对资源的利用 ...

  6. Kubeadm 安装部署 Kubernetes 集群

    阅读目录: 准备工作 部署 Master 管理节点 部署 Minion 工作节点 部署 Hello World 应用 安装 Dashboard 插件 安装 Heapster 插件 后记 相关文章:Ku ...

  7. ASP.NET Core在Azure Kubernetes Service中的部署和管理

    目录 ASP.NET Core在Azure Kubernetes Service中的部署和管理 目标 准备工作 注册 Azure 账户 AKS文档 进入Azure门户(控制台) 安装 Azure Cl ...

  8. 安装部署 Kubernetes 集群

    安装部署 Kubernetes 集群 阅读目录: 准备工作 部署 Master 管理节点 部署 Minion 工作节点 部署 Hello World 应用 安装 Dashboard 插件 安装 Hea ...

  9. Kubernetes 学习(十)Kubernetes 容器持久化存储

    0. 前言 最近在学习张磊老师的 深入剖析Kubernetes 系列课程,最近学到了 Kubernetes 容器持久化存储部分 现对这一部分的相关学习和体会做一下整理,内容参考 深入剖析Kuberne ...

随机推荐

  1. 【转】jmeter 如何将上一个请求的结果作为下一个请求的参数——使用正则提取器

    1.简介 Apache JMeter是Apache组织开发的基于Java的压力测试工具.用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域. 它可以用于测试静态和动态资源例如 ...

  2. Linux 文件编码格式转换

    如果需要在Linux 中操作windows下的文件,那么经常遇到文件编码转换的问题. Windows中默认的文件格式是GBK(gb2312),而Linux一般都是UTF-. 查看文件编码 在vim 中 ...

  3. SharePoint 2013 Support for Windows Server 2012 R2

    Summary Currently, Microsoft SharePoint Server 2013 is not supported for installation on computers r ...

  4. Ogre 编辑器二(用Ogre的地形组件加载天龙八部地形)

    主界面如上文设计完成后,场景刚开始添加了是Ogre例子里的,发现场景里实物太少,于是想到直接把天龙的场景拿下来,天龙网上有源码,参考了下,把天龙的地形用Ogre的地形组件完成了下,如下是效果图: 因为 ...

  5. 对微软Microsoft Dynamics CRM 的认识

    MS CRM的认识 技术层面: MS CRM使用了当前最为流行的Web Service作为数据交互的手段,这给我们的二次开发和系统级的集成带来了无可比拟的方便性.易用性.我们不用关心如何去访问CRM数 ...

  6. Oracle数据库的语句级读一致性

    数据库:Oracle 前提:假定100万行的记录,在最后一行有一个数据a=1. 实验:你在9:00的时候查找数据,9:05的时候查到最后一行:但是,在9:01的时候有人修改了最后一行数据并提交(com ...

  7. JavaScript数据去掉空值

    js数组中过滤掉false, null, 0, "", undefined, and NaN值的方法 对于 false,null,0,undefiend,NaN直接取!得到的都是t ...

  8. java EE 环境配置(JDK + Tomcat + Eclipse for java EE)

    这学期的课程多数都是java语言的,像Java Web程序设计,java课程设计案例,所以趁周末先把软件,环境配置好. 下载JDK 先给上下载链接:http://www.oracle.com/tech ...

  9. asp.net Core EF core ( Entity Framework 7 ) 数据库更新维护

    CreateData­baseIfNotExists等之前的API已经废弃,现在采用的是微软封装好,简化.高效的API,migrations 因为,旧API,要付出高昂的代价,以及局限性 打开VS20 ...

  10. PHP中全局变量的使用global和$GLOBALS[]

    From: http://blog.csdn.net/happyqyt/article/details/7219889 用PHP开发项目,不可避免的会使用到全局变量,比如一些网站的配置信息,全站通用, ...