Migrate from Old Versions

    KubeVela has release cadence for every 2-3 months, we’ll only maintain for the last 2 releases. As a result, you’re highly recommended to upgrade along with the community. We’ll strictly align with the for compatibility.

    caution

    KubeVela had upgraded the CUE version from v0.2.2 to v0.5.0-alpha1 in v1.6.x, and some usages are deprecated.

    If you used an input in Application with a invalid CUE variable (eg: contains -, or starts with a number, etc.), like:

    Please modify it to:

    1. inputs:
    2. - from: output
    3. parameterKey: data["my-input"]
    1. Upgrade the CRDs, please make sure you upgrade the CRDs first before upgrade the helm chart.
    1. kubectl apply -f https://raw.githubusercontent.com/oam-dev/kubevela/release-1.6/charts/vela-core/crds/core.oam.dev_applicationrevisions.yaml
    2. kubectl apply -f https://raw.githubusercontent.com/oam-dev/kubevela/release-1.6/charts/vela-core/crds/core.oam.dev_applications.yaml
    3. kubectl apply -f https://raw.githubusercontent.com/oam-dev/kubevela/release-1.6/charts/vela-core/crds/core.oam.dev_resourcetrackers.yaml
    4. kubectl apply -f https://raw.githubusercontent.com/oam-dev/kubevela/release-1.6/charts/vela-core/crds/core.oam.dev_componentdefinitions.yaml
    5. kubectl apply -f https://raw.githubusercontent.com/oam-dev/kubevela/release-1.6/charts/vela-core/crds/core.oam.dev_definitionrevisions.yaml
    1. Upgrade your kubevela chart
    1. helm repo add kubevela https://charts.kubevela.net/core
    2. helm repo update
    3. helm upgrade -n vela-system --install kubevela kubevela/vela-core --version 1.6.1 --wait
    1. Download and upgrade to the corresponding CLI
    1. curl -fsSl https://kubevela.io/script/install.sh | bash -s 1.6.1
    1. Upgrade VelaUX or other addon
    1. vela addon upgrade velaux --version 1.6.1

    Migrate from Old Versions - 图2caution

    Note: Please upgrade to v1.5.7+ to avoid application workflow rerun when controller upgrade.

    1. Upgrade the CRDs, please make sure you upgrade the CRDs first before upgrade the helm chart.
    1. kubectl apply -f https://raw.githubusercontent.com/oam-dev/kubevela/release-1.5/charts/vela-core/crds/core.oam.dev_applicationrevisions.yaml
    2. kubectl apply -f https://raw.githubusercontent.com/oam-dev/kubevela/release-1.5/charts/vela-core/crds/core.oam.dev_applications.yaml
    3. kubectl apply -f https://raw.githubusercontent.com/oam-dev/kubevela/release-1.5/charts/vela-core/crds/core.oam.dev_resourcetrackers.yaml
    4. kubectl apply -f https://raw.githubusercontent.com/oam-dev/kubevela/release-1.5/charts/vela-core/crds/core.oam.dev_componentdefinitions.yaml
    5. kubectl apply -f https://raw.githubusercontent.com/oam-dev/kubevela/release-1.5/charts/vela-core/crds/core.oam.dev_definitionrevisions.yaml
    1. Upgrade your kubevela chart
    1. Download and upgrade to the corresponding CLI
    1. curl -fsSl https://kubevela.io/script/install.sh | bash -s 1.5.7
    1. Upgrade VelaUX or other addon
    1. vela addon upgrade velaux --version 1.5.6

    Note: It may cause application workflow rerun when controller upgrade.

    1. Upgrade the CRDs, please make sure you upgrade the CRDs first before upgrade the helm chart.
    1. kubectl apply -f https://raw.githubusercontent.com/oam-dev/kubevela/release-1.4/charts/vela-core/crds/core.oam.dev_applications.yaml
    2. kubectl apply -f https://raw.githubusercontent.com/oam-dev/kubevela/release-1.4/charts/vela-core/crds/core.oam.dev_resourcetrackers.yaml
    3. kubectl apply -f https://raw.githubusercontent.com/oam-dev/kubevela/release-1.4/charts/vela-core/crds/core.oam.dev_componentdefinitions.yaml
    4. kubectl apply -f https://raw.githubusercontent.com/oam-dev/kubevela/release-1.4/charts/vela-core/crds/core.oam.dev_definitionrevisions.yaml
    1. Upgrade your kubevela chart
    1. helm repo update
    2. helm upgrade -n vela-system --install kubevela kubevela/vela-core --version 1.4.11 --wait
    1. Download and upgrade to the corresponding CLI
    1. curl -fsSl https://kubevela.io/script/install.sh | bash -s 1.4.11
    1. Upgrade VelaUX or other addon
    1. vela addon upgrade velaux --version 1.4.7

    Please note if you’re using terraform addon, you should upgrade the terraform addon to version 1.0.6+ along with the vela-core upgrade, you can follow the following steps:

    1. upgrading vela-core to v1.3.4+, all existing Terraform typed Applications won’t be affected in this process.
    2. upgrade the terrorform addon, or the newly provisioned Terraform typed Applications won’t become successful.
      • 2.1 Manually upgrade CRD Configuration .
      • 2.2 Upgrade add-on terraform to version 1.0.6+.

    danger

    Note: It may cause application workflow rerun when controller upgrade.

    1. Upgrade the CRDs, please make sure you upgrade the CRDs first before upgrade the helm chart.
    1. Upgrade your kubevela chart
    1. helm repo add kubevela https://charts.kubevela.net/core
    2. helm repo update
    3. helm upgrade -n vela-system --install kubevela kubevela/vela-core --version 1.3.6 --wait
    1. Download and upgrade to the corresponding CLI
    1. curl -fsSl https://kubevela.io/script/install.sh | bash -s 1.3.6
    1. Upgrade VelaUX or other addon
    1. vela addon upgrade velaux --version 1.3.6

    Please note if you’re using terraform addon, you should upgrade the terraform addon to version 1.0.6+ along with the vela-core upgrade, you can follow the following steps:

    1. upgrading vela-core to v1.3.4+, all existing Terraform typed Applications won’t be affected in this process.
    2. upgrade the terrorform addon, or the newly provisioned Terraform typed Applications won’t become successful.
      • 2.1 Manually upgrade CRD Configuration .
      • 2.2 Upgrade add-on terraform to version 1.0.6+.

    Migrate from Old Versions - 图5danger

    Note: It will cause application workflow rerun when controller upgrade.

    1. Check the service running normally
    1. $ kubectl get all -n vela-system
    2. NAME READY STATUS RESTARTS AGE
    3. pod/kubevela-cluster-gateway-5bff6d564d-rhkp7 1/1 Running 0 16d
    4. NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
    5. service/vela-core-webhook ClusterIP 172.16.54.195 <none> 443/TCP 284d
    6. NAME READY UP-TO-DATE AVAILABLE AGE
    7. deployment.apps/kubevela-cluster-gateway 1/1 1 1 16d
    8. deployment.apps/kubevela-vela-core 1/1 1 1 284d

    In addition, it’s also necessary to check the status of all the KubeVela applications including addons running normally.

    1. update the CRD to v1.2.x

    Update the CRD in the cluster to v1.2.x, the CRD list is as follows, some of them can be omitted if you don’t have them before:

    1. kubectl apply -f https://raw.githubusercontent.com/oam-dev/kubevela/release-1.2/charts/vela-core/crds/core.oam.dev_applicationrevisions.yaml
    2. kubectl apply -f https://raw.githubusercontent.com/oam-dev/kubevela/release-1.2/charts/vela-core/crds/core.oam.dev_applications.yaml
    3. kubectl apply -f https://raw.githubusercontent.com/oam-dev/kubevela/release-1.2/charts/vela-core/crds/core.oam.dev_componentdefinitions.yaml
    4. kubectl apply -f https://raw.githubusercontent.com/oam-dev/kubevela/release-1.2/charts/vela-core/crds/core.oam.dev_definitionrevisions.yaml
    5. kubectl apply -f https://raw.githubusercontent.com/oam-dev/kubevela/release-1.2/charts/vela-core/crds/core.oam.dev_envbindings.yaml
    6. kubectl apply -f https://raw.githubusercontent.com/oam-dev/kubevela/release-1.2/charts/vela-core/crds/core.oam.dev_healthscopes.yaml
    7. kubectl apply -f https://raw.githubusercontent.com/oam-dev/kubevela/release-1.2/charts/vela-core/crds/core.oam.dev_manualscalertraits.yaml
    8. kubectl apply -f https://raw.githubusercontent.com/oam-dev/kubevela/release-1.2/charts/vela-core/crds/core.oam.dev_policydefinitions.yaml
    9. kubectl apply -f https://raw.githubusercontent.com/oam-dev/kubevela/release-1.2/charts/vela-core/crds/core.oam.dev_resourcetrackers.yaml
    10. kubectl apply -f https://raw.githubusercontent.com/oam-dev/kubevela/release-1.2/charts/vela-core/crds/core.oam.dev_scopedefinitions.yaml
    11. kubectl apply -f https://raw.githubusercontent.com/oam-dev/kubevela/release-1.2/charts/vela-core/crds/core.oam.dev_traitdefinitions.yaml
    12. kubectl apply -f https://raw.githubusercontent.com/oam-dev/kubevela/release-1.2/charts/vela-core/crds/core.oam.dev_workflowstepdefinitions.yaml
    13. kubectl apply -f https://raw.githubusercontent.com/oam-dev/kubevela/release-1.2/charts/vela-core/crds/core.oam.dev_workloaddefinitions.yaml
    14. kubectl apply -f https://raw.githubusercontent.com/oam-dev/kubevela/release-1.2/charts/vela-core/crds/standard.oam.dev_rollouts.yaml
    1. Execute the upgrade command

    This step will upgrade the system to the new version:

    1. helm upgrade -n vela-system --install kubevela kubevela/vela-core --version 1.2.6 --wait

    Upgrade the CLI to v1.2.x corresponding the the core version:

    1. Enable addon

    After the upgrade succeed, users can use the following methods to enable addons if they need to be enabled:

    1. # View the list of addons
    2. vela addon list
    3. # Enable addon
    4. vela addon enable <addon name>

    tip

    This step is not required if the addon is already enabled and used in the pre-upgrade version

    1. Update Custom Definition
    1. Common Questions for this migration
    • Q: After upgrading from 1.1.x to 1.2.x, the application status becomes workflowsuspending, and using vela workflow resume doesn’t work.
      • A: There’re migration about the resource tracker mechanism. Generally, you can delete the existing resourcetracker, after that you can use command.