mirror of
https://github.com/kubevela/kubevela.git
synced 2026-08-23 14:36:48 +00:00
191 lines
2.9 KiB
Markdown
191 lines
2.9 KiB
Markdown
|
|
|
|
### Usage
|
|
|
|
You can use velaQL with a syntax similar to promeQL.
|
|
|
|
The syntax format of velaQL is as follows:
|
|
|
|
```sql
|
|
view{parameter1=value1}.statusKey
|
|
```
|
|
|
|
1. `view` represents different query views, we have built a few views: `component-pod-view`,`pod-view`,`resource-view`
|
|
2. `parameter1=value1` represents query configuration items
|
|
3. `statusKey` represents the aggregate result of the query, default is `status`
|
|
|
|
### component-pod-view
|
|
|
|
#### describe
|
|
|
|
List the pods created by specified component
|
|
|
|
#### parameter
|
|
|
|
```
|
|
parameter: {
|
|
appName: string // application name
|
|
appNs: string // application namespace
|
|
name: string // component name
|
|
cluster?: string // cluster name(Optional)
|
|
clusterNs?: string // cluster namespace(Optional)
|
|
}
|
|
```
|
|
|
|
#### statusKey
|
|
|
|
`status`
|
|
|
|
#### query result
|
|
|
|
```
|
|
// query successful
|
|
status: {
|
|
podList: [{
|
|
cluster: string
|
|
worload: {
|
|
apiVersion: string
|
|
kind: string
|
|
}
|
|
metadata: {
|
|
name: string
|
|
namespace: string
|
|
creationTime: string
|
|
version: {
|
|
revision: string
|
|
publishVersion: string
|
|
deployVersion: string
|
|
}
|
|
}
|
|
status: {
|
|
phase: "Pending" | "Running" | "Succeeded" | "Failed" | "Unknown"
|
|
// if phase == "Pending" or "Unknown": podIP, hostIP, nodeName will be empty
|
|
podIP: string
|
|
hostIP: string
|
|
nodeName: string
|
|
}
|
|
}]
|
|
}
|
|
|
|
// query failed
|
|
status: {
|
|
error: string
|
|
}
|
|
```
|
|
|
|
#### demo
|
|
|
|
```sql
|
|
component-pod-view{appName=demo,appNs=default,cluster=prod,clusterNs=default,name=web}.status
|
|
```
|
|
|
|
### pod-view
|
|
|
|
#### describe
|
|
|
|
Query the pods detail information
|
|
|
|
#### parameter
|
|
|
|
```
|
|
parameter: {
|
|
name: string // pod name
|
|
namespace: string // pod namespace
|
|
cluster?: string // cluster name(Optional)
|
|
}
|
|
```
|
|
|
|
#### statusKey
|
|
|
|
`status`
|
|
|
|
#### query result
|
|
|
|
```
|
|
// query successful
|
|
status: {
|
|
containers: [{
|
|
name: string
|
|
image: string
|
|
resources: {
|
|
limits: {
|
|
cpu: string
|
|
memory: string
|
|
}
|
|
requests: {
|
|
cpu: string
|
|
memory: string
|
|
}
|
|
usage: {
|
|
cpu: string
|
|
memory: string
|
|
}
|
|
}
|
|
status: {
|
|
// state holds a possible state of container.
|
|
// only one of its members may be specified.
|
|
state: {
|
|
running: {...}
|
|
waiting: {...}
|
|
terminated: {...}
|
|
}
|
|
restartCount: string
|
|
}
|
|
}]
|
|
events: [...v1.Event]
|
|
}
|
|
|
|
// query failed
|
|
status: {
|
|
error: string
|
|
}
|
|
```
|
|
|
|
#### demo
|
|
|
|
```
|
|
pod-view{name=demo,namespace=default,cluster=prod}.status
|
|
```
|
|
|
|
### resource-view
|
|
|
|
#### describe
|
|
|
|
List resources
|
|
|
|
#### parameter
|
|
|
|
```
|
|
parameter: {
|
|
type: "ns" | "secret" | "configMap" | "pvc" | "storageClass"
|
|
namespace: *"" | string // Optional
|
|
cluster: *"" | string // Optional
|
|
}
|
|
```
|
|
|
|
#### statusKey
|
|
|
|
`status`
|
|
|
|
#### query result
|
|
|
|
```
|
|
// query successful
|
|
status: {
|
|
list: [...k8sObject]
|
|
}
|
|
|
|
// query failed
|
|
status: {
|
|
error: string
|
|
}
|
|
```
|
|
|
|
#### demo
|
|
|
|
```
|
|
resource-view{type=ns,cluster=prod}.status
|
|
```
|
|
|
|
|