kubernetes 中部署相关服务及资源的时候,都是通过yaml文件,在k8s的YAML语法中,kind是一种重要的关键字,它用于指定Kubernetes资源的类型。根据Kubernetes官方文档,以下是kind可能的取值:
值类型 | 描述 |
---|---|
Deployment | 用于定义应用程序的声明式更新。 |
StatefulSet | 用于有状态应用程序的声明式更新和管理。 |
DaemonSet | 用于在集群中运行一个pod的声明式更新和管理。 |
Job | 用于在集群上运行一次性任务的声明式更新和管理。 |
CronJob | 用于在集群上运行定期作业的声明式更新和管理。 |
Service | 用于定义一组pod的逻辑集合,以及访问这些pod的方式。 |
Pod | 一个Kubernetes中最基本的资源类型,它用于定义一个或多个容器的共同运行环境。 |
ReplicaSet | 用于确保在集群中运行指定数量的pod的声明式更新和管理。 |
ConfigMap | 用于存储非敏感数据(如配置文件)的声明式更新和管理。 |
Secret | 用于存储敏感数据(如密码和密钥)的声明式更新和管理。 |
ServiceAccount | 用于定义一个pod的身份验证信息,以及与Kubernetes API Server进行交互的权限。 |
Ingress | 用于定义从外部访问Kubernetes集群中服务的方式。 |
PersistentVolume | 用于定义持久化存储卷,并使它们在Kubernetes集群中可用。 |
StorageClass | 用于定义不同类型的存储,例如云存储、本地存储等,并为这些存储类型指定默认的参数和策略。 |
Namespace | 用于在Kubernetes集群中创建逻辑分区,从而将资源隔离开来,以提高安全性和可维护性。 |
ServiceMonitor | 用于自动发现和监控在Kubernetes集群中运行的服务。 |
HorizontalPodAutoscaler | 用于自动调整Kubernetes集群中的pod副本数量,以根据当前负载需求实现自动扩展或收缩。 |
NetworkPolicy | 用于定义网络访问策略,以控制pod之间的网络流量。 |
CustomResourceDefinition | 用于定义自定义资源,以扩展Kubernetes API和CRD操作。 |
PodDisruptionBudget | 用于定义维护期间可以安全中断的pod的最小数量,以确保Kubernetes集群的高可用性。 |
Role | 用于定义对Kubernetes资源的操作权限,例如读、写、更新、删除等。 |
ClusterRole | 与Role类似,但是可以在整个Kubernetes集群中使用。 |
这些kind类型扩展了Kubernetes API的功能,使得Kubernetes更加灵活和强大,可以满足不同场景下的需求。