内置策略列表
只交付部署资源,不保证终态一致、允许配置漂移。适用于与其他控制器协作的轻量级交付场景。
示例 (apply-once)
参数说明 (apply-once)
rules (apply-once)
名称 | 描述 | 类型 | 是否必须 | 默认值 |
---|
selector | 指定资源筛选目标规则。 | | false | |
strategy | Specify the strategy for configuring the resource level configuration drift behaviour。 | strategy | true | |
selector (apply-once)
名称 | 描述 | 类型 | 是否必须 | 默认值 |
---|
componentNames | 按组件名称选择目标资源。 | []string | false | |
componentTypes | 按组件类型选择目标资源。 | []string | false | |
oamTypes | 按 OAM 概念,组件(COMPONENT) 或 运维特征(TRAIT) 筛选。 | []string | false | |
traitTypes | 按 trait 类型选择目标资源。 | []string | false | |
resourceTypes | 按资源类型选择。 | []string | false | |
resourceNames | 按资源名称选择。 | []string | false | |
strategy (apply-once)
名称 | 描述 | 类型 | 是否必须 | 默认值 |
---|
path | 指定资源的路径。 | []string | true | |
描述
为应用配置资源回收策略。 如配置资源不回收。
It’s used in garbage collection scenario. It can be used to configure the collection policy, e.g. don’t delete the legacy resources when updating.
kind: Application
metadata:
name: first-vela-app
spec:
components:
- name: express-server
type: webservice
properties:
image: oamdev/hello-world
port: 8000
traits:
- type: ingress-1-20
properties:
domain: testsvc.example.com
http:
policies:
- name: keep-legacy-resource
type: garbage-collect
properties:
keepLegacyResource: true
参数说明 (garbage-collect)
rules (garbage-collect)
名称 | 描述 | 类型 | 是否必须 | 默认值 |
---|
selector | 指定资源筛选目标规则。 | | true | |
strategy | 目标资源循环利用的策略。 可用值:never、onAppDelete、onAppUpdate。 | string | false | onAppUpdate |
selector (garbage-collect)
名称 | 描述 | 类型 | 是否必须 | 默认值 |
---|
componentNames | 按组件名称选择目标资源。 | []string | false | |
componentTypes | 按组件类型选择目标资源。 | []string | false | |
oamTypes | 按 OAM 概念,组件(COMPONENT) 或 运维特征(TRAIT) 筛选。 | []string | false | |
traitTypes | 按 trait 类型选择目标资源。 | []string | false | |
resourceTypes | 按资源类型选择。 | []string | false | |
resourceNames | 按资源名称选择。 | []string | false | |
描述
参数说明 (health)
名称 | 描述 | 类型 | 是否必须 | 默认值 |
---|
probeTimeout | Specify health checking timeout(seconds), default 10s。 | int | false | 10 |
probeInterval | Specify health checking interval(seconds), default 30s。 | int | false | 30 |
描述部署资源时要覆盖的配置,需要配合工作流的 deploy
步骤一起使用才能生效。
示例 (override)
apiVersion: core.oam.dev/v1beta1
kind: Application
metadata:
name: deploy-with-override
namespace: examples
spec:
components:
- name: nginx-with-override
type: webservice
properties:
image: nginx
- name: topology-hangzhou-clusters
type: topology
properties:
clusterLabelSelector:
region: hangzhou
- name: topology-local
type: topology
properties:
clusters: ["local"]
namespace: examples-alternative
- name: override-nginx-legacy-image
type: override
properties:
components:
- name: nginx-with-override
properties:
image: nginx:1.20
- name: override-high-availability
type: override
properties:
components:
- type: webservice
traits:
- type: scaler
properties:
workflow:
steps:
- type: deploy
name: deploy-local
properties:
policies: ["topology-local"]
- type: deploy
properties:
policies: ["topology-hangzhou-clusters", "override-nginx-legacy-image", "override-high-availability"]
参数说明 (override)
components (override)
名称 | 描述 | 类型 | 是否必须 | 默认值 |
---|
name | 要覆盖的组件的名称。 如果未设置,它将匹配具有指定类型的所有组件。 可以与通配符 * 一起使用以进行模糊匹配。。 | string | false | |
type | 要覆盖的组件的类型。 如果未设置,将匹配所有组件类型。 | string | false | |
properties | 要覆盖的配置属性,未填写配置会与原先的配置合并。 | map[string]:(null|bool|string|bytes|{…}|[…]|number) | false | |
traits | 要覆盖的 trait 配置列表。 | | false | |
traits (override)
名称 | 描述 | 类型 | 是否必须 | 默认值 |
---|
type | 要做参数覆盖的 trait 类型。 | string | true | |
properties | 要覆盖的配置属性,未填写配置会与原先的配置合并。 | map[string]:(null|bool|string|bytes|{…}|[…]|number) | false | |
disable | 如果为 true,该 trait 将被删除,默认 false。 | bool | false | false |
描述
描述组件应该部署到的集群环境。
apiVersion: core.oam.dev/v1beta1
kind: Application
metadata:
name: basic-topology
namespace: examples
spec:
components:
- name: nginx-basic
type: webservice
properties:
image: nginx
policies:
- name: topology-hangzhou-clusters
type: topology
properties:
clusters: ["hangzhou-1", "hangzhou-2"]
apiVersion: core.oam.dev/v1beta1
kind: Application
metadata:
name: local-ns-topology
namespace: examples
spec:
components:
- name: nginx-local-ns
type: webservice
properties:
image: nginx
policies:
- name: topology-local
type: topology
properties:
参数说明 (topology)
名称 | 描述 | 类型 | 是否必须 | 默认值 |
---|
cluster | 要选择的集群的名称。 | []string | false | |
clusterLabelSelector | 根据集群标签选择。 | map[string]:string | false | |
clusterSelector | Deprecated: Use clusterLabelSelector instead。 | map[string]:string | false | |
namespace | 要在选定集群中部署的目标命名空间。 如果未设置,组件将继承原始命名空间。 | string | false | |