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

打卡学习kubernetes——了解k8s基本概念

目录

1 Container

2 Pod

3 Node

4 Namespace

5 Service

6 Label

7 Annotations

8 Volume


1 Container

Container(容器)是一种便携式、轻量级的操作系统级虚拟化技术。它使用namespace隔离不同的软件运行环境,并通过镜像自包含软件的运行环境,从而使得容器可以很方便的在任何地方运行。

容器体积小且启动快,因此可以在每个容器镜像中打包一个应用程序。使用容器不需要与外部的基础架构环境绑定,因为每个应用程序都不需要外部依赖,更不需要与外部的基础架构环境依赖。完美解决了从开发到生产环境的一致性问题。每个应用程序用容器封装,管理容器部署就等同于管理应用程序部署。

2 Pod

Pod用来管理容器,每个pod可以包含一个或多个紧密关联的容器。Pod是一组紧密关联的容器集合,它们共享PID、IPC、Network和UTS namespace,是kubernetes调度的基本单位。Pod内的多个容器共享网络和文件系统,可以通过进程间通信和文件共享这种简单高效的方式组合完成服务。

3 Node

Node是Pod真正运行的主机,可以是物理机,也可以是虚拟机。为了管理Pod,每个Node节点上至少要运行container runtime(比如docker或者rkt)、kubelet和kube-proxy服务。

4 Namespace

Namespace是对一组资源和对象的抽象集合,比如可以用来将系统内部的对象划分为不同的项目或用户组。常见的pods,services,replication controllers和deployments等都是属于某一个namespace的(默认是default),而node,persistentVolumes等则不属于任何namespace。

5 Service

Service是应用服务的抽象,通过labels为应用提供负载均衡和服务发现。匹配labels的Pod IP和端口列表组成endpoints,由kube-proxy负责将服务IP负载均衡到这些endpoints上。

每个Service都会自动分配一个cluster IP(仅在集群内部可访问的虚拟地址)和DNS名,其他容器可以通过该地址或DNS来访问服务,而不需要了解后端容器的运行。

6 Label

Label是识别kubernetes对象的标签,以key/value的方式附加到对象上(key最长不能超过63字节,value可以为空,也可以是不超过253字节的字符串)。

Label不提供唯一性,实际上经常是很多对象(如pods)都使用相同的label来标志具体的应用。

Label定义好后其他对象可以使用Label Selector来选择一组相同label的对象(比如ReplicaSet和Service用label来选择一组Pod)。

7 Annotations

Annotations是key/value形式附加于对象的注解。用来记录一些附加信息,用来辅助应用部署、安全策略以及调度策略等。比如deployment使用annotations来记录rolling update的状态。

8 Volume

Pod的生命周期通常比较短,只要出现了异常,就会创建一个新的Pod来代替它。那容器产生的数据会随着pod的消亡而自动消失。Volume就是为了持久化容器数据而生。

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

相关文章:

  • 特殊内齿轮加工的另一种选择
  • Visual Studio配置libtorch(cuda安装一步到位)
  • 【工具】一键生成动态歌词字幕
  • Linux/Ubuntu/Debian从控制台启动程序隐藏终端窗口
  • Android中的设计模式---单例模式
  • 【NLP笔记】文本分词、清洗和标准化
  • 2024 年系统架构设计师(全套资料)
  • springboot蛋糕订购小程序的设计与实现
  • MongoDB——linux中yum命令安装及配置
  • 序列化笔记
  • ArkTs的资源Resource类型怎么转为string
  • Apache zookeeper kafka 开启SASL安全认证
  • Rust 的 inline 内联编译策略
  • 软考73-上午题-【面向对象技术2-UML】-UML中的图4
  • html编辑器
  • 利用“定时执行专家”软件的25种任务与12种触发器,提升IT系统管理自动化水平
  • 设计模式学习笔记 - 规范与重构 - 8.实践:程序出错返回啥?NULL、异常、错误吗、空对象?重构ID生成器,处理各函数的异常
  • 【Python使用】python高级进阶知识md总结第4篇:静态Web服务器-命令行启动动态绑定端口号,html 的介绍【附代码文档】
  • langchain+chatglm3+BGE+Faiss Linux环境安装依赖
  • Kubernetes kafka系列 | k8s部署kafka+zookeepe集群(可外部通信)
  • IDEA创建Sping项目只能勾选17和21,没有Java8?
  • ChatGPT 遇到对手:Anthropic Claude 语言模型的崛起
  • 【LeetCode热题100】148. 排序链表(链表)
  • Ubuntu Linux - Primavera P6 EPPM 安装及分享
  • 微信小程序开发学习笔记——3.11完成form评论案例的实现逻辑
  • Linux/Ubuntu/Debian控制台启动的程序和terminal分离的方法-正在运行怎么关闭窗口
  • Lua-Lua与C的交互3
  • TensorFlow的介绍和简单案例
  • 基于Java+SpringMVC+vue+element实现前后端分离校园失物招领系统详细设计
  • 【Stable Diffusion】入门-04:不同模型分类+代表作品+常用下载网站+使用技巧