容器和K8s常见概念

【容器】

1、Open Container Initiative(OCI):制定和推动容器格式和运行时的开放标准。容器运行时需要遵循此标准。主要的产出物包括:

  • OCI Image Specification: 定义容器镜像格式的规范,统一描述容器镜像的内容和结构。
  • OCI Runtime Specification: 定义容器运行时的规范,包括容器的创建、启动、停止以及生命周期管理等方面的标准。
  • OCI Distribution Specification: 定义容器镜像的分发规范,使得镜像可以便捷地从各种来源获取和使用。

2、常见容器运行时:containerd(docker)、cri-o(CRI-O 是为 Kubernetes 设计的一个独立的容器运行时,而不是专门为 Docker 设计的。)
3、runc:对符合 Open Container Initiative(OCI)规范的容器运行时的管理工具。实现Linux上容器的隔离,namespace、cgroup以及其他系统级别隔离,还有容器的生命周期管理。
4、容器运行时和runc关系:运行时会调用runc。
5、市面上的很多容器标准都是基于runc实现的,比如Pouch 是由阿里巴巴开源的轻量级容器引擎,遵循 OCI 标准,并且支持 Kubernetes CRI(容器运行时接口)。

【Docker】

1、docker组件:

https://learn.lianglianglee.com/%E4%B8%93%E6%A0%8F/%E7%94%B1%E6%B5%85%E5%85%A5%E6%B7%B1%E5%90%83%E9%80%8F%20Docker-%E5%AE%8C/11%20%20%E7%BB%84%E4%BB%B6%E7%BB%84%E6%88%90%EF%BC%9A%E5%89%96%E6%9E%90%20Docker%20%E7%BB%84%E4%BB%B6%E4%BD%9C%E7%94%A8%E5%8F%8A%E5%85%B6%E5%BA%95%E5%B1%82%E5%B7%A5%E4%BD%9C%E5%8E%9F%E7%90%86.md

2、Docker 最初使用了自己的容器运行时,但后来将其核心容器运行时组件 containerd 开源,其默认的容器运行时切换为 containerd。

【K8s】

1、Kubernetes 使用 CRI(Container Runtime Interface)作为容器运行时的接口,通过该接口与容器运行时进行通信。

