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

目录

[1 Container](#1 Container)

[2 Pod](#2 Pod)

[3 Node](#3 Node)

[4 Namespace](#4 Namespace)

[5 Service](#5 Service)

[6 Label](#6 Label)

[7 Annotations](#7 Annotations)

[8 Volume](#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就是为了持久化容器数据而生。

相关推荐
做个文艺程序员3 小时前
第04篇:K8s 弹性伸缩实战:HPA、VPA、KEDA——Java SaaS 应对流量洪峰的秘密武器
java·容器·kubernetes·弹性伸缩·自动扩容·ai 推理伸缩
secondyoung9 小时前
Cortex-R52学习:MPU内存保护机制
arm开发·单片机·学习·arm·mpu
red_redemption9 小时前
自由学习记录(198)
学习
gsls2008089 小时前
JVM 堆内存参数 & Docker 容器适配,一次讲清楚
jvm·docker·容器
花岛溯9 小时前
Cursor 学习 DAY2·切换AI模型
学习
星夜夏空999 小时前
FreeRTOS学习(9)——临界区
学习
小智老师PMP10 小时前
零基础能不能考PMP?零基础专属学习路径+全套扶持体系
学习·算法·职场和发展·软件工程·求职招聘·敏捷流程
Lumbrologist11 小时前
【零基础部署】Docker 部署 AutoGen 多 Agent 对话框架保姆级教程
运维·docker·容器
XGeFei12 小时前
【Fastapi学习笔记(4)】—— JsonScheme与数据验证、错误响应格式、正则表达式
学习·fastapi
爱喝水的鱼丶12 小时前
SAP-ABAP:SAP 简单报表输出开发系列(共6篇) 第四篇:SAP 报表异常处理机制:数据校验与消息提示规范落地
开发语言·数据库·学习·算法·sap·abap