Solución de problemas de aprovisionamiento de software

En esta página, se detalla cómo solucionar problemas comunes de aprovisionamiento de software que podrías enfrentar.

Soluciona problemas de inicio del plano de control

Para solucionar problemas relacionados con el proceso del plano de control de arranque, consulta los siguientes recursos dentro del clúster de KIND:

  1. Examina el Pod anthos-cluster-operator:

    kubectl logs deployment/anthos-cluster-operator -c operator -n kube-system
    
  2. Inspecciona los recursos AddOn:

    kubectl get AddOn -A
    

    También puedes ver los recursos con el comando gpc-addons para obtener más información.

  3. Verifica los recursos AddOnSet:

    kubectl get AddOnSet -A
    

    Si el proceso de inicio del plano de control no finaliza después de la creación del clúster de infraestructura de la organización, por ejemplo, durante un cambio de recursos, exporta el archivo kubeconfig de forma manual:

    kubectl get secret root-admin-kubeconfig -n root -o jsonpath="{.data.value}" | base64 -d > /root/path/to/root-admin-kubeconfig.yaml
    

Soluciona problemas de creación de clústeres

Para solucionar problemas relacionados con el proceso de creación del clúster, sigue estos pasos:

  1. Examina la etapa actual del clúster y verifica si el objeto Harbor-operator o Harbor existen, y comprueba su estado desde el clúster de KIND en el recurso AddOnSet ejecutando el siguiente comando:

    kubectl get addonset -n fleet-root root-admin -o yaml
    

    Después de ejecutar este comando, busca la etapa actual en status.currentStage.

  2. En el clúster de infraestructura de la organización, verifica los recursos en el espacio de nombres harbor-system. Si implementaste el objeto HarborCluster a través del comando kubectl get harborcluster harbor -n harbor-system, eso indica que la instalación pasó a la segunda etapa, la etapa de Harbor.

  3. Inspecciona el campo status en el objeto HarborCluster:

    kubectl -n harbor-system get harborcluster harbor
    

    Si el estado indica healthy, verifica su funcionalidad a través del portal web con el comando docker push.

  4. Accede al portal web en la URL denunciada. Por ejemplo: https://10.200.0.36:10443

  5. En el programa de arranque, ejecuta el comando docker push.

    Si el estado es unhealthy, revisa los detalles de las condiciones de estado ejecutando la siguiente entrada:

    kubectl -n harbor-system get harborcluster harbor -o yaml
    

    Si el estado muestra healthy, navega a la sección Verifica el estado de Istio. Si el estado no muestra healthy, continúa con la siguiente sección, Evalúa los recursos del espacio de nombres de Harbor.

Evalúa los recursos del espacio de nombres de Harbor

Solo debes realizar estos pasos si los recursos harbor-system no tienen el estado healthy. Para verificar el estado de tus recursos de harbor-system, consulta Soluciona problemas relacionados con la creación de clústeres.

  1. Evalúa los recursos del espacio de nombres harbor-system:

    kubectl get all -n harbor-system
    
  2. Verifica el estado de los recursos relacionados con el operador de Harbor, incluidos los operadores de PostgreSQL y Redis que se compilan como subgráficos durante la segunda etapa del proceso de creación del clúster de infraestructura de la organización. Valida que los siguientes operadores estén en el estado Running:

    deployment/harbor-operator-harbor-operator
    deployment/harbor-operator-postgres-operator
    deployment/harbor-operator-redisoperator
    
  3. Verifica que todos los recursos de los componentes de PostgreSQL, Redis y Harbor tengan el estado healthy. Si algunos Pods no están en estado healthy, revisa los detalles del Pod con errores con los siguientes comandos:

    kubectl get pod -o wide
    kubectl describe pod
    

    También puedes ver los registros del operador de administración con este comando:

    kubectl logs -f deploy/harbor-operator-postgres-operator
    
  4. Para verificar el recurso de PostgreSQL, consulta statefulset/postgresql-harbor-system-harbor.

  5. Para verificar el recurso de Redis, consulta lo siguiente:

    1. Instancia de Redis:statefulset/rfr-harbor-redis
    2. Redis sentinel:deployment/rfs-harbor-redis

    Los componentes principales de Harbor solo se implementan cuando los dos componentes están listos.

    Si fallan algunos Pods de componentes principales de Harbor, revisa los registros del Pod que falló. En algunos casos, hay un problema de comunicación con las instancias de PostgreSQL o Redis.

    Por ejemplo, si el componente principal de Harbor no puede conectarse a PostgreSQL o Redis con las credenciales proporcionadas, es posible que haya un problema con el operador de Harbor, que es responsable de configurar las credenciales antes de implementar los componentes principales de Harbor.

Verifica el estado de Istio

Para verificar que el estado del Pod sea istio, como istio-system y service/istio-ingressgateway, comprueba si el puerto 10443 está expuesto.