k8s 资源清单

k8s 资源清单

k8s中所有的内容都抽象为资源,资源实例化之后,称为对象

1.1 资源分类

我们把k8s中的资源分位三类
名称空间级别:

  • 工作负载型资源:Pod,ReplicaSet,Deployment。。
  • 服务发现与负载均衡型资源:Service,Ingress。。
  • 配资与存储型资源: Volume,CSI。。
  • 特殊类型的资源: ConfigMap,Secre。。
    集群级资源:
  • namespace,node,clusterole,clusterrolebing
    元数据型资源:
    HPA,PodTemplate,LimitRange

资源有了,我们还需要有个资源清单,告诉k8s需要部署哪些环境,一般使用yaml文件来编辑资源清单
我们使用kubectl create -f aaa.yaml的时候,流程是这样的:
yaml》kubectl处理》json》apiserver

2.1 资源清单yaml文件组成

apiVersion: apps/v1   #如果没有给定的group名称,那么默认为core,可以使用kubectl api-versions 获取当前k8s版本上所有的 apiversion版本信息
kind: Deployment   #资源类型
metadata:   #资源元数据
  name
  namespace
  label
    version: v1
    app: myapp
spec:  #期望的状态
status:  #当前状态,本字段在k8s自身维护,用户不需要定义

当我们想编辑一个yaml文件的时候,资源清单怎么获取?

kubectl explain pod
kubectl explain rc
kubectl explain pod.metadata
kubectl explain pod.kind

explain可以看到kind不同类型,可以参考这个编辑自己的yaml
如果想快速弄一个模板,可以用下面命令获取一个yaml

kubectl get pod mypod -n mynamespace -o yaml

//甚至create的操作命令,也可以做成yaml
kubectl create configmap game-config --from-file=config/ --dry-run -o yaml

posted @ 2022-06-07 12:56  liwenchao1995  阅读(253)  评论(0编辑  收藏  举报