Depuración de problemas de CLI comunes con clústeres
Nube privada virtual Infraestructura clásica
Revise las siguientes razones comunes de los problemas de conexión de CLI o de los errores de los mandatos.
El cortafuegos impide ejecutar mandatos de CLI
Cuando ejecuta los mandatos ibmcloud, kubectl o calicoctl desde la CLI, fallan.
Puede que tenga políticas de red corporativas que impidan el acceso desde el sistema local a los puntos finales públicos mediante proxies o cortafuegos.
Permita el acceso TCP para que funciones los mandatos de CLI.
Esta tarea requiere el rol de acceso a la plataforma Administrador de IBM Cloud IAM para el clúster.
Los mandatos kubectl no funcionan
Cuando ejecuta comandos kubectl contra su cluster, sus comandos fallan con un mensaje de error similar al siguiente ejemplo.
No resources found.
Error from server (NotAcceptable): unknown (get nodes)
invalid object doesn't have additional properties
error: No Auth Provider found for name "oidc"
Tiene una versión distinta de kubectl que la versión del clúster.
Kubernetes no admite kubectl versiones de cliente que tengan 2 o más versiones de diferencia con la versión del servidor (n +/- 2).
Si utiliza un clúster de Kubernetes de comunidad, es posible que también tenga la versión de Red Hat OpenShift de kubectl, que no funciona con clústeres de Kubernetes de comunidad.
Para comprobar la versión de kubectl del cliente frente a la versión del servidor de clúster, ejecute kubectl version --short.
Instale la versión de la CLI que coincida con la versión del clúster.
Si tiene varios clústeres con diferentes versiones o diferentes plataformas de contenedores como Red Hat OpenShift, descargue cada archivo binario de la versión kubectl en un directorio distinto. A continuación, puede configurar
un alias en el perfil de la interfaz de línea de mandatos (CLI) local para que apunte al directorio de archivos binarios de kubectl que coincide con la versión kubectl del clúster con el que desea trabajar, o bien
puede utilizar una herramienta como brew switch kubernetes-cli <major.minor>.
Tiempo de espera excedido de los mandatos kubectl
Si ejecuta mandatos como kubectl exec, kubectl attach, kubectl proxy, kubectl port-forward o kubectl logs, ve el siguiente mensaje.
<workerIP>:10250: getsockopt: connection timed out
kubectl -n kube-system logs metrics-server-65fc69c6b7-f682d -c metrics-server
Error from server: Get “https://10.38.193.213:10250/containerLogs/kube-system/metrics-server-65fc69c6b7-f682d/metrics-server”: EOF
kubectl -n kube-system exec -it metrics-server-65fc69c6b7-f682d -c metrics-server -- sh
Error from server: error dialing backend: EOF
Revise y complete los pasos siguientes para la versión de clúster.
- La versión 1.21 y posterior de la conexión VPN de Konnectivity entre el nodo maestro y los nodos trabajadores no funciona correctamente.
- El clúster tiene habilitados puntos finales de servicio privados y públicos.
- No hay habilitados puntos finales de servicio ni VRF en la cuenta.
Para determinar si hay puntos finales de servicio y VRF en la cuenta, ejecute ibmcloud account show. Busque la salida siguiente.
VRF Enabled: true
Service Endpoint Enabled: true
Para determinar si el clúster clásico tiene habilitado el punto final de servicio público y privado, ejecute ibmcloud ks cluster get -c <cluster_id>. Busque una salida similar a la siguiente.
Public Service Endpoint URL: https://c105.<REGION>.containers.cloud.ibm.com:<port>
Private Service Endpoint URL: https://c105.private.<REGION>.containers.cloud.ibm.com:<port>
Si el clúster cumple estas condiciones, habilite los puntos finales de servicio y VRF para la cuenta.