K8S基础概念

xiaoxiao2025-05-25  24

目录

K8S基础概念NodePodLabelReplication ControllerServiceVolumeNamespaceAnnotation

K8S基础概念

Node

Node作为集群中的工作节点,运行真正的应用程序,在Node上Kubernetes管理的最小运行单元是Pod。在每个Node上运行用于启动和管理Pid的服务Kubelet,并能够被Master管理。在Node上运行的服务进行包括Kubelet、kube-proxy和docker daemon。

Node信息如下:

Node地址:主机的IP地址,或者Node ID。 Node运行状态:包括Pending、Running、Terminated三种状态。 NodeCondition(条件):描述Running状态Node的运行条件,目前只有一种条件----Ready。Ready表示Node处于健康状态,可以接收从Master发来的创建Pod的指令。Node系统容量:描述Node可用的系统资源,包括CPU、内存数量、最大可调度Pod数量等。其他:Node的其他信息,包括实例的内核版本号、Kubernetes版本号、Docker版本号、操作系统名称等。

查看Node信息:

kubectl describe node

Pod

Pod是Kubernetes的最基本操作单元,包含一个或多个紧密相关的容器

一个Pod中的应用容器共享同一组资源,如下所述:

PID命名空间:Pod中的不同应用程序可以看到其他应用程序的进程ID;网络命名空间:Pod中的多个容器能够访问同一个IP和端口范围;IPC命名空间:Pod中的多个容器能够使用SystemV IPC或者POSIX消息队列进行通信;UTS命名空间:Pod中的多个容器共享一个主机名;Volumes(共享存储卷):Pod中的各个容器可以访问在Pod级别定义的Volumes。

Label

Label以key/value键值对的形式附加到各种对象上,如Pod、Service、RC、Node等。Label定义了这些对象的可识别属性,用来对它们进行管理和选择

Replication Controller

Replication Controller是Kubernetes系统中的核心概念,用于定义Pod副本的数量。在Master内,Controller Manager进程通过RC的定义来完成Pod的创建、监控、启停等操作。

Service

一个Service可以看作一组提供相同服务的Pod的对外访问接口。Service作用于哪些Pod是通过Label Selector来定义的。

Volume

Volume是Pod中能够被多个容器访问的共享目录。

Namespace

Namespace(命名空间)是Kubernetes系统中的另一个非常重要的概念,通过将系统内部的对象“分配”到不同的Namespace中,形成逻辑上分组的不同项目、小组或用户组,便于不同的分组在共享使用整个集群的资源的同时还能被分别管理。

Annotation

Annotation与Label类似,也使用key/value键值对的形式进行定义。Label具有严格的命名规则,它定义的是Kubernetes对象的元数据(Metadata),并且用于Label Selector。Annotation则是用户任意定义的“附加”信息,以便于外部工具进行查找。 用Annotation来记录的信息包括:

build信息、release信息、Docker镜像信息等,例如时间戳、release id号、PR号、镜像hash值、docker registry地址等;日志库、监控库、分析库等资源库的地址信息;程序调试工具信息,例如工具名称、版本号等;团队的联系信息,例如电话号码、负责人名称、网址等。
转载请注明原文地址: https://www.6miu.com/read-5030684.html

最新回复(0)