k8s可以看做是一个集群操作系统,能够对容器进行调度和编排。
-
Kubernetes中的基本对象
-
pod
是k8s中的最小单位,一个pod封装一个或者多个容器,存储资源。 -
deployment
是对pod的服务化封装,可以包含一个或多个pod -
statefulset
为每一个pod维护一个固定化id -
job
用来控制批处理型人物的对象 -
cronjob
基于时间控制job,在指定的时间周期运行指定的任务。 -
daemonset
在集群的每一个节点上运行一个pod ,且保证只有一个pod,这非常适合一些系统层面的应用。 -
service
用来解决pod访问问题的,service有一个固定ip地址,service 将访问流量转发给pod,而service可以给这些pod做负载均衡。
Ingress
Service是基于四层TCP和UDP协议转发的,Ingress可以基于七层的HTTP和HTTPS协议转发,可以通过域名和路径做到更细粒度的划分。 -
ConfigMap
ConfigMap是一种用于存储应用所需配置信息的资源类型,用于保存配置数据的键值对。通过ConfigMap可以方便的做到配置解耦,使得不同环境有不同的配置。
- Secret
Secret是一种加密存储的资源对象,您可以将认证信息、证书、私钥等保存在Secret中,而不需要把这些敏感数据暴露到镜像或者Pod定义中,从而更加安全和灵活。
- PersistentVolume(PV)
PV指持久化数据存储卷,主要定义的是一个持久化存储在宿主机上的目录,比如一个NFS的挂载目录。
- PersistentVolumeClaim(PVC)
Kubernetes提供PVC专门用于持久化存储的申请,PVC可以让您无需关心底层存储资源如何创建、释放等动作,而只需要申明您需要何种类型的存储资源、多大的存储空间。