Node 即 Kubernetes 集群中的一台工作机器,物理机或者虚拟机。
https://kubernetes.io/zh/docs/concepts/architecture/nodes/
通常集群中会有若干个节点;而在一个学习用或者资源受限的环境中,你的集群中也可能 只有一个节点。
节点上的组件包括 kubelet、 容器运行时以及 kube-proxy。
Pod 是可以在 Kubernetes 中创建和管理的、最小的可部署的计算单元。
https://kubernetes.io/zh/docs/concepts/workloads/pods/
Pod 表示集群上正在运行的一组容器。
你可以使用工作负载资源来创建和管理多个 Pod。 资源的控制器能够处理副本的管理、上线,并在 Pod 失效时提供自愈能力。
下面是一些管理一个或者多个 Pod 的工作负载资源的示例:
ReplicaSet 的目的是维护一组在任何时候都处于运行状态的 Pod 副本的稳定集合。
https://kubernetes.io/zh/docs/concepts/workloads/controllers/replicaset/
因此,它通常用来保证给定数量的、完全相同的 Pod 的可用性,ReplicaSet 确保任何时间都有指定数量的 Pod 副本在运行。
然而,Deployment 是一个更高级的概念,它管理 ReplicaSet,并向 Pod 提供声明式的更新以及许多其他有用的功能。
因此,我们建议使用 Deployment 而不是直接使用 ReplicaSet,除非 你需要自定义更新业务流程或根本不需要更新。
这实际上意味着,你可能永远不需要操作 ReplicaSet 对象:而是使用 Deployment,并在 spec 部分定义你的应用。
Deployment 控制器为 Pods 和 ReplicaSets 提供声明式的更新能力。
https://kubernetes.io/zh/docs/concepts/workloads/controllers/deployment/
你负责描述 Deployment 中的 目标状态,而 Deployment 控制器以受控速率更改实际状态, 使其变为期望状态。
你可以定义 Deployment 以创建新的 ReplicaSet,或删除现有 Deployment, 并通过新的 Deployment 收养其资源。
Service 将运行在一组 Pods 上的应用程序公开为网络服务的抽象方法。
https://kubernetes.io/zh/docs/concepts/services-networking/service/
使用 Kubernetes,你无需修改应用程序即可使用不熟悉的服务发现机制。
Kubernetes 为 Pods 提供自己的 IP 地址,并为一组 Pod 提供相同的 DNS 名, 并且可以在它们之间进行负载均衡。
Ingress 是对集群中服务的外部访问进行管理的 API 对象,典型的访问方式是 HTTP。
https://kubernetes.io/zh/docs/concepts/services-networking/ingress/
Ingress 可以提供负载均衡、SSL 终结和基于名称的虚拟托管。
ConfigMap 是一种 API 对象,用来将非机密性的数据保存到健值对中。
https://kubernetes.io/zh/docs/concepts/configuration/configmap/
使用时, Pods 可以将其用作环境变量、命令行参数或者存储卷中的配置文件。
ConfigMap 将您的环境配置信息和 容器镜像 解耦,便于应用配置的修改。
ConfigMap 并不提供保密或者加密功能。 如果你想存储的数据是机密的,请使用 Secret。
Link:https://www.cnblogs.com/farwish/p/14160474.html
[K8s] Kubernetes核心基础概念 Node, Pod, ReplicaSet, Deployment, Service, Ingress, ConfigMap