k8s个人认知理解

pod的定义

pod里面有容器,所以pod就是一个容器组,一个pod里面可以有多个容器也可以有一个容器,最低只能有一个容器,目前现在主流使用的都是一个pod里面一个容器,同一个pod里面的容器,需要紧耦合。配置文件中的template就是一个pod

k8s pod的定义时间是要解决两个问题,一 、容器之间的网络问题。二、容器之间的数据访问问题。一下图片可以说明:

如果没有pod,容器1访问容器2,使用的是地址访问,使用的是localhost,这样访问的本地,也就是容器1的,如果要想访问容器2的mysql,就必须配置IP地址访问,但是如果配置IP地址,容器2发生重启或者删除的时候,再次启动地址就会发生变化,这时候就需要修改代码。为了避免这种情况,之前的做法是建立link链接,,固定容器的名称,利用容器的名称进行访问。

以上图片说明,容器1的程序写入数据ab,但是容器2的程序需要读取ab,因为每个容器都有自己的空间,所以容器2要想访问ab数据,需要进行数据同步,如果这两个容器公用一块就可以了。

针对以上两种情况定义出pod的概念,pod是k8s部署中的最小单元。

pod在创建的时候会创建一个pod puse这里面共享网络,主机、cpu等信息。容器1和容器2访问的网络等信息,都是通过puse这个pod实现的。

服务的分类

服务一共分为两类,一类是无状态的服务,一类是有状态的服务。

无状态服务:理解为这个服务就是简单的提供服务,对主机没有任何操作。例如不在主机上存储数据等。没有和主机有依赖关系。代表应用nginx apache

有状态服务:理解为这个服务在提供的服务的时候,需要使用主机,比如在主机上存储数据等,代表mysql redis 。

资源分类

命名空间A中的容器不能访问命名空间B中的pod,不同的命名空间pod是隔离的。

控制器

控制器一般分为四大类,适用于无状态服务,适用于有状态服务,守护进程,任务和定时任务。

日常中使用最的是无状态服务,这里面使用最多的是Deployment

deployment部署

deployment可以使用k8s命令部署。直接简单理解部署就行了。

daemonset守护进程部署

daemoset不能使用k8s命令部署。daemonset部署一般用于日志收集等

部署形式是这样的,在daemonset的中如果不指定是否按照那个分类部署,默认的部署形式是除了master节点,其它node节点都会部署daemonset容器。

如上图所示,配置一个daemonset,这个daemonset守护进行,会为所有的node部署。

如果指定部署,如上图在node节点中指定  type:microservices。

在daemonset配置中指定这个类型匹配,type:microservices,就会在有这个标识的node节点就行daemonset进行部署。

注意点:

1、daemonset不能使用命令直接创建,没有副本数。只能通过yml文件进行配置部署。

2、HPA自动扩容不适用于无法扩容的对象,例如daemonset。

3、可以指定到某些节点运行。

Deployments和Daemonset区别和联系

相似性:都能创建pod,创建的pod对应的进程都不希望被终止掉。
区别:

使用Deployments的场景:无状态的service使用deployments,微服务,需要实现对副本的数量进行扩缩容、平滑升级。

使用Daemonset的场景:需要pod副本总是运行在全部或者特定主机上,并需要先于其它pod启动。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/696342.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot集成Curator实现Watch事件监听

系列文章目录 文章目录 系列文章目录前言 前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 Zookeeper是一个Ap…

RabbitMQ的用途

RabbitMQ主要有四个用途,分别是应用解耦、异步提速、削峰填谷、消息分发。详情讲解如下: RabbitMQ介绍、解耦、提速、削峰、分发 详解、RabbitMQ安装 可视化界面讲解 1.应用解耦:提高系统容错性和可维护性 2.异步提速:提升用户体验…

vivado Virtex UltraScale 配置存储器器件

Virtex UltraScale 配置存储器器件 下表所示闪存器件支持通过 Vivado 软件对 Virtex UltraScale ™ 器件执行擦除、空白检查、编程和验证等配置操作。 本附录中的表格所列赛灵思系列非易失性存储器将不断保持更新 , 并支持通过 Vivado 软件对其中所列非易失…

使用sqlmodel实现唯一性校验2,插入之前检查是否已存在

虽然之前添加唯一性校验的方法能够解决数据唯一的问题,但是如果忘了处理异常,则可能会导致程序崩溃。 在此基础上,我们可以在插入数据之前检查该数据是否已存在。 原来的代码: from sqlmodel import Field, Session, SQLModel,…

UE5 C++软引用

一.软引用通常是仅储存资源对象的资源路径没有与资源产生耦合关系的引用(软引用加载到内存中,只有在需要的时候才会被加载) 软引用通常有FSoftObjectPath、FSoftClassPath、TSoftObjectPtr、TSoftClassPtr。它指向的资源未被加载&#xff0c…

UE4_照亮环境_光束light beam

学习笔记,不喜勿喷,侵权立删!祝愿生活越来越好! 光束:模拟大气中散射的光线。利用定向光源模拟真实曙暮光效果或大气散射的阴影,即可生成 光束 。这些光线为场景添加深度和真实度。 一:一些参数…

最短木板长度 - 贪心思维

系列文章目录 文章目录 系列文章目录前言一、题目描述二、输入描述三、输出描述四、java代码五、测试用例 前言 本人最近再练习算法,所以会发布自己的解题思路,希望大家多指教 一、题目描述 小明有 n 块木板,第 i ( 1 ≤ i ≤ n ) 块木板长…

上海计算机学会2022年5月月赛C++丙组T3打印金字塔

题目描述 给定一个整数 n,请打印一个具有 n 层结构的三角形金字塔,例如当 n3 时,打印如下图形: /\ /__\/\ /\/__\/__\/\ /\ /\ /__\/__\/__\输入格式 单个整数:表示 n。 输出格式 根据题意输出层次为 n 的三角形…

SpringCloud Config 分布式配置中心

SpringCloud Config 分布式配置中心 概述分布式系统面临的——配置问题ConfigServer的作用 Config服务端配置Config客户端配置 可以有一个非常轻量级的集中式管理来协调这些服务 概述 分布式系统面临的——配置问题 微服务意味着要将单体应用中的业务拆分成一个个字服务&…

@游戏行业er!MongoDB广州线下沙龙邀您报名!

随着游戏和应用程序的发展,数据变得越来越重要。在为您的下一个游戏选择数据库时,数据库管理者常常会面对灵活性、可扩展性、可靠性、运营效率等问题或挑战。 MongoDB在游戏开发领域有着广泛的应用,灵活数据模型可以存储和处理各种类型的数据…

电流反馈型运放设计要点总结

目录 前言 基本架构 CFB和VFB运算放大器的差异 总结:电流反馈(CFB)与电压反馈(VFB) 前言 最近一个项目用到THS3491,发生了震荡,这是一个电流型反馈运放,借此机会,温故一下,电流运放的相关设计知识 基本架…

MongoDB和AI 赋能行业应用:制造业和汽车行业

欢迎阅读“MongoDB和AI 赋能行业应用”系列的第一篇。 本系列重点介绍AI应用于不同行业的关键用例,涵盖制造业和汽车行业、金融服务、零售、电信和媒体、保险以及医疗保健行业。 随着人工智能(AI)在制造业和汽车行业的集成,传统…