Solución de problemas de aprovisionamiento de software

En esta página se explica cómo solucionar problemas habituales de aprovisionamiento de software.

Solucionar problemas de arranque del plano de control

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

  1. Examina el anthos-cluster-operator Pod:

    kubectl logs deployment/anthos-cluster-operator -c operator -n kube-system
    
  2. Consulta los AddOnrecursos:

    kubectl get AddOn -A
    

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

  3. Consulta los AddOnSetrecursos:

    kubectl get AddOnSet -A
    

    Si el bootstrap del plano de control no termina de procesarse después de crear el clúster de infraestructura de la organización (por ejemplo, durante un cambio de recursos), exporta el archivo kubeconfig manualmente:

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

Solucionar problemas de creación de clústeres

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

  1. Examina la fase actual del clúster y comprueba si el objeto Harbor-operator o Harbor existen y consulta su estado en el clúster de TIPO AddOnSet ejecutando el siguiente comando:

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

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

  2. En el clúster de infraestructura de la organización, comprueba los recursos del espacio de nombres harbor-system. Si has implementado el objeto HarborCluster mediante el comando kubectl get harborcluster harbor -n harbor-system, significa que la instalación ha pasado a la segunda fase, la fase de Harbor.

  3. Inspecciona el campo status del objeto HarborCluster:

    kubectl -n harbor-system get harborcluster harbor
    

    Si el estado es healthy, comprueba su funcionalidad en el 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 bootstrapper, ejecuta el comando docker push.

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

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

    Si el estado es healthy, vaya a la sección Comprobar el estado de Istio. Si el estado no muestra healthy, ve a la siguiente sección, Evaluar recursos del espacio de nombres de Harbor.

Evaluar los recursos del espacio de nombres de Harbor

Solo es necesario seguir estos pasos si los recursos de harbor-system no tienen el estado healthy. Para comprobar el estado de tus harbor-system recursos, consulta Solucionar problemas de creación de clústeres.

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

    kubectl get all -n harbor-system
    
  2. Comprueba 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 fase 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 PostgreSQL, Redis y Harbor tengan el estado healthy. Si algunos pods no están en estado healthy, consulta los detalles del pod que falla con estos comandos:

    kubectl get pod -o wide
    kubectl describe pod
    

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

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

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

    1. Instancia de Redis:statefulset/rfr-harbor-redis
    2. Sentinel de Redis: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 falla. 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, puede haber un problema con el operador de Harbor, que es el responsable de configurar las credenciales antes de implementar los componentes principales de Harbor.

Comprobar el estado de Istio

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