内置策略列表

    只交付部署资源,不保证终态一致、允许配置漂移。适用于与其他控制器协作的轻量级交付场景。

    示例 (apply-once)

    参数说明 (apply-once)

    rules (apply-once)

    名称描述类型是否必须默认值
    selector指定资源筛选目标规则。false
    strategySpecify the strategy for configuring the resource level configuration drift behaviour。strategytrue
    selector (apply-once)
    名称描述类型是否必须默认值
    componentNames按组件名称选择目标资源。[]stringfalse
    componentTypes按组件类型选择目标资源。[]stringfalse
    oamTypes按 OAM 概念,组件(COMPONENT) 或 运维特征(TRAIT) 筛选。[]stringfalse
    traitTypes按 trait 类型选择目标资源。[]stringfalse
    resourceTypes按资源类型选择。[]stringfalse
    resourceNames按资源名称选择。[]stringfalse
    strategy (apply-once)
    名称描述类型是否必须默认值
    path指定资源的路径。[]stringtrue

    描述

    为应用配置资源回收策略。 如配置资源不回收。

    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.

    1. kind: Application
    2. metadata:
    3. name: first-vela-app
    4. spec:
    5. components:
    6. - name: express-server
    7. type: webservice
    8. properties:
    9. image: oamdev/hello-world
    10. port: 8000
    11. traits:
    12. - type: ingress-1-20
    13. properties:
    14. domain: testsvc.example.com
    15. http:
    16. policies:
    17. - name: keep-legacy-resource
    18. type: garbage-collect
    19. properties:
    20. keepLegacyResource: true

    参数说明 (garbage-collect)

    rules (garbage-collect)

    名称描述类型是否必须默认值
    selector指定资源筛选目标规则。true
    strategy目标资源循环利用的策略。 可用值:never、onAppDelete、onAppUpdate。stringfalseonAppUpdate
    selector (garbage-collect)
    名称描述类型是否必须默认值
    componentNames按组件名称选择目标资源。[]stringfalse
    componentTypes按组件类型选择目标资源。[]stringfalse
    oamTypes按 OAM 概念,组件(COMPONENT) 或 运维特征(TRAIT) 筛选。[]stringfalse
    traitTypes按 trait 类型选择目标资源。[]stringfalse
    resourceTypes按资源类型选择。[]stringfalse
    resourceNames按资源名称选择。[]stringfalse

    描述

    参数说明 (health)

    名称描述类型是否必须默认值
    probeTimeoutSpecify health checking timeout(seconds), default 10s。intfalse10
    probeIntervalSpecify health checking interval(seconds), default 30s。intfalse30

    描述部署资源时要覆盖的配置,需要配合工作流的 deploy 步骤一起使用才能生效。

    示例 (override)

    1. apiVersion: core.oam.dev/v1beta1
    2. kind: Application
    3. metadata:
    4. name: deploy-with-override
    5. namespace: examples
    6. spec:
    7. components:
    8. - name: nginx-with-override
    9. type: webservice
    10. properties:
    11. image: nginx
    12. - name: topology-hangzhou-clusters
    13. type: topology
    14. properties:
    15. clusterLabelSelector:
    16. region: hangzhou
    17. - name: topology-local
    18. type: topology
    19. properties:
    20. clusters: ["local"]
    21. namespace: examples-alternative
    22. - name: override-nginx-legacy-image
    23. type: override
    24. properties:
    25. components:
    26. - name: nginx-with-override
    27. properties:
    28. image: nginx:1.20
    29. - name: override-high-availability
    30. type: override
    31. properties:
    32. components:
    33. - type: webservice
    34. traits:
    35. - type: scaler
    36. properties:
    37. workflow:
    38. steps:
    39. - type: deploy
    40. name: deploy-local
    41. properties:
    42. policies: ["topology-local"]
    43. - type: deploy
    44. properties:
    45. policies: ["topology-hangzhou-clusters", "override-nginx-legacy-image", "override-high-availability"]

    参数说明 (override)

    components (override)

    名称描述类型是否必须默认值
    name要覆盖的组件的名称。 如果未设置,它将匹配具有指定类型的所有组件。 可以与通配符 * 一起使用以进行模糊匹配。。stringfalse
    type要覆盖的组件的类型。 如果未设置,将匹配所有组件类型。stringfalse
    properties要覆盖的配置属性,未填写配置会与原先的配置合并。map[string]:(null|bool|string|bytes|{…}|[…]|number)false
    traits要覆盖的 trait 配置列表。false
    traits (override)
    名称描述类型是否必须默认值
    type要做参数覆盖的 trait 类型。stringtrue
    properties要覆盖的配置属性,未填写配置会与原先的配置合并。map[string]:(null|bool|string|bytes|{…}|[…]|number)false
    disable如果为 true,该 trait 将被删除,默认 false。boolfalsefalse

    描述

    描述组件应该部署到的集群环境。

    1. apiVersion: core.oam.dev/v1beta1
    2. kind: Application
    3. metadata:
    4. name: basic-topology
    5. namespace: examples
    6. spec:
    7. components:
    8. - name: nginx-basic
    9. type: webservice
    10. properties:
    11. image: nginx
    12. policies:
    13. - name: topology-hangzhou-clusters
    14. type: topology
    15. properties:
    16. clusters: ["hangzhou-1", "hangzhou-2"]
    1. apiVersion: core.oam.dev/v1beta1
    2. kind: Application
    3. metadata:
    4. name: local-ns-topology
    5. namespace: examples
    6. spec:
    7. components:
    8. - name: nginx-local-ns
    9. type: webservice
    10. properties:
    11. image: nginx
    12. policies:
    13. - name: topology-local
    14. type: topology
    15. properties:

    参数说明 (topology)

    名称描述类型是否必须默认值
    cluster要选择的集群的名称。[]stringfalse
    clusterLabelSelector根据集群标签选择。map[string]:stringfalse
    clusterSelectorDeprecated: Use clusterLabelSelector instead。map[string]:stringfalse
    namespace要在选定集群中部署的目标命名空间。 如果未设置,组件将继承原始命名空间。stringfalse