码头工人笔记22-k8s资源清单定义入门

  

  资源分类:,,,,   

  

  ,,,1)工作负载型资源:服务,豆荚,重新部署(控制器,我们很少直接操作,而是通过控制器来操作pod), ReplicaSet, StatefilSet,工作,计划   
  

  

  ,,,2)服务发现及服务均衡资源型资源:服务入口   
  

  

  ,,,3)配置与存储型资源:体积,CSI(容器存储接口,可以扩展各种第三方的存储卷),ConfigMap,秘密,DownwardAPI   
  

  

  ,,,4)集群级资源:名称空间节点,角色,rolebinding clusterrolebinding   
  

  

  ,,,5)元数据型资源:HPA, podtemplate, limitrange(限制资源的如cpu、内存等)   

  

  查看pod的yaml格式清单   

  <前>   (root@master  ~) #, kubectl  get 豆荚   NAME ,,,,,,,,,,,,,,,,,,,,,,,,, READY ,,,, STATUS ,,,,,,,,,,,, RESTARTS ,年龄   client ,,,,,,,,,,,,,,,,,,,,,,, 1/1 ,,,,,, Running ,,,,,,,,,,, 0,,,,,,,,,, 17个小时   myapp-fcc5f7f7c-4x2p7 ,,,,,,,, 0/1 ,,,,,, ImagePullBackOff ,, 0,,,,,,,,,, 12 h   myapp-fcc5f7f7c-dnkdq ,,,,,,,, 0/1 ,,,,,, ImagePullBackOff ,, 0,,,,,,,,,, 12 h   mytomcat-5f8c6fdcb-7t5s2 ,,,,, 1/1 ,,,,,, Running ,,,,,,,,,,, 0,,,,,,,,,, 11 h   mytomcat-5f8c6fdcb-lhcsc ,,,,, 1/1 ,,,,,, Running ,,,,,,,,,,, 0,,,,,,,,,, 12 h   mytomcat-5f8c6fdcb-rntrg ,,,,, 1/1 ,,,,,, Running ,,,,,,,,,,, 0,,,,,,,,,, 12 h   nginx-deploy-5b595999-fpm8x ,, 1/1 ,,,,,, Running ,,,,,,,,,,, 0,,,,,,,,,, 12 h   之前   

  
  

  <前>   (root@master  ~) #, kubectl  get  pods  mytomcat-5f8c6fdcb-lhcsc   NAME ,,,,,,,,,,,,,,,,,,,,,, READY ,,,, STATUS ,,, RESTARTS ,年龄   mytomcat-5f8c6fdcb-lhcsc ,, 1/1 ,,,,,, Running ,, 0,,,,,,,,,, 12 h   之前   

  
  

  <前>   (root@master  ~) #, kubectl  get  pods  mytomcat-5f8c6fdcb-lhcsc  -o  yaml   规范:#规格,特性,用户期望的状态   容器才能:   ,,纵容:#容忍度   状态:#显示当前资源的当前状态   条件:才能   之前   

  创建资源的方法   

  

  ,,,apiserver仅接收JSON格式的资源定义。我们可以使用yaml格式提供配置清单,因为ymal格式是以缩进的方式来写的,更利用人们的理解。我们写完ymal格式的配置清单后,apiserver可以自动将其转为JSON,然后再提交。   
  

  

  ,,,另外,我们使用命令kubectl运行,其最终也是自动转为json格式的资源定义了。   
  

  

  ,,,大部分的的资源的配置清单包含:   
  

  

  ,,,1)apiVersion:表示属于哪个api群组和版本,可以通过命令,kubectl api-versions来看,显示方式为集团/版本   

  

  ,,,2):资源类别,有仓,deloyment类别等   
  

  

  ,,,3)元数据:元数据,包括:   

  

  ,,,,,,,)名称:在同一资源下的名字是必须唯一的;   
  

  

  ,,,,,,,b)名称空间   
  

  

  ,,,,,,,c)标签   
  

  

  ,,,,,,,d)注释:资源注解   
  

  

  ,,,,,,e) uid   
  

  

  ,,,,,,,f) resourceversion:   
  

  

  ,,,,,,g) OwnerReferences   
  

  

  ,,,,,,,h) selfLink:每个资源引用的路径,格式为/api/组/版本/命名空间/名称/类型/名称   
  

  

  ,,,4)规范,定义用户期望的目标状态(诚意状态)   
  

  

  ,,,5)状态:表示当前状态,让当前状态向期望的目标状态靠近,本字段有k8集群维护。   
  

  

  查看资源清单的帮助   
  

  

  ,,,由于规范的字段很多,我们背不下来了,所以可以如下查看帮助。   

  <前>   (root@master  ~) #, kubectl  explain 豆荚   之前   

  ,,看medadata下有哪些字段可以用:   

  <前>   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

码头工人笔记22-k8s资源清单定义入门