Depurando problemas de CLI comuns com clusters
Nuvem privada virtual Infraestrutura clássica
Revise os motivos comuns a seguir para problemas de conexão da CLI ou falhas de comando.
O firewall impede a execução de comandos da CLI
Quando você executa os comandos ibmcloud, kubectl ou calicoctl na CLI, eles falham.
Você pode ter políticas de rede corporativa que impedem o acesso de seu sistema local a terminais públicos por proxies ou firewalls.
Permita acesso TCP para os comandos da CLI funcionarem.
Esta tarefa requer a função de acesso à plataforma Administrador do IAM do IBM Cloud para o cluster.
Comandos kubectl não funcionam
Quando você executa comandos kubectl em seu cluster, os comandos falham com uma mensagem de erro semelhante ao exemplo a seguir.
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"
Você possui uma versão diferente de kubectl do que sua versão de cluster.
O Kubernetes não suporta versões do cliente kubectl que sejam duas ou mais versões distantes da versão do servidor (n +/- 2). Se
você usar um cluster Kubernetes da comunidade, também será possível que você tenha a versão Red Hat OpenShift de kubectl, que não funciona com os clusters Kubernetes da comunidade.
Para verificar a versão do kubectl do cliente em relação à versão do servidor de cluster, execute kubectl version --short.
Instale a versão da CLI que corresponde a versão de seu cluster
Se você tiver vários clusters com versões diferentes ou plataformas de contêineres diferentes, como Red Hat OpenShift, faça o download de cada arquivo binário da versão kubectl em um diretório separado. Em seguida, é possível configurar
um alias no perfil da interface da linha de comandos (CLI) local para apontar para o diretório de arquivos binário kubectl que corresponde à versão kubectl do cluster com a qual deseja trabalhar ou talvez seja possível
usar uma ferramenta como brew switch kubernetes-cli <major.minor>.
Os comandos kubectl atingem o tempo limite
Se executar comandos como kubectl exec, kubectl attach, kubectl proxy, kubectl port-forward ou kubectl logs, você verá a mensagem a seguir.
<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 e conclua as etapas a seguir para a sua versão de cluster.
- Versão 1.21 e posterior, a conexão Konnectivity VPN entre o nó mestre e os nós de trabalho não está funcionando corretamente.
- O cluster tem os terminais em serviço privados e públicos ativados.
- Os terminais em serviço ou a VRF não estão ativados na conta.
Para determinar se a VRF e os terminais em serviço estão ativados em sua contas, execute ibmcloud account show. Procure a saída a seguir.
VRF Enabled: true
Service Endpoint Enabled: true
Para determinar se o seu cluster clássico tem um terminal em serviço público e privado ativado, execute ibmcloud ks cluster get -c <cluster_id>. Procure uma saída semelhante à seguinte.
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>
Se o cluster atender a essas condições, ative os terminais em serviço e o VRF para a conta.