dushaoshuai / dushaoshuai.github.io

https://www.shuai.host
0 stars 0 forks source link

k8s concepts #5

Open dushaoshuai opened 2 years ago

dushaoshuai commented 2 years ago
概念 解释
集群(Cluster) 集群是一组被 kubernetes 统一管理和调度的节点。集群中一部分节点作为 Master 节点,负责集群状态的管理和协调,另一部分作为 Node 节点,负责执行具体的任务,实现用户服务的启停等功能。
节点(Node) 一个物理主机或者虚拟机(VM)。可以运行多个 Pod。
Pod 是 k8s 中的最小调度单元,和一个节点绑定,直到结束或者删除。Pod 相当于逻辑上的主机,如同一个物理主机上运行着若干个应用,若干个容器运行在一个 Pod 里,共享网络和存储资源,被一起放置(co-located)和调度(co-scheduled)。每个 Pod 都拥有唯一的 IP 地址。
Deployment Deployment 是一组 Pod 的抽象。通过 Deployment 控制器保障用户指定数量的容器副本正常运行,并且实现了滚动更新等高级功能。当需要更新业务版本时,Deployment 会按照指定策略杀死旧版本 Pod 并启动新版本 Pod。
StatefulSet StatefulSet 是一组 Pod 的抽象,主要用于有状态应用的管理。StatefulSet 生成的 Pod 名称是固定且有序的,确保每个 Pod 独一无二的身份标识。
DaemonSet DaemonSet 是一组 Pod 的抽象,确保每个节点上运行一个 Pod。当集群中有新加入的节点时,k8s 会自动帮助我们在新节点上运行一个 Pod。一般用于日志采集,节点监控等场景。
Job Job 创建一个 Pod 并且保障 Pod 的正常退出。如果 Pod 运行过程中出现了错误,Job 控制器可以帮助我们创建新的 Pod,执行 Pod 执行成功或者达到指定重试次数。
Service Service 是一组 Pod 访问配置的抽象。Service 通过在主机上配置一定的网络规则,帮助我们通过一个固定的 IP 以轮询的负载均衡策略访问一组 Pod。
命名空间(Namespace) k8s 通过命名空间来实现资源的虚拟化隔离。将一组相关联的资源放到同一个命名空间内。
标签(Label) Label 是一组键值对,每一个资源对象都会拥有此字段。k8s 中使用 label 对资源进行标记,根据 label 对资源进行分类和筛选。
ConfigMap ConfigMap 用于存放业务的配置信息。使用 k-v 方式存储,帮助我们将配置数据和应用程序代码分开。
Secret Secret 用于存放业务的敏感配置信息。使用 k-v 方式存储,主要用于存放密码和证书等敏感信息。
TBD TBD