本文档将展示所有内置运维特征的参数列表。
gateway#
gateway
运维特征通过一个可用的域名在公网暴露一个组件的服务。
作用的 Component 类型#
参数说明#
NAME | DESCRIPTION | TYPE | REQUIRED | DEFAULT |
---|
http | 定义一组网关路径到 Pod 服务端口的映射关系 | map[string]int | true | |
class | 所使用的 kubernetes ingress class | string | true | nginx |
classInSpec | 在 kubernetes ingress 的 '.spec.ingressClassName' 定义 ingress class 而不是在 'kubernetes.io/ingress.class' 注解中定义 | bool | false | false |
domain | 暴露服务所绑定的域名 | string | true | |
Scaler#
scaler
为组件配置副本数。
作用的 Component 类型#
参数说明#
NAME | DESCRIPTION | TYPE | REQUIRED | DEFAULT |
---|
replicas | 工作负载的 Pod 个数 | int | true | 1 |
AutoScaler#
autoscaler
运维特征用于配置自动扩缩容,背后基于 Kubernetes 的 HPA 实现。
注:这个运维特征默认在 VelaUX
处隐藏,你可以在 CLI 侧使用。
作用的 Component 类型#
- 所有基于
deployments.apps
类型的组件
参数说明#
NAME | DESCRIPTION | TYPE | REQUIRED | DEFAULT |
---|
min | 能够将工作负载缩容到的最小副本个数 | int | true | 1 |
max | 能够将工作负载扩容到的最大副本个数 | int | true | 10 |
cpuUtil | 每个容器的平均 CPU 利用率 例如, 50 意味者 CPU 利用率为 50% | int | true | 50 |
Storage#
我们使用运维特征里的 storage
来管理存储。
storage
可以帮助我们创建并管理 pvc
、emptyDir
、secret
、configMap
等类型的存储。对于 secret
及 configMap
类的存储,还支持绑定到 env
当中。
如果你不希望自动创建这些资源,可以将 mountOnly
字段设置为 true。
作用的 Component 类型#
- 所有基于
deployments.apps
类型的组件
参数说明#
NAME | DESCRIPTION | TYPE | REQUIRED | DEFAULT |
---|
name | | string | true | |
volumeMode | | string | true | Filesystem |
mountPath | | string | true | |
mountOnly | | bool | true | false |
accessModes | | [...] | true | |
volumeName | | string | false | |
storageClassName | | string | false | |
resources | | resources | false | |
dataSourceRef | | dataSourceRef | false | |
dataSource | | dataSource | false | |
selector | | selector | false | |
emptyDir#
NAME | DESCRIPTION | TYPE | REQUIRED | DEFAULT |
---|
name | | string | true | |
medium | | string | true | empty |
mountPath | | string | true | |
secret#
NAME | DESCRIPTION | TYPE | REQUIRED | DEFAULT |
---|
name | | string | true | |
defaultMode | | int | true | 420 |
items | | []items | false | |
mountPath | | string | true | |
mountToEnv | | mountToEnv | false | |
mountOnly | | bool | true | false |
data | | map[string]{null | bool | string |
stringData | | map[string]{null | bool | string |
readOnly | | bool | true | false |
configMap#
NAME | DESCRIPTION | TYPE | REQUIRED | DEFAULT |
---|
name | | string | true | |
defaultMode | | int | true | 420 |
items | | []items | false | |
mountPath | | string | true | |
mountToEnv | | mountToEnv | false | |
mountOnly | | bool | true | false |
data | | map[string]{null | bool | string |
readOnly | | bool | true | false |
Labels#
labels
运维特征可以用来为工作负载上的 Pod 打特殊的标签。
注:这个运维特征默认在 VelaUX
处隐藏,你可以在 CLI 侧使用。
作用的 Component 类型#
参数说明#
NAME | DESCRIPTION | TYPE | REQUIRED | DEFAULT |
---|
- | | map[string]string | true | |
Annotations#
annotations
运维特征允许用户在工作负载的 Pod 上加入注解。
注:这个运维特征默认在 VelaUX
处隐藏,你可以在 CLI 侧使用。
作用的 Component 类型#
参数说明#
NAME | DESCRIPTION | TYPE | REQUIRED | DEFAULT |
---|
- | | map[string]string | true | |
kustomize-patch#
kustomize-patch
支持以 inline YAML 字符串形式支持 strategy Merge 和 JSON6902 格式的 patch。
Note: To use kustomize
trait, you must enable fluxcd
addon first.
作用的 Component 类型#
参数说明#
NAME | DESCRIPTION | TYPE | REQUIRED | DEFAULT |
---|
patches | 在目标上进行 StrategicMerge 或者 JSON6902 patch 的列表 | []patches | true | |
patches#
NAME | DESCRIPTION | TYPE | REQUIRED | DEFAULT |
---|
patch | Inline yaml 格式的 patch | string | true | |
target | patch 需要作用在的目标 | target | true | |
target#
NAME | DESCRIPTION | TYPE | REQUIRED | DEFAULT |
---|
name | | string | false | |
group | | string | false | |
version | | string | false | |
kind | | string | false | |
namespace | | string | false | |
annotationSelector | | string | false | |
labelSelector | | string | false | |
在这个例子中,kustomize-patch
会在所有标记了 app=podinfo
上的 Pod 上做 patch 。
kustomize-json-patch#
支持以 JSON6902 格式对 kustomize 进行 patch。
作用的 Component 类型#
参数说明#
Properties#
NAME | DESCRIPTION | TYPE | REQUIRED | DEFAULT |
---|
patchesJson | JSON6902 patch 的列表 | []patchesJson | true | |
patchesJson#
NAME | DESCRIPTION | TYPE | REQUIRED | DEFAULT |
---|
patch | | patch | true | |
target | | target | true | |
target#
NAME | DESCRIPTION | TYPE | REQUIRED | DEFAULT |
---|
name | | string | false | |
group | | string | false | |
version | | string | false | |
kind | | string | false | |
namespace | | string | false | |
annotationSelector | | string | false | |
labelSelector | | string | false | |
patch#
NAME | DESCRIPTION | TYPE | REQUIRED | DEFAULT |
---|
path | | string | true | |
op | | string | true | |
value | | string | false | |
kustomize-strategy-merge#
支持以 YAML 格式对 kustomize 进行 patch。
作用的 Component 类型#
参数说明#
patchesStrategicMerge#
NAME | DESCRIPTION | TYPE | REQUIRED | DEFAULT |
---|
| | map[string]{null | bool | string |
service-binding#
service-binding
运维特征会将一个 Kubernetes 的 secret 资源映射到容器中作为容器的环境变量。
作用的 Component 类型#
- webservice
- worker
- task
- cron-task
参数说明#
Name | Description | Type | Required | Default |
---|
envMappings | 主键和 secret 名称的键值对 | map[string][KeySecret](#keysecret) | true | |
KeySecret#
Name | Description | Type | Required | Default |
---|
key | 主键名称 | string | false | |
secret | secret 名称 | string | true | |
sidecar#
sidecar
能够为你的组件容器添加一个边车容器。
作用的 Component 类型#
- webservice
- worker
- task
- cron-task
参数说明#
NAME | DESCRIPTION | TYPE | REQUIRED | DEFAULT |
---|
name | 容器名称 | string | true | |
cmd | 容器的执行命令 | []string | false | |
image | 容器镜像 | string | true | |
volumes | 挂载卷 | []volumes | false | |
volumes#
NAME | DESCRIPTION | TYPE | REQUIRED | DEFAULT |
---|
name | | string | true | |
path | | string | true | |