2、概论 : Kubernetes中概念的简要概述:

  • Cluster : 集群是指由Kubernetes使用一系列的物理机、虚拟机和其他基础资源来运行你的应用程序。
  • Node : 一个node就是一个运行着Kubernetes的物理机或虚拟机,并且pod可以在其上面被调度。.
  • Pod : 一个pod对应一个由相关容器和卷组成的容器组 (了解Pod详情
  • Label : 一个label是一个被附加到资源上的键/值对,譬如附加到一个Pod上,为它传递一个用户自定的并且可识别的属性.Label还可以被应用来组织和选择子网中的资源(了解Label详情)
  • selector是一个通过匹配labels来定义资源之间关系得表达式,例如为一个负载均衡的service指定所目标Pod.(了解selector详情)
  • Replication Controller : replication controller 是为了保证一定数量被指定的Pod的复制品在任何时间都能正常工作.它不仅允许复制的系统易于扩展,还会处理当pod在机器在重启或发生故障的时候再次创建一个(了解Replication Controller详情)
  • Service : 一个service定义了访问pod的方式,就像单个固定的IP地址和与其相对应的DNS名之间的关系。(了解Service详情)
  • Volume: 一个volume是一个目录,可能会被容器作为未见系统的一部分来访问。(了解Volume详情)
  • Kubernetes volume 构建在Docker Volumes之上,并且支持添加和配置volume目录或者其他存储设备。
  • Secret : Secret 存储了敏感数据,例如能允许容器接收请求的权限令牌。
  • Name : 用户为Kubernetes中资源定义的名字
  • Namespace : Namespace 好比一个资源名字的前缀。它帮助不同的项目、团队或是客户可以共享cluster,例如防止相互独立的团队间出现命名冲突
  • Annotation : 相对于label来说可以容纳更大的键值对,它对我们来说可能是不可读的数据,只是为了存储不可识别的辅助数据,尤其是一些被工具或系统扩展用来操作的数据

【总结】

搬运图:

【进一步理解】

1、kubectl describe node xxx,一般会看到的返回:

Container Runtime Version: docker://18.9.0        这是传统的 Docker 引擎运行时。

Container Runtime Version: containerd://1.5.8        docker切换到containerd运行时。

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

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

相关文章

ubuntu 22.04安装Anaconda3步骤

系统:Ubuntu 22.04 目标:安装Anaconda3 步骤: 1.在Anaconda官网 link下载xx.sh文件 2.进入Download文件夹,添加文件执行权限 chmod x Anaconda_xxx.sh 3.运行 ./Anaconda_xxx.sh 4.确定当前安装路径,一般为如下形式 /home/usr-nam…

git入门教程

Git 1. Git历史 同生活中的许多伟大事件一样,Git 诞生于一个极富纷争大举创新的年代。Linux 内核开源项目有着为数众广的参与者。绝大多数的 Linux 内核维护工作都花在了提交补丁和保存归档的繁琐事务上(1991-2002年间)。到 2002…

从零开始实现一个RPC框架(五)

前言 这是系列最后一篇文章了,最后我们来为我们的rpc框架实现一个http gateway。这个功能实际上受到了rpcx的启发,基于这种方式实现一个简单的类似service mesh中的sidecar。 原理 http gateway可以接收来自客户端的http请求并将其转换为rpc请求然后交…

PicGo日志报错 image not found in clipboard

PicGo: image not found in clipboard 文章目录 PicGo: image not found in clipboard问题描述问题尝试解决方案 问题描述 背景:在剪切板中的图片无法通过 PicGo 的剪切板图片进行上传。 读取PicGo 日志报错,显示图片没有在剪切板中找到。 $ ------Erro…

express接口请求的几种方式分析总结

导语 在用express做接口开发的时候&#xff0c;我们要处理post,get,put,delete等请求&#xff0c;以及jsonp的方式&#xff0c;这篇文章记录下结合ajax&#xff0c;实现处理这些请求方式的过程 实现过程 上代码&#xff0c;主要演示post,get及jsonp的请求 <!DOCTYPE htm…

(学习日记)2024.04.05:UCOSIII第三十三节:互斥量

写在前面&#xff1a; 由于时间的不足与学习的碎片化&#xff0c;写博客变得有些奢侈。 但是对于记录学习&#xff08;忘了以后能快速复习&#xff09;的渴望一天天变得强烈。 既然如此 不如以天为单位&#xff0c;以时间为顺序&#xff0c;仅仅将博客当做一个知识学习的目录&a…

51单片机入门_江协科技_17~18_OB记录的笔记

17. 定时器 17.1. 定时器介绍&#xff1a;51单片机的定时器属于单片机的内部资源&#xff0c;其电路的连接和运转均在单片机内部完成&#xff0c;无需占用CPU外围IO接口&#xff1b; 定时器作用&#xff1a; &#xff08;1&#xff09;用于计时系统&#xff0c;可实现软件计时&…

数据库基础(面试常见题)

一、数据库基础 1. 数据抽象&#xff1a;物理抽象、概念抽象、视图级抽象,内模式、模式、外模式2. SQL语言包括数据定义、数据操纵(Data Manipulation),数据控制(Data Control)数据定义&#xff1a;Create Table,Alter Table,Drop Table, Craete/Drop Index等数据操纵&#xf…

C语言题目:分段函数练习

题目描述 输入x &#xff0c;计算并输出下列分段函数 f(x) 的值。可以调用数学库函数&#xff1a;平方根函数sqrt(),绝对值函数fabs() 和幂函数 pow()。 保留2位小数 输入格式 x 输出格式 f(x) 样例输入 5 样例输出 15.00 代码分析 包含标准输入输出库和数学库: #incl…

Linux -- 字符设备驱动--LED的驱动开发(初级框架)

驱动框架一阶段 我们怎样去点亮一个 LED 呢&#xff1f;分为三步&#xff1a; 看原理图确定引脚&#xff0c;确定引脚输出什么电平才能点亮/熄灭 LED 看主芯片手册&#xff0c;确定寄存器操作方法&#xff1a;哪些寄存器&#xff1f;哪些位&#xff1f;地址是&#xff1f; 编…

webpack5如何关闭全屏错误

1、找到vue.config.js 2、在上面的devServer里面添加如下&#xff1a; client: {overlay: false, // 禁用全局错误提示},

mynet开源库

1.介绍 个人实现的c开源网络库&#xff0e; 2.软件架构 1.结构图 2.基于event的自动分发机制 3.多优先级分发队列&#xff0c;延迟分发队列 内部event服务于通知机制的优先级为0&#xff0c;外部event优先级为1&#xff0e; 当集中处理分发的event_callback时&#xff0c…

更新!谷歌倾斜摄影转换生成OSGB瓦片V0.2版

半个月前发表了一篇文章(首发&#xff01;谷歌倾斜摄影转换生成OSGB格式),首次将谷歌原始倾斜摄影瓦片转成OSGB瓦片&#xff0c;有读者对文章里的内容有诸多疑问&#xff0c;可能我在文章中描述的不够清楚&#xff0c;这里再解释一下。 1.谷歌倾斜摄影3DTiles瓦片生成方案 之…

若依ts版本(vue3+element plus+ts)

1、项目简介 本项目参考若依前后端分离版&#xff0c;前端由[若依vue3]改写为ts版本[ruoyi-web-vue3-ts]&#xff0c;后端对[若依V3.8.7]进行了修改[后端版本分支vue3.ts.3.8.7]&#xff0c;具体文档参见[若依官方文档]。本项目对部分代码做了优化&#xff0c;增加了activiti7…

langchain 学习笔记-FunctionCalling三种方式

ChatGPT 基于海量的训练数据生成答案&#xff0c;所以它无法回答训练数据中没有的信息或搜索信息 。人们希望 ChatGPT 具有对话以外的各种功能&#xff0c;例如“我想管理我的待办事项列表”。 函数调用是对此类请求的响应。 通过使用函数调用&#xff0c;ChatGPT 现在可以在生…

LeetCode-215. 数组中的第K个最大元素【数组 分治 快速选择 排序 堆(优先队列)】

LeetCode-215. 数组中的第K个最大元素【数组 分治 快速选择 排序 堆&#xff08;优先队列&#xff09;】 题目描述&#xff1a;解题思路一&#xff1a;排序解题思路二&#xff1a;快速选择解题思路三&#xff1a;0 题目描述&#xff1a; 给定整数数组 nums 和整数 k&#xff0…

AI技术创业机会之智慧城市与智慧交通

人工智能(AI)技术的创新与发展为智慧城市与智慧交通领域带来了革命性的变革,为创业者创造了大量创新与创业机会。以下详述了智慧城市与智慧交通背景下AI技术的创业机会及其具体细节与内容,以5000字篇幅深入剖析各细分领域,为有志于投身这一领域的创业者提供全面、深入的商…

Vue-ts项目导入Js文件方法-书写提示无法找到模块“XXXX”的声明文件-配置说明

提示 无法找到模块“/filter/filter”的声明文件。“d:/code/byWork/mixmarvel/SendAssetsClient/src/filter/filter.js”隐式拥有 "any" 类型。 解决方法 修改 tsconfig.json {"compilerOptions": {"target": "esnext","modu…

OneFlow深度学习框架介绍

OneFlow是一个开源的深度学习框架&#xff0c;旨在为用户提供高效、易用的工具来进行深度学习模型的开发、训练和部署。以下是一些OneFlow框架的特点和优势&#xff1a; 高效性能&#xff1a; OneFlow针对大规模深度学习模型进行了优化&#xff0c;具有优秀的计算性能和内存管理…

Linux Shell 比较运算有哪些,以及怎么用

Linux Shell 比较运算有哪些&#xff0c;以及怎么用 在 Linux Shell 脚本编程中&#xff0c;进行算术比较是常见的需求&#xff0c;特别是在编写条件判断语句时。Shell 提供了一系列的算术比较操作符&#xff0c;这些操作符通常用在 if、while 等语句中&#xff0c;以便进行数…