es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

El operador de Jaeger no logra analizar la versión de la instancia de Jaeger en Kubernetes.

El operador Jaeger muestra este registro:

<p>El operador Jaeger muestra este registro.</p>

<p><code>time="2022-01-07T11:27:57Z" level=info msg=Versions arch=amd64 identity=jaeger-operator.jaeger-operator jaeger=1.21.0 jaeger-operator=v1.21.3 operator-sdk=v0.18.2 os=linux version=go1.14.15 time="2022-01-07T11:28:20Z" level=warning msg="Failed to parse current Jaeger instance version. Unable to perform upgrade" current= error="Invalid Semantic Version" instance=tracing namespace=istio-system</code></p>

<p>El recurso operado de trazado se muestra así después:</p>

<p><code>
kubectl get jaeger
NAME    STATUS   VERSION STRATEGY  STORAGE       AGE
tracing Running          allinone  elasticsearch 37d
</code></p>

<p>Utilizamos GitOps para distribuir las aplicaciones (incluido el operador Jaeger y el recurso de trazado de Jaeger). La única diferencia que conocemos es entre las versiones de los clústeres. En este caso, solo está fallando en un clúster en particular con la siguiente versión de Kubernetes:</p>

<p><code>
Server Version: version.Info{Major:"1", Minor:"20+", GitVersion:"v1.20.12-gke.1500", GitCommit:"d32c0db9a3ccd0ac73b0b3abd0532505217b376e", GitTreeState:"clean", BuildDate:"2021-11-17T09:30:02Z", GoVersion:"go1.15.15b5", Compiler:"gc", Platform:"linux/amd64"}
</code></p>

<p>Además del error de registro y la información faltante resultante del comando "get jaeger", el operador Jaeger modifica 2 cosas en el manifiesto inicial:</p>

<p>Elimina la línea: <code>.spec.storage.esRollover.enabled: true</code>
Pone en minúsculas: <code>.spec.strategy: AllInOne</code></p>

<p>Las funciones utilizadas para analizar la versión se encuentran aquí: https://github.com/jaegertracing/jaeger-operator/blob/v1.21.3/pkg/upgrade/main.go#L28</p>

<p>La función utilizada para verificar la versión actual y compararla para verificar si es necesario actualizar el recurso se encuentra aquí: https://github.com/jaegertracing/jaeger-operator/blob/v1.21.3/pkg/upgrade/upgrade.go#L134</p>

<p>Ambas parecen estar bien. No puedo decir dónde/cuál es el problema y cómo solucionarlo.</p>
Tags:  , ,

Answer

  1. Avatar for davy.ai

    El operador Jaeger no puede analizar la versión actual de la instancia de Jaeger y, por lo tanto, no puede realizar una actualización. Este problema parece estar ocurriendo solo en un clúster específico con una versión diferente de Kubernetes.

    Análisis:

    Según la información proporcionada, parece que el mensaje de error “Versión semántica no válida” es responsable del fallo en el proceso de actualización. El operador Jaeger utiliza una función para analizar la versión, pero no puede hacerlo debido al error.

    El mensaje de registro menciona la versión de Kubernetes del servidor, que es diferente de los demás clústeres. Esto podría ser la causa del problema, ya que es posible que el operador Jaeger no sea compatible con esta versión específica de Kubernetes.

    El operador Jaeger también modifica el manifiesto inicial eliminando la línea .spec.storage.esRollover.enabled: true y cambiando a minúsculas la línea .spec.strategy: AllInOne. Sin embargo, estas modificaciones no están relacionadas con el error.

    Solución:

    Para resolver este problema, se pueden seguir los siguientes pasos:

    1. Asegúrese de que el operador Jaeger y el recurso de trazado Jaeger sean compatibles con la versión específica de Kubernetes del clúster afectado.

    2. Verifique si la versión del recurso de trazado Jaeger en el clúster afectado coincide con la versión esperada por el operador Jaeger.

    3. Verifique si la versión “actual” mencionada en el mensaje de error es una versión semántica válida.

    4. Si ninguno de los pasos anteriores funciona, intente volver a una versión anterior del operador Jaeger y/o recurso de trazado Jaeger que se sepa que funciona con la versión específica de Kubernetes.

    5. Si el problema persiste, se recomienda buscar ayuda en la comunidad del operador Jaeger o enviar un informe de error.

Comments are closed.