一、Kind的定义
本文的Kind = "Kubernetes Kind" + subKind。<br />
如果subKind为空
Kind = 'Kubernetes Kind'(见本文第二节)
其它情况
Kind = 'Kubernetes Kind' + '.' + 'subKind'
二、Kubernetes Kind
[ 根据Kubernetes的定义](https://kubernetes.io/docs/concepts/overview/working-with-objects/kubernetes-objects/),Kind表示资源使用的类型,其中apiVersion、Kind、metadata、spec都是必填项目,其中kind为Pod、Deployment等,为了区分不同apiVersion中相同的kind。<br /> kind = "apiVersion(去除版本)"+ "." + kind,比如下例为apps.Deployment,而Pod只有版本信息,因为Kind就是Pod(注意下小写敏感)
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
selector:
matchLabels:
app: nginx
replicas: 2 # tells deployment to run 2 pods matching the template
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.14.2
ports:
- containerPort: 80
三、subKind
subKind特指从[routes语法中](https://www.yuque.com/kubesys/kube-frontend/qz0cuq)获取,items中支持filter语法,其中key可以任意,但value即为subkind。比如示例一和示例二中的subKind均为local。<br /> **注意:当前只支持一个key的场景**
示例一
"items": [{
"component": "/table/index",
"name": "路侧节点",
"kind": "Node",
"path": "/envInfo/basicInfo/node",
"filter": {
"metadata.labels.kubernetes#io/type": "local"
}
},
示例二
"items": [{
"component": "/table/index",
"name": "路侧节点",
"kind": "Node",
"path": "/envInfo/basicInfo/node",
"filter": {
"type": "local"
}
},
