1、master

master是集群的网关和中枢,负责诸如为用户和客户端暴露api、跟踪其他服务器的健康状态、以最优方式调度工作负载,以及编排其他组件之间的通信等服务,它是用户或客户端与集群之间的核心联络点,并负责k8s系统的大多数集中式管控逻辑,单个master节点即可完成其所有的功能,但出于冗余及负载均衡等目的,生产环境中通常需要协同部署多个此类主机。master节点类似于蜂群中的蜂王。

2、node

node是k8s集群的工作节点,负责接收来自master的工作指令,并根据指令相应地创建或销毁pod对象,以及调整网络规则以合理地路由和转发流量等。理论上讲,node可以是任何形式的计算设备,不过master会统一将其抽象为node对象进行管理。node类似蜂群中的工蜂。

3、pod

k8s并不直接运行容器,而是使用一个抽象的资源对象来封装一个或者多个容器,这个抽象即为pod,它也是k8s的最小调度单元。同一pod中的容器共享网络名称空间和存储资源,这些容器可经由本地回环接口lo直接通信,但彼此之间又在mount、user及pid等名称空间上保持了隔离。

4、label

标签是将资源进行分类的标识符,资源标签其实就是一个键值型数据。标签旨在指定对象辨识性的属性,这些属性仅对用户存在特定的意义,对k8s集群来说,并不直接表达核心系统语义。标签可以在对象创建时附加其上,并能够在创建后的任意时间进行添加和修改。一个对象可以拥有多个标签,一个标签可以附加于多个对象之上。

5、label selector

标签选择器是一种根据label来过滤符合条件的资源对象的机制。例如,将附有标签“role: backend”的所有pod对象挑选出来归为一组就是标签选择器的一种应用。用户通常使用标签对资源进行分类,而后使用标签选择器挑选出它们。

6、controller

尽管pod是k8s的最小调度单元,但用户通常并不会直接部署及管理pod对象,而是要借助于另一类抽象---控制器对其进行管理。用于工作负载的控制器是一种管理pod生命周期的资源抽象,而非单个资源对象,包括replicationcontroller、replicaset、deployment、statefulset、job、cronjob等。使用控制器之后就不再需要手动管理pod对象了,用户只需要声明应用的期望状态,控制器就会自动对其进行进程管理。

7、service

service是建立在一组pod对象之上的资源抽象,它通过标签选择器选定一组pod对象,并为这组pod对象定义一个统一的固定访问入口(通常是一个IP地址),若k8s集群存在dns附件,它就会在service创建时为其自动配置一个dns名称以便客户端进行服务发现。到达service IP的请求将被负载均衡至其后的端点(各个pod对象)之上,因此service从本质上来讲是一个四层代理服务。另外,service还可以将集群外部流量引入到集群中来。

8、volume

存储卷是独立于容器文件系统之外的存储空间,常用于扩展容器的存储空间并为它提供持久存储能力。k8s集群上的存储卷大体可分为临时卷、本地卷和网络卷。临时卷和本地卷都位于node本地,一旦pod被调度至其他node,此种类型的存储卷将无法访问到,因此临时卷和本地卷通常用于数据缓存,持久化的数据则需要放置于持久卷之上。

9、name和namespace

名称是k8s集群中资源对象的标识符,它们的作用域通常是名称空间,因此名称空间是名称的额外的限定机制。在同一名称空间中,同一类型资源对象的名称必须具有唯一性。名称空间通常用于实现租户或项目的资源隔离,从而形成逻辑分组。创建的pod和service等资源对象都属于名称空间级别,未指定时,它们都属于默认的名称空间“default”。

10、annotation

注解是另一种附加在对象之上的键值类型的数据,但它拥有更大的数据容量。annotation常用于将各种非标识性元数据附加到对象上,但它不能用于标识和选择对象,通常也不会被k8s直接使用,其主要目的是方便工具或用户的阅读及查找等。

11、ingress

k8s将pod对象和外部网络环境进行了隔离,pod和service等对象间通信都使用其内部专用地址进行,如若需要开放某些pod对象提供给外部用户访问,则需要为其请求流量打开一个通往k8s集群内部的通道,除了service之外,ingress也是这类通道的实现方式之一。

K8S概念的更多相关文章

  1. k8s概念入门

    k8s是一个编排容器的工具,其实也是管理应用的全生命周期的一个工具,从创建应用,应用的部署,应用提供服务,扩容缩容应用,应用更新,都非常的方便,而且可以做到故障自愈,例如一个服务器挂了,可以自动将这个 ...

  2. K8S概念理解

    Master 负责管理集群 负责协调集群中的所有活动,例如调度应用程序,维护应用程序的状态,扩展和更新应用程序. Worker节点是VM(虚拟机)或物理计算机,充当k8s集群中的工作计算机. 每个Wo ...

  3. 一些重要的k8s概念

    1. Pause容器是什么 作为init pod存在,其他pod都会从pause 容器中fork出来 由pause容器管理 pause容器的工作 可知kubernetes的pod抽象基于Linux的n ...

  4. K8S概念理解参考

  5. 通过搭建MySQL掌握k8s(Kubernetes)重要概念(上):网络与持久卷

    上一篇"通过实例快速掌握k8s(Kubernetes)核心概念"讲解了k8s的核心概念,有了核心概念整个骨架就完整了,应付无状态程序已经够了,但还不够丰满.应用程序分成两种,无状态 ...

  6. ASP.NET Core on K8S学习初探(1)K8S单节点环境搭建

    当近期的一个App上线后,发现目前的docker实例(应用服务BFF+中台服务+工具服务)已经很多了,而我司目前没有专业的运维人员,发现运维的成本逐渐开始上来,所以容器编排也就需要提上议程.因此我决定 ...

  7. 基于 kubeadm 部署单控制平面的 k8s 集群

    单控制平面不符合 HA 要求,但用于开发/测试环境不会有任何问题,如果资源足够的话(10台以上服务器,3台用于APIserver.3台用于 etcd 存储.至少3台用于工作节点.1台作为负载均衡),可 ...

  8. kubernetes基础概念知多少

    kubernetes(简称k8s)是一种用于在一组主机上运行和协同容器化应用程序的管理平台,皆在提供高可用.高扩展性和可预测性的方式来管理容器应用的生命周期.通过k8s,用户可以定义程序运行方式.部署 ...

  9. k8s(00)入门知识介绍

    系列文章说明 本系列文章,可以基本算是 老男孩2019年王硕的K8S周末班课程 笔记,根据视频来看本笔记最好,否则有些地方会看不明白 需要视频可以联系我 k8s概念入门 目录 系列文章说明 k8s概念 ...

随机推荐

  1. IntelliJ IDEA 2018.2激活

    IntelliJ IDEA 2018.2激活 下载补丁 下载补丁JetbrainsIdesCrack-4.2.jar 下载链接 修改文件 将文件JetbrainsIdesCrack-4.2.jar放在 ...

  2. P1097 【统计数字】

    超可爱的题目链接 这题是真不难,就是刚开始被自己的智商坑了一次... 用数组的常规做法实在是有点不切实际..数据大了. 所以用数组读入,再用循坏处理. 附上代码: #include<set> ...

  3. eclipse SVN插件的日常使用

    安装(我的安装方法,怎么方便怎么来) 1.打开eclipse,选择Help->Eclipse MarketPlace,搜索subclipse,点击install,等待.安装成功后会询问重启,点击 ...

  4. Flume 概念、模型和特点

    Flume Event - Flume 事件 - 被定义为一个具有有效荷载的字节数据流和可选的字符串属性集. Flume Agent- Flume - 代理 - 是一个进程承载从外部源事件流到下一个目 ...

  5. [转帖]处理器结构--PipeLine&SuperScalar

    处理器结构--PipeLine&SuperScalar https://www.jianshu.com/p/36c80a15a226  0.1 2018.06.12 16:12* 字数 148 ...

  6. Shell初学(七)linux账户管理/群组管理

    [1]新建用户 用户相关文件:/etc/passwd  /etc/shadow useradd useradd的默认预设 [2]设置密码 passwd 常见修改密码使用技巧: echo "1 ...

  7. (一)Java秒杀项目之项目环境搭建

    一.Spring Boot环境搭建 1.把项目分成多个模块,每个模块对应一部分(不一定是一个章节)的内容,代码将在文章的具体位置给出,每个模块都是在之前模块的基础上构建,每个模块都为Spring Bo ...

  8. [Luogu5686] 和积和

    Description 给定两个下标从\(1\)到\(n\)编号的序列 \(a_i,b_i\),定义函数\(S(l,r)(1\le l\le r\le n)\)为: \[\sum_{i=l}^r a_ ...

  9. c++学习之对象和类——构造函数和析构函数

    再认真理一遍~ 0.类 这里先来定义一个类,便于后面的理解.参考C++ Primer Plus class Stock { private: std::string company; long sha ...

  10. java-阿里云发送短信

    <!--aliyun短信sdk--> <dependency> <groupId>com.aliyun</groupId> <artifactId ...