刚开始写k8s的yaml配置文件时,给我造成最大的困扰的其实是k8s众多的资源类型,这里面apiVersion对应的资源还有所不同,实在难得记
我大概搜集了下,也给自己备查,以下是 Kubernetes API 版本与资源对应关系的完整说明:
-
apiVersion 资源类型 说明 v1
Pod
、Service
、ReplicationController
、Namespace
、Secret
、ConfigMap
、PersistentVolume
、PersistentVolumeClaim
、Event
v1
API 版本是 Kubernetes 核心 API 版本,其中包括了大多数核心资源类型apps/v1
Deployment
、ReplicaSet
、StatefulSet
、DaemonSet
、ControllerRevision
apps/v1
API 版本用于管理应用程序的部署和状态batch/v1
Job
batch/v1
API 版本用于管理一次性任务或按计划运行的任务batch/v2alpha1
CronJob
batch/v2alpha1
API 版本用于管理按计划运行的任务networking.k8s.io/v1
Ingress
、NetworkPolicy
networking.k8s.io/v1
API 版本用于管理网络相关的资源autoscaling/v1
HorizontalPodAutoscaler
autoscaling/v1
API 版本用于自动缩放 Pod 的数量rbac.authorization.k8s.io/v1
Role
、ClusterRole
、RoleBinding
、ClusterRoleBinding
rbac.authorization.k8s.io/v1
API 版本用于管理访问控制storage.k8s.io/v1
StorageClass
storage.k8s.io/v1
API 版本用于定义存储类admissionregistration.k8s.io/v1
MutatingWebhookConfiguration
、ValidatingWebhookConfiguration
、ServiceReference
admissionregistration.k8s.io/v1
API 版本用于定义和配置 Webhookapiextensions.k8s.io/v1beta1
CustomResourceDefinition
apiextensions.k8s.io/v1beta1
API 版本用于定义自定义资源scheduling.k8s.io/v1
PriorityClass
scheduling.k8s.io/v1
API 版本用于定义调度相关的资源cert-manager.io/v1alpha2
Certificate
、Issuer
、ClusterIssuer
、Challenge
,Order
、CertificateRequest
cert-manager.io/v1alpha2
API 版本用于管理证书