一、资源的分类(注意大小写)
- 资源:对象
- workload:Pod,ReplicaSet,Deployment,StatefulSet,DaemonSet,Job,Cronjob,...
- 服务发现及均衡:Service,Ingress,...
- 配置与存储:Volume,CSI
- ConfigMap,Secret
- DownwardAPI
- 集群级资源
- Namespace,Node,Role,ClusterRole,RoleBinding,ClusterRoleBinding
- 元数据型资源
- HPA,PodTemplate,LimitRange
二、创建资源的方法
- apiserver仅接收JSON格式的资源定义;
- yaml格式来提供配置清单,apiserver可自动将其转为json格式,而后再提交;
三、大部分资源的配置清单(要注意大小写)
- apiVersion:group/version
- 用来指明创建的资源属于哪个api群组及版本(通过命令"kubectl api-versions"可以看到K8s中的全部群组和版本)
其中版本大致可分为四大类:alpha属于内测版本(不建议使用此版本),beta属于公测版本,stable属于稳定版本(后面不跟后缀,建议使用此版本),canary版本(金丝雀版本)
- kind:资源类别
- metadata:元数据
- name(在同一namespace中必须是唯一的,name受限于namespace,在不同namespace中,资源的name可以相同)
- namespace
- labels
- annotations:注解
每个资源的引用PATH:/api/GROUP/VERSION/namespace/NAMESPACE/TYPE/NAME(大写内容需替换为具体内容)
- spec:用户期望的状态,disired state
- status:当前状态,current state,本字段由kubernetes集群维护,不能由客户指定定义
四、如何查看帮助
1、查看编写pod资源的yaml文件时所需要的必要字段
2、查看编写pod资源的yaml文件时所需要的必要字段的具体内容
五、基于yaml格式的文件定义自主式pod资源(不受pod控制器管理的pod资源)
六、查看Pod的详细信息
kubectl describe pods pod-demo 查看pod-demo这个pod的详细信息
七、查看日志
kubectl logs pod资源的名字 pod资源开启的某个容器的名字 查看某个pod资源中的某个容器的相关日志
八、删除某个文件创建的资源
kubectl delete -f yaml文件