k8s名词概念
文章目录
CRI(Container Runtime Interface)
容器运行时接口,提供计算资源,CRI隔离了各个容器引擎之间的差异,而通过统一的接口与各个容器引擎之间进行互动。
CNI(Container Network Interface)
容器网络接口,提供网络资源,通过CNI接口,Kubernetes可以支持不同网络环境。
CSI(Container Storage Interface)
容器存储接口,提供存储资源,通过CSI接口,Kubernetes可以支持各种类型的存储。
Master节点
Master节点是集群的控制节点,由API Server、Scheduler、Controller Manager和ETCD四个组件构成。
- API Server:各组件互相通讯的中转站,接受外部请求,并将信息写到ETCD中。
- Controller Manager:执行集群级功能,例如复制组件,跟踪Node节点,处理节点故障等等。
- Scheduler:负责应用调度的组件,根据各种条件(如可用的资源、节点的亲和性等)将容器调度到Node上运行。
- ETCD:一个分布式数据存储组件,负责存储集群的配置信息。
在生产环境中,为了保障集群的高可用,通常会部署多个Master。
Node节点
Node节点是集群的计算节点,即运行容器化应用的节点。
- kubelet:kubelet主要负责同Container Runtime打交道,并与API Server交互,管理节点上的容器。
- kube-proxy:应用组件间的访问代理,解决节点上应用的访问问题。
- Container Runtime:容器运行时,如Docker,最主要的功能是下载镜像和运行容器。
Pod(容器组)
Pod是Kubernetes创建或部署的最小单位。一个Pod封装一个或多个容器(container)、存储资源(volume)、一个独立的网络IP以及管理控制容器运行方式的策略选项。
Controller(控制器、工作负载)
Controller可以创建和管理多个Pod,提供副本管理、滚动升级和自愈能力。通常,Controller会使用Pod Template来创建相应的Pod。
Service(服务)
Service是用来解决Pod访问问题的。Service有一个固定IP地址,Service将访问流量转发给Pod,而且Service可以给这些Pod做负载均衡。
ConfigMap(配置字典)
ConfigMap是一种用于存储应用所需配置信息的资源类型,用于保存配置数据的键值对。通过ConfigMap可以方便的做到配置解耦,使得不同环境有不同的配置。
PersistentVolume(PV)
PV指持久化数据存储卷,主要定义的是一个持久化存储在宿主机上的目录,比如一个NFS的挂载目录。
PersistentVolumeClaim(PVC)
Kubernetes提供PVC专门用于持久化存储的申请,PVC可以让您无需关心底层存储资源如何创建、释放等动作,而只需要申明您需要何种类型的存储资源、多大的存储空间。
kubelet
集群中每个节点上运行的代理,维护Pod和容器生命周期,同时也负责CSI、CNI、CRI等的管理。
kubeadm
官方社区推出的一个用于快速部署kubernetes集群的工具。
kubectl
kubectl是Kubernetes集群的命令行工具,您可以将kubectl安装在任意一台机器上,通过kubectl命令操作Kubernetes集群。