第二章 Kubernetes快速入门
一、四组基本概念
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快速入门的更多相关文章
- 第二章 Vue快速入门-- 28 自定义按键修饰符
事件处理-按键修饰符 js 里面的键盘事件对应的键码 <!DOCTYPE html> <html lang="en"> <head> <m ...
- 第二章 Vue快速入门-- 27 字符串的padStart方法使用
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...
- 第二章 Vue快速入门-- 26 过滤器-定义私有过滤器
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...
- 第二章 Vue快速入门-- 25 过滤器-定义格式化时间的全局过滤器
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...
- 第二章 Vue快速入门-- 23 品牌案例-根据关键字实现数组的过滤
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...
- 第二章 Vue快速入门--20 品牌案例-完成品牌列表的添加功能+ 21 品牌案例-根据Id完成品牌的删除
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...
- 第二章 Vue快速入门--14 使用v-model实现计算器的案例
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...
- 第二章 Vue快速入门--13 讲解v-model实现表单元素的数据双向绑定
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...
- 第二章 Vue快速入门--12 事件修饰符的介绍
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...
随机推荐
- 基于Mybatis插件方式实现数据脱敏处理
一.项目介绍 1.项目背景 有时候我们数据库中存储一些敏感的信息比如手机号.银行卡号,我们希望我们查询出来的的时候对一些敏感信息做一些脱敏处理. 当面项目是基于自定义Mybatis插件方式实现数据脱敏 ...
- ASP.NET Core 6 从入门到企业级实战开发应用技术汇总
系列目录 [已更新最新开发文章,点击查看详细] 本系列博客主要介绍.NET6相关技术,从基础入门.进阶提升到高级升华,最后通过一个企业级项目实战来检验技术应用能力.把个人技术与经验分享出来,抛 ...
- Http实战之Wireshark抓包分析
Http实战之Wireshark抓包分析 Http相关的文章网上一搜一大把,所以笔者这一系列的文章不会只陈述一些概念,更多的是通过实战(抓包+代码实现)的方式来跟大家讨论Http协议中的各种细节,帮助 ...
- throws关键字_异常处理的第一种方式(交给别人处理)和try_catch_异常处理的第二种方式(自己处理)
throws关键字:异常处理的第一种方式,交给别人处理 作用: 当方法内部抛出异常对象的时候,那么我们就必须处理这个异常对象 可以使用throws关键字处理异常对象, 会把异常对象声明抛出给方法的调用 ...
- 自动登录token过期问题
之前遇到的一个也不算棘手的问题,自动登录本地存储了token却无法登录到主页. 先说一下我自动登录的思路:在用户登录成功时,将 token 存入 cookie :当用户下次来到本网站,读取 cooki ...
- zookeeper和spring cloud版本冲突
1.使用elastic-job进行任务调度,而核心的就是使用zookeeper进行管理,但这个与spring cloud 冲突造成启动不了 |ERROR |main |SpringApplicatio ...
- 从零开始实现lmax-Disruptor队列(五)Disruptor DSL风格API原理解析
MyDisruptor V5版本介绍 在v4版本的MyDisruptor实现多线程生产者后.按照计划,v5版本的MyDisruptor需要支持更便于用户使用的DSL风格的API. 由于该文属于系列博客 ...
- C++类对象作为类成员
//当其他类的对象作为本类的成员 构造的时候先去构造类的对象 再去构造自身 //析构函数: 先进后出 先去构造Phone 再去构造Person Person先退出 Phone后退出 //析构与构造顺序 ...
- Centos7 安装mysql服务器并开启远程访问功能
大二的暑假,波波老师送了一个华为云的服务器给我作测试用,这是我程序员生涯里第一次以root身份拥有一台真实的云服务器 而之前学习的linux知识在这时也派上了用场,自己的物理机用的是ubuntu系统, ...
- 【New】Code Insertion
#include <bits/stdc++.h> using namespace std; #define Multicase() for(int T = read() ; T ; T-- ...