当前位置: 首页 > news >正文

云原生俱乐部-k8s知识点归纳(2)

这篇文章开始讲一讲k8s中的namespace和pod,每篇文章写的内容没有很多,但是都是我要写的。

物理集群 VS 虚拟集群

不要被我这个小标题吓到了,这只是我自己的理解。所谓的物理集群指的是k8s运行的底层依赖物理环境,但是虚拟集群我认为则是namespace的功劳。

因为一个k8s集群可能有不同的业务,每个业务都需要放在一个单独的集群环境中,因此可以通过namespace进行分隔。

并且通过namespace我们可以给不同的虚拟集群分配不同的资源,确保每个业务都能够得到合理的资源,这里的资源指的是cpu、内存等。

默认已经有default、kube-public、kube-node-lease(用于master监视节点发送de心跳)、kube-system这几个命名空间,可以看到kube-system命名空间已经运行了多个pod了。

每个pod创建的时候都需要指定命名空间,否则默认是default命名空间,当然这是可以修改的。

pod内的容器类型

其实pod是一组容器的集合,或者说是一组容器的逻辑抽象,而不是实体。在pod中有pause容器,和pod的生命周期绑定。

pod的pause容器

pause为其他子容器提供共享的linux命名空间,比如共享的网络命名空间,这样容器间就可以通过本地就行互相访问。

写到这,好困!虽然是看着之前记录的笔记写的。

除了pause容器之外,还有init类型容器,sidecar并置容器。

主要是通过功能和作用来区分的:

init容器--k8s会先启动所有的init容器,按yml文件定义顺序一一启动,init容器成功退出才会启动下一个init容器或者主容器。

当然也有init容器启动失败的,那么就会根据spec.contaniers.restartPolicy重启策略来决定,Always表示不断重启,Never则会在重启失败的时候标记pod失败。

sidecar容器--Sidecar 和主容器通过  `localhost`直接通信(如主容器访问 Sidecar 的端口)。这其实就是前面提到的共享的网络空间

Kubernetes 不强制约束容器角色,而是通过​共享资源​(网络、存储卷)和​协作逻辑​​实现功能。

也就是说sidecar容器并不是通过yml文件中的字段表明的,而是从作用上认定的。

静态pod--由kubelet管理的pod,而不是由api-server管理的,也就是说通过kubectl客户端命令工具通过api-server是无法讲该静态pod删除的,也不能创建静态pod,但是通过静态pod的镜像能够看到。

etcd还是会保存静态pod的状态的,还有配置。不过备份etcd数据库并不能还原静态节点,因为定义静态节点的yml文件并不归etcd管。而是由kubelet定期扫描manifests文件夹,进而创建或者删除静态pod。

这种设计主要用于集群引导、控制平面组件部署​或​特定节点的本地化服务​​。

下一节讲讲k8s中的控制器,请持续关注。

http://www.lryc.cn/news/620354.html

相关文章:

  • 云原生俱乐部-杂谈1
  • B站 韩顺平 笔记 (Day 18)
  • 从合规到卓越:全星QMS如何成为制造企业的质量战略引擎
  • 十一,算法-快速排序
  • Python/Node.js 调用taobao API:构建实时商品详情数据采集服务
  • Neural Bandit Based Optimal LLM Selection for a Pipeline of Tasks
  • 监控插件SkyWalking(二)集成方法
  • Node.js/Python 实战:封装淘宝商品详情 API 客户端库(SDK)
  • vLLM(Vectorized Large Language Model Serving) 的深度解析
  • npm介绍,指令合集,换源指令
  • 问题总结三
  • VSC遇到的问题:无法加载文件 C:\Program Files\nodejs\npm.ps1,因为在此系统上禁止运行脚本。
  • P12348 [蓝桥杯 2025 省 A 第二场] 交互
  • Java零基础笔记16(Java编程核心:存储读写数据方案—File文件操作、IO流、IO框架)
  • 17. 如何判断一个对象是不是数组
  • 【LeetCode】4. 寻找两个正序数组的中位数
  • hadoop 前端yarn 8088端口查看任务执行情况
  • 【深入浅出STM32(1)】 GPIO 深度解析:引脚特性、工作模式、速度选型及上下拉电阻详解
  • 数据结构:队列(Queue)与循环队列(Circular Queue)
  • linux_网络层-ip协议
  • 力扣 hot100 Day72
  • 深入理解 Cookie 与 Session —— Web 状态保持详解与实战
  • SpringBoot 整合 Langchain4j 系统提示词与用户提示词实战详解
  • JavaWeb(05)
  • TCP客户端Linux网络编程设计详解
  • 人工智能——CNN基础:卷积和池化
  • HiSmartPerf使用WIFI方式连接Android机显示当前设备0.0.0.0无法ping通!设备和电脑连接同一网络,将设备保持亮屏重新尝试
  • SAP Valuation Category在制造业成本核算中的使用场景与配置方案
  • 基于C语言基础对C++的进一步学习_C和C++编程范式、C与C++对比的一些补充知识、C++中的命名空间、文件分层
  • window显示驱动开发—多平面覆盖 VidPN 呈现