Loading
close

基本概念

time 更新时间:2024-07-24 10:34:45

集群(Cluster)

一个集群指容器运行所需要的云资源组合,关联了若干服务器节点、存储、网络等基础资源。

节点(Node)

Kubernetes容器集群中的节点包括Master节点和Worker节点两种类型,每一个节点对应一个云主机。Master节点是 Kubernetes 集群的管理者,运行着一些用于保证集群正常工作的组件,如 kube-apiserver、kube-scheduler等。Worker节点是 Kubernetes 集群中承担工作负载的节点,承担实际的 Pod 调度以及与管理节点的通信等。一个Worker节点上运行的组件包括containerd运行时组件、kubelet、Kube-Proxy等。

命名空间(Namespace)

在同一个集群内可以创建不同的命名空间,不同命名空间中的数据彼此隔离,使它们既可以共享同一个集群的服务,也能够互不干扰,为集群提供资源逻辑隔离作用。

容器组(Pod)

容器组即Pod,是Kubernetes部署应用或服务的最小的基本单位。一个容器组封装多个容器(也可以只有一个容器)、存储资源、网络资源以及管理控制容器运行方式的策略选项。

工作负载

工作负载是Kubernetes对一组Pod的抽象模型,用于描述业务的运行载体,包括部署(Deployment)、有状态副本集(StatefulSet)、守护进程集(DaemonSet)、任务(Job)、定时任务(CronJob)。

  • 部署:即kubernetes中的“Deployment”,部署支持弹性伸缩与滚动升级,适用于容器组完全独立、功能相同的场景,如nginx。
  • 有状态副本集:即kubernetes中的“StatefulSet”,有状态副本集支持容器组有序部署和删除,支持持久化存储,适用于实例间存在互访的场景,如ETCD等。
  • 守护进程集:即kubernetes中的“DaemonSet”,守护进程集确保全部(或者某些)节点都运行一个容器组,支持容器组动态添加到新节点,适用于容器组在每个节点上都需要运行的场景,如fluentd、Prometheus Node Exporter等。
  • 任务:即kubernetes中的“Job”,任务是一次性运行的短任务,部署完成后即刻执行。
  • 定时任务:即kubernetes中的“CronJob”,定时任务是按照指定时间周期运行的任务。

服务(Service)

由于每个容器组都有自己的IP地址,并且可能随时被删除重建,如果这个容器组要为其它容器组提供服务,则如何找出并跟踪要连接的IP地址会非常麻烦。Kubernetes针对这个问题给出的方案是服务(Service)。
Service是将运行在一组Pods上的应用程序公开为网络服务的抽象方法。使用Kubernetes,您无需修改应用程序即可使用不熟悉的服务发现机制。 Kubernetes为Pods提供自己的IP地址和一组Pod的单个DNS名称,并且可以在它们之间进行负载平衡。

路由(Ingress)

Ingress是一组将集群内服务暴露给集群外服务的路由规则集合。一个ingress对象能够配置具备为服务提供外部可访问的URL、负载均衡流量、卸载 SSL/TLS,以及提供基于名称的虚拟主机等能力。

持久化存储

  • 持久卷(PV)持久卷描述的是持久化存储卷,主要定义的是一个持久化存储在宿主机上的目录,独立于容器组生命周期。具体到本平台,一个持久卷对应一个云硬盘。
  • 持久卷声明(PVC)持久卷是存储资源,而持久卷声明(PVC) 是对持久卷的请求。持久卷声明跟容器组类似:容器组消费节点资源,而持久卷声明消费持久卷资源;容器组能够请求CPU和内存资源,而持久卷声明请求特定大小和访问模式的持久卷。
  • 存储类(StorageClass)存储类可以实现动态供应持久卷,即能够按照用户的需要,自动创建其所需的存储。

配置(ConfigMap)

ConfigMap用于将非机密性的数据保存到键值对中。使用时,容器组可以将其用作环境变量、命令行参数或者存储卷中的配置文件。ConfigMap将环境配置信息和容器镜像解耦,便于应用配置的修改。

密钥(Secret)

密钥(Secret)是一种包含认证信息、密钥等敏感信息的资源类型,可以用作工作负载的环境变量、加密配置文件。将数据放在密钥对象中,可以更好地控制它的用途,并降低意外暴露的风险。

标签(Label)

标签是一对 key/value,被关联到对象上,比如节点、容器组。通过标签可以方便地标识及筛选对象。

此篇文章对你是否有帮助?
没帮助
locked-file

您暂无权限访问该产品