K8S之资源清单定义基础
Posted yufenchi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了K8S之资源清单定义基础相关的知识,希望对你有一定的参考价值。
第1章 创建资源的方法
1.1 用命令的方式创建
创建一个pod为例
kubectl create pod app
1.2 资源清单定义
注意: apiserver只接受JSON格式的格式定义的资源,yaml写的配置清单spiserver会自动将其转化为JSON格式然后再次进行提交
为什么我们写资源清单方式的时候用yaml?
JSON格式对人不友好,都和写都不方便
第2章 资源清单介绍
2.1 大部分资源配置清单有如下字段
apiVersion: group/version
kind: 资源类别
metadata: 元数据 (此字段内可以内嵌字段,用来定义资源的属性)
name: 要定义的资源对象取个名字
namespace: 要定义的资源对象放在哪个名称空间内
labels: 给要定义的资源对象打上标签
annotations 资源注解
spec: 用来定义用户期望的状态(该字段内,可以内嵌多个2级字段和三级字段)
status: 用来表示当前资源的状态(此字段有K8S自己维护,用户不能自己定义)
2.2 如何定义各个字段
例1: spec如何定义
kubectl explain pod.spec
例2: metadata如何定义
kubectl explain pod.metadata
所以,我们在不熟悉的时候写yaml的时候,可以用kubectl explain来查询各字段该如何定义
2.3 例子示范
vim pod-demo.yaml
apiVersion: v1
kind: Pod
metadata:
name: pod-demo
namespace: default
labels:
app: myapp
tigr: frontend
spec:
containers:
- name: myapp
image: ikubernetes/myapp:v1
#从文件加载资源清单
kubectl create -f pod-demo.yaml
以上是关于K8S之资源清单定义基础的主要内容,如果未能解决你的问题,请参考以下文章
二进制部署K8s集群进阶使用之第3节kubectl-声明式资源管理