一、四组基本概念

Pod/Pod控制器;

Name/Namespace;

Label/Label选择器;

Service/Ingress。

二、Pod/Pod控制器

2.1 Pod

Pod是K8S里能够被运行的最小的逻辑单元(原子单元);

1个Pod里面可以运行多个容器,他们共享UTS+NET+IPC名称空间;

可以把Pod理解成豌豆荚,而同一个Pod内的每个容器时一颗豌豆;

一个Pod里运行多个容器,又叫:边车(SideCar)模式。

2.2 Pod控制器

Pod控制器是Pod启动的一种模式,用来保证K8S里启动的Pod应始终按照人们的预期运行(副本数、生命周期、健康状态检查...);

K8S内提供了众多的Pod控制器。常用的有以下集中:

Deployment(部署,管理ReplicaSet);

DaemonSet(每个运算节点都起一个);

ReplicaSet(管理Pod,本身不直接对外提供服务);

StatefulSet(管理有状态应用的Pod控制器);

Job(管理任务Pod控制器);

Cronjob(管理任务Pod控制器)。

用的最多的是Deployment和DaemonSet

三、Name和Namespace

3.1 Name

由于K8S内部,使用“资源”来定于每一种逻辑概念(功能),故每种“资源”都应该有自己的“名称”;

资源有:api版本(apiVersion),类别(Kind)、元数据(metadata)、定义清单(spec)、状态(status)等配置信息;

“名称”通常定义在“资源”的“元数据”信息里。

3.2 Namespace

随着项目增多,人员增加,集群规模的扩大,需要一种能够隔离K8S内的各种资源的方法,这就是名称空间;

名称空间可以理解为K8s内部的虚拟集群组;

不同名称空间内的资源,名称可以相同,相同的名称空间内的同种资源,名称不能相同;

合理的使用K8S的名称空间,是的集群管理员能够更好的对交付到K8S内的服务进行分类管理和浏览;

K8S里默认存在的名称空间有:default、kube-system、kube-public,也可以自定义名称空间;

查询K8S里特定的资源要带上响应的名称空间

四、Label和Label选择器

4.1 Label

标签是K8s特色的管理方式,便于分类管理资源对象;

一个标签可以对应多个资源,一个资源也可以有多个标签,他们是多对多的关系;

一个资源拥有多个标签,可以实现不同维度的管理;

标签的组成:key=value(value不能多于64个字节,只能由字母和数字、-、_、.组成);

与标签类似的,还有一种“注解”(annotations)

4.2 Label选择器

给资源打上标签后,可以使用标签选择器过滤指定的标签;

标签选择器目前有两个:基于等值关系(等于、不等于)和基于集合关系(属于、不属于、存在);

许多资源支持内嵌标签选择器字段:

matchLabels;

matchExpressions。

五、Service和Ingress

5.1 Service:

在K8s的世界中,虽然每一个Pod都会被分配一个单独的IP地址,但是这个IP地址会随着Pod的销毁而消失,我们无法准确的进行定位;

Service(服务)就是用来解决这个问题的核心概念;

一个Service可以看作一组提供相同服务的Pod的对外访问接口;

Service作用于哪些Pod是通过标签选择器来定义的。

5.2 Ingress

Ingress是K8s集群里工作在OSI网络参考模型下,第七层的应用,对外暴露的接口;

Service只能进行L4流量调度,表现形式是ip+port;

Ingress则可以调度不同业务域、不同的URL访问路径的业务流量。

六、逻辑

流量-->Ingress-->Service-->Pod-->容器

第二章 Kubernetes快速入门的更多相关文章

  1. 第二章 Vue快速入门-- 28 自定义按键修饰符

    事件处理-按键修饰符 js 里面的键盘事件对应的键码 <!DOCTYPE html> <html lang="en"> <head> <m ...

  2. 第二章 Vue快速入门-- 27 字符串的padStart方法使用

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...

  3. 第二章 Vue快速入门-- 26 过滤器-定义私有过滤器

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...

  4. 第二章 Vue快速入门-- 25 过滤器-定义格式化时间的全局过滤器

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...

  5. 第二章 Vue快速入门-- 23 品牌案例-根据关键字实现数组的过滤

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...

  6. 第二章 Vue快速入门--20 品牌案例-完成品牌列表的添加功能+ 21 品牌案例-根据Id完成品牌的删除

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...

  7. 第二章 Vue快速入门--14 使用v-model实现计算器的案例

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...

  8. 第二章 Vue快速入门--13 讲解v-model实现表单元素的数据双向绑定

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...

  9. 第二章 Vue快速入门--12 事件修饰符的介绍

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...

随机推荐

  1. React基础中的单一标签包裹的问题

    先上一段代码: <div id="example"> </div function HelloMessage(props1) { return (<h1&g ...

  2. Mybatis中@select注解联合查询

    前言 在项目中经常会使用到一些简单的联合查询获取对应的数据信息,我们常规都是会根据对应的mapper接口写对应的mapper.xml的来通过对应的业务方法来调用获取,针对这一点本人感觉有点繁琐,就对@ ...

  3. Codeforces Round #804 (Div. 2)

    题目链接 A  The Third Three Number Problem 题意 给你一个n,让你求满足的a,b,c. 如果不存在则输出-1. 思路 显然任意a,b,c是不可能得到奇数. 只考虑偶数 ...

  4. Android Studio的初次认识

    Android的初试 一.认识Android Studio 在我们新建项目的时候,会遇到这样的一个窗口,首先我们认识一下这些都是什么,这样我们才能够更好的进行下一步的学习! 这里的 Phone and ...

  5. 分库分表真的适合你的系统吗?聊聊分库分表和NewSQL如何选择

    曾几何时,"并发高就分库,数据大就分表"已经成了处理 MySQL 数据增长问题的圣经. 面试官喜欢问,博主喜欢写,候选人也喜欢背,似乎已经形成了一个闭环. 但你有没有思考过,分库分 ...

  6. html + css 01: 3d立方体

    html + css实现3d立方体 css代码 /*页面背景色*/ body{ background-color: black; background-repeat:no-repeat; } /*** ...

  7. 图像文本跨模态细粒度语义对齐-置信度校正机制 AAAI2022

    论文介绍:Show Your Faith: Cross-Modal Confidence-Aware Network for Image-Text Matching (跨模态置信度感知的图像文本匹配网 ...

  8. Spring基础入门

    一.Spring了解 Spring:程序员们的春天 Spring主要技术是IOC.AOP两个大概念 它是轻量级的,每个jar包就1M ~ 3M 左右,所以速度快 面向接口编程:降低了耦合度 面向切面编 ...

  9. 基于SqlSugar的开发框架循序渐进介绍(13)-- 基于ElementPlus的上传组件进行封装,便于项目使用

    在我们实际项目开发过程中,往往需要根据实际情况,对组件进行封装,以更简便的在界面代码中使用,在实际的前端应用中,适当的组件封装,可以减少很多重复的界面代码,并且能够非常简便的使用,本篇随笔介绍基于El ...

  10. 在Mac Os(苹果)上用手机抓包软件Charles抓取微信小程序中的高清无水印视频

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_118 手机抓包是一名测试工程师常备的技能,比如我想查看一个接口请求的参数.返回值,还有移动设备上的http请求.https请求,这 ...