Kubernetes 是一个具有自动控制 、自动纠错功能的资源管理系统

可以把 Node , Pod , Replication Controller , Service 等都看做是一种 "资源对象"

通过Kubernetes提供的 kubectl 工具  or API编程调用 对这些资源对象进行 增、删、改、查 等操作 并将其在 etcd 中持久化存储。

Kubernetes 其实是一个高度自动化的资源控制系统,它通过跟踪对比etcd库里保存的“资源期望状态” 与 当前环境中的“实际资源状态”的差异

来实现自动控制和自动纠错的高级功能。

---------------------------------------------------

Master

  负责整个集群的管理和控制

  kube-apiserver

  kube-controller-manager

  kube-scheduler

Etcd

-------------------------------------------------------

Node

  kubelet

  kube-proxy

  Docker Engine

-------------------------------------------------------

Label

  相当于标签

  通过

------------------------------------------------------

Deployment

  deployment 和 RC 的相似度超过90%

  可以随时知道当前Pod "部署"的进度

----------------------------------------------------------

Service

  对应于微服务架构中的一个"微服务"

------------------------------------------------------------------------------------------------------

  Volume (存储卷)

volume是pod中能够被多个容器访问的共享目录

volume定义在Pod上,然后被一个Pod里的多个容器挂载到具体的目录下

volume与Pod的生命周期相同,但与容器的生命周期不相关,当容器终止或者重启时,volume中的数据也不会丢失。

Kubernetes支持 GlusterFS 、Ceph等先进的分布式文件系统.

volume类型

1,emptyDir

  emptyDir Volume是在Pod分配到Node时创建的。初始内容为空,无需指定宿主机上对应的目录文件,因为这是kubernetes自动分配的一    个目录,当Pod从Node上移除时,emptyDir中的数据也会被永久删除。

2,hostPath

  hostPath是在Pod上挂载宿主机上的文件或目录

  适用场景:(1) 容器应用程序生成的日志文件需要永久保存时,可以使用宿主机的高速文件系统存储

    (2)需要访问宿主机上Docker引擎内部数据结构的容器应用时,可以通过定义hostPath为宿主机/var/lib/docker 目录

,使容器内部应用可以直接访问Docker的文件系统

3,gcePersistentDisk

  google公有云提供的永久磁盘

4,awsElasticBlockStore

亚马逊的公有云提供的EBS Volume

5, NFS

  volumes:

   - name: nfs

server:  nfs-server.localhost

path: "/ "

其他

---------------------------------------------------------------------------

Persistent Volume

  PV 可以理解成 Kubernetes 集群中的某个网络存储中对应的一块存储

  PV 只能是网络存储,不属于任何Node,但可以在每个Node上访问

  PV 并不是定义在Pod上的,而是独立于Pod之外定义

  PV 目前只有几种类型: GCE Persistent Disks , NFS , RBD , iSCSCI , AWS ElasticBlockStore ,Gluster FS

PV 的 accessMode属性:

  ReadWriteOnce: 读写权限,并且只能被单个Node 挂载

  ReadOnlyMany: 只读权限,允许被多个Node挂载

  ReadWriteMany: 读写权限,允许被多个Node挂载

PVC

  如果某个Pod想申请某种条件的PV,则首先要定义一个PersistentVolumeClaim(PVC)对象

PV是有状态的对象,有以下几种状态:

Availabel: 空闲状态

Bound: 已经绑定到某个PVC上

Released: 对应的PVC已经删除,但资源还没有被收回

Failed: PV自动回收失败。

----------------------------------------------------------------

Namespace

Namespace在很多情况下用于   实现多租户的资源隔离。

Namespace通过将集群内部的资源对象 “分配” 到不同的Namespace 中,形成逻辑上分组的不同项目、小组或用户组,便于不同的分组在共享使用整个集群的资源同时还能被分别管理。

kubectl get namespaces

如果不特别指明namespace ,则用户创建的Pod , RC , Service 将都被系统创建到default的namespace中。

kubectl get pods --namespace=development

Kubenetes 核心概念理解的更多相关文章

  1. CNN核心概念理解

    卷积神经网络 (Convolutional Neural Networks,简称CNN),是一种经典的神经网络算法.由于在图像识别领域取得的良好效果,随着人工智能的火热,它也受到越来越多的关注.CNN ...

  2. Spark核心概念理解

    本文主要内容来自于<Hadoop权威指南>英文版中的Spark章节,能够说是个人的翻译版本号,涵盖了基本的Spark概念.假设想获得更好地阅读体验,能够訪问这里. 安装Spark 首先从s ...

  3. 领域驱动设计(DDD)部分核心概念的个人理解

    领域驱动设计(DDD)是一种基于模型驱动的软件设计方式.它以领域为核心,分析领域中的问题,通过建立一个领域模型来有效的解决领域中的核心的复杂问题.Eric Ivans为领域驱动设计提出了大量的最佳实践 ...

  4. 领域驱动设计(DDD)部分核心概念的个人理解(转)

    领域驱动设计(DDD)是一种基于模型驱动的软件设计方式.它以领域为核心,分析领域中的问题,通过建立一个领域模型来有效的解决领域中的核心的复杂问题.Eric Ivans为领域驱动设计提出了大量的最佳实践 ...

  5. 理解maven的核心概念

    原文出处:http://www.cnblogs.com/holbrook/archive/2012/12/24/2830519.html 好久没进行java方面的开发了,最近又完成了一个java相关的 ...

  6. 大数据核心知识点:Hbase、Spark、Hive、MapReduce概念理解,特点及机制

    今天,上海尚学堂大数据培训班毕业的一位学生去参加易普软件公司面试,应聘的职位是大数据开发.面试官问了他10个问题,主要集中在Hbase.Spark.Hive和MapReduce上,基础概念.特点.应用 ...

  7. 十分钟带你理解Kubernetes核心概念

    什么是Kubernetes? Kubernetes(k8s)是自动化容器操作的开源平台,这些操作包括部署,调度和节点集群间扩展.如果你曾经用过Docker容器技术部署容器,那么可以将Docker看成K ...

  8. Maven(三)理解Maven核心概念

    转载自: http://www.cnblogs.com/holbrook/archive/2012/12/24/2830519.html 本文以类图的方式,介绍maven核心的12个概念以及相互之间的 ...

  9. DDD战略设计相关核心概念的理解

    前言 本文想再讨论一下关于领域.业务.业务模型.解决方案.BC.领域模型.微服务这些概念的含义和关系.初衷是我发现现在DDD领域建模以及解决方案落地过程中,常常对这些概念理解不清楚或者有歧义,导致我们 ...

随机推荐

  1. 在Centos7下搭建Socks5代理服务器

    在Centos7下搭建Socks5代理服务器 http://blog.51cto.com/quliren/2052776   采用socks协议的代理服务器就是SOCKS服务器,是一种通用的代理服务器 ...

  2. P1439 最长公共子序列(nlognLCS问题)

    模板 #include <iostream> #include <cstdio> using namespace std; ],loc[],b[],k,n,l,r,mid; i ...

  3. C++ vector动态数组

    #include<vector>头文件 vector类称作向量类 百度百科的解释:https://baike.baidu.com/item/vector/3330482 我喜欢把知识点拿出 ...

  4. java画按钮的边框

    import javax.swing.*;import java.awt.*;public class demo_4{    public static void main(String [] arg ...

  5. WebApi 增加身份验证 (OAuth 2.0方式)

    1,在Webapi项目下添加如下引用: Microsoft.AspNet.WebApi.Owin Owin Microsoft.Owin.Host.SystemWeb Microsoft.Owin.S ...

  6. mongooDb链接javaapi

    mongodb链接有多种:所以不同链接下的api也不太一样. 1.api比较全面 public void query2(){ String mondburl = Config.getInstance( ...

  7. win 10 的wordcloud的安装

    这两天为了安装wordcloud库可谓是“一把辛酸”,各种出错 jieba什么就不说了,安装和使用都很简单只需要一句代码就可以实现了,而wordcloud在安装之前,本以为也像jieba那样的简单,但 ...

  8. [转]BSD系统正在死亡?一些安全研究人员这样认为

    摘要:在代码安全上被关注太少,漏洞没有被报告修补,FreeBSD.OpenBSD和NetBSD还能活下来吗? 在德国莱比齐的34c3网站上,IOActive的渗透测试主管Ilja von Sprund ...

  9. mvc 路由伪静态实现

    很多网站都采用伪静态,例如以html.shtml等结尾的url,mvc的路由可以轻松实现. 配置路由 默认路由配置 添加伪静态路由 mvc的路由原理是从上往下匹配的,所以只需要在后面添加自己配置的路由 ...

  10. msfconlose基本命令

    命令 简介 back 从当前上下文 banner 显示显示一个令人敬畏的metasploit横幅 cd 更改当前工作目录 color 切换颜色 connect 与主机通信 edit 使用$ VISUA ...