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. Leetcode之广度优先搜索(BFS)专题-1162. 地图分析(As Far from Land as Possible)

    Leetcode之广度优先搜索(BFS)专题-1162. 地图分析(As Far from Land as Possible) BFS入门详解:Leetcode之广度优先搜索(BFS)专题-429. ...

  2. 2019 徐州icpc网络赛 E. XKC's basketball team

    题库链接: https://nanti.jisuanke.com/t/41387 题目大意 给定n个数,与一个数m,求ai右边最后一个至少比ai大m的数与这个数之间有多少个数 思路 对于每一个数,利用 ...

  3. [转帖]Intro Guide to Dockerfile Best Practices

    Intro Guide to Dockerfile Best Practices By Tibor Vass July 02 2019    https://blog.docker.com/2019/ ...

  4. ZooKeeper常用命令行操作

    ZooKeeper常用命令行操作 通过./zkCli.sh 打开zk的客户端进入命令行后台 ls/ls2 列出当前节点下的子节点 ls2还会列出当前节点的状态 [zk: localhost:2181( ...

  5. windows terminal编译实录

    直接甩个大佬链接吧 https://www.bilibili.com/video/av52032233?t=835 安装过程中如果出问题了,靠搜索引擎解决下,微软或者vs的问题可以用biying搜索 ...

  6. PHP使用CURL抓取页面

    cURL的基本原理 curl是利用URL语法在命令行方式下工作的开源文件传输工具,他能够从互联网上获得各种各样的网络资源.简单来说,curl就是抓取页面的升级版. <?php //1.初始化,创 ...

  7. 剑指Offer 1-41 代码(python实现)

    今天主要写了一下offer 1-41题,余下的稍后整理 1 """ 1 镜像二叉树: 递归 """ def mirror(root): if ...

  8. Codeforces 1196E. Connected Component on a Chessboard

    传送门 注意到棋盘可以看成无限大的,那么只要考虑如何构造一个尽可能合法的情况 不妨假设需要的白色格子比黑色格子少 那么容易发现最好的情况之一就是白色排一排然后中间黑的先连起来,剩下黑色的再全部填白色周 ...

  9. Centos7:JDK1.8环境配置

    1.将压缩包解压缩 tar -zxvf jdk-8u181-linux-x64.tar.gz; 2.配置环境变量 环境变量地址:/etc/profile #set java environment J ...

  10. 使用transform属性和animation属性制作跳动的心

    transform属性允许我们对元素进行旋转.缩放.移动和倾斜: animation属性允许我们对元素实现一些动画效果: 跳动的心源码 <!DOCTYPE html> <html l ...