Skip to content
Neutree Documentation

Router version not upgraded after cluster version upgrade

For Kubernetes clusters, the Router image version uses the cluster version specified by spec.version by default. If spec.config.kubernetes_config.router.version is set to a fixed earlier version, after you upgrade the cluster version, Router still uses the fixed version and is not updated together with the cluster version. In this case, endpoints started through Flex Engine cannot be accessed normally.

Use the CLI to delete the fixed Router version from the cluster configuration, so that Router resumes using the cluster version.

Prerequisites

You have prepared an API key and the access address of the Neutree management plane.

Procedure

  1. Export the existing cluster configuration:

    Terminal window
    neutree-cli-<arch> get Cluster <cluster-name> \
    -w <workspace-name> \
    -o yaml \
    --api-key <api_key> \
    --server-url <server_url> \
    > cluster.yaml
  2. Edit cluster.yaml and delete the spec.config.kubernetes_config.router.version field. Keep the original Router access mode, replica count, and resource configuration.

    spec:
    config:
    kubernetes_config:
    router:
    access_mode: <access_mode>
    replicas: <replicas>
    resources:
    cpu: <cpu>
    memory: <memory>
  3. Apply the updated cluster configuration:

    Terminal window
    neutree-cli-<arch> apply -f cluster.yaml \
    --api-key <api_key> \
    --server-url <server_url> \
    --force-update

    Neutree performs a rolling update of the Router Deployment.

  4. Wait until the cluster status returns to Running. If you can access the Kubernetes cluster, run the following command to confirm that the Router image version is the same as the cluster version:

    Terminal window
    kubectl get deployment -A -l app=router \
    -o custom-columns='NAMESPACE:.metadata.namespace,IMAGE:.spec.template.spec.containers[0].image'