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.
Solution
Section titled “Solution”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
-
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 -
Edit
cluster.yamland delete thespec.config.kubernetes_config.router.versionfield. 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> -
Apply the updated cluster configuration:
Terminal window neutree-cli-<arch> apply -f cluster.yaml \--api-key <api_key> \--server-url <server_url> \--force-updateNeutree performs a rolling update of the Router Deployment.
-
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'