k8s的yaml文件中的kind类型都有哪些?(清单版本)

在操作kubernetes的过程中,我们接触到的yaml文件中的kind类型有很多。他们代表了kubernetes的不同类型的对象,了解了kind的类型,也就相当于了解了k8s都有哪些类型的对象。

类型清单及概要说明

序号类型简述
1Pod一个Kubernetes中最基本的资源类型,它用于定义一个或多个容器的共同运行环境。
2Deployment用于定义应用程序的声明式更新。
3Service用于定义一组pod的逻辑集合,以及访问这些pod的方式。
4DaemonSet用于在集群中运行一个pod的声明式更新和管理。
5ReplicaSet用于确保在集群中运行指定数量的pod的声明式更新和管理。
6ServiceAccount定义一个ServiceAccount对象,用于给Pod分配身份与访问权限。
7PodDisruptionBudget用于定义维护期间可以安全中断的pod的最小数量,以确保Kubernetes集群的高可用性。
8PersistentVolumeClaimPersistentVolumeClaim(PVC)是Kubernetes中用于声明持久化存储资源的对象。
9PersistentVolume用于定义持久化存储卷,并使它们在Kubernetes集群中可用。
10Job定义一个Job对象,用于定义一个运行一次性任务的作业。
11CronJob定义一个CronJob对象,用于定义一个周期性运行任务的作业。
12StatefulSet用于有状态应用程序的声明式更新和管理。
13ConfigMap用于存储非敏感数据(如配置文件)的声明式更新和管理。
14Secret用于存储敏感数据(如密码和密钥)的声明式更新和管理。
15Ingress定义一个Ingress对象,用于配置集群中的HTTP和HTTPS路由规则。
16StorageClass用于定义不同类型的存储,例如云存储、本地存储等,并为这些存储类型指定默认的参数和策略。
17Namespace用于在Kubernetes集群中创建逻辑分区,从而将资源隔离开来,以提高安全性和可维护性。
18ServiceMonitor用于自动发现和监控在Kubernetes集群中运行的服务。
19HorizontalPodAutoscaler定义一个HorizontalPodAutoscaler对象,用于自动调整Pod副本数量以适应负载。
20NetworkPolicy定义一个NetworkPolicy对象,用于在Pod之间定义网络流量规则。
21CustomResourceDefinition用于定义自定义资源,以扩展Kubernetes API和自定义资源类型。
22Role用于定义对Kubernetes资源的操作权限,例如读、写、更新、删除等。
23ClusterRole与Role类似,但是可以在整个Kubernetes集群中使用。
24ClusterRoleBinding定义一个集群角色绑定对象,将集群角色与用户或ServiceAccount关联。
25RoleBinding定义一个角色绑定对象,将角色与用户或ServiceAccount关联。
26Endpoint定义一个Endpoint对象,用于指定Service的后端IP地址和端口。
27Volume定义一个Volume对象,用于将存储挂载到Pod中。
28PodSecurityPolicy定义一个PodSecurityPolicy对象,用于定义Pod的安全策略。
29Event定义一个Event对象,用于记录集群中发生的事件。
30ResourceQuota定义一个ResourceQuota对象,用于限制命名空间中资源的使用量。
31PriorityClass定义一个PriorityClass对象,用于设置Pod的优先级。
32VolumeSnapshot定义一个VolumeSnapshot对象,用于创建和管理存储卷的快照。

Kubernetes (k8s) 使用YAML作为其主要的资源定义格式,因为YAML是一种人类可读的数据序列化语言,非常适合描述容器化的应用和服务配置。以下是生成k8s YAML文件的基本过程: 1. **了解YAML**: YAML文件是资源清单文件,它以一种简洁明了的方式定义了集群中的各种资源,如Pods、Deployments、Services等[^1]。 2. **编写资源清单**: - **基础示例**: 你可以开始编写简单的`nginx-test.yaml`来定义一个Pod,包括所需的镜像、环境变量等[^2]。 ```yaml apiVersion: v1 kind: Pod metadata: name: nginx-pod spec: containers: - name: nginx-container image: nginx:latest ``` 3. **使用`kubectl create`命令**: - **创建资源**: 使用`kubectl create`命令基于YAML文件创建资源,如上述`nginx-test.yaml`。 ``` kubectl apply -f nginx-test.yaml ``` 或者通过`kubectl run`命令直接运行一个Pod。 4. **验证与测试**: - **查看资源**: 使用`kubectl get pods`确认资源已经创建。 - **访问服务**: 如果定义了Service,可以进一步测试访问。 5. **使用模板生成YAML**: - `--dry-run`选项用于预览生成的YAML,无需实际执行。 - 可以使用`kubectl get`命令或第三方工具生成资源的YAML表示形式。 ```shell kubectl get deployment/nginx-deployment -o yaml > nginx-deployment.yaml ``` 6. **导出已有资源**: 将现有的资源转换为YAML模板,以便于管理和复用。 总结来说,生成k8s YAML文件主要是为了清晰地定义和管理集群中的资源,而`kubectl`工具提供了方便的方式来操作这些YAML文件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

shanshan3003

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值