Use estas etapas para solucionar vários problemas que podem ocorrer ao usar as tarefas do Kf.
Não é possível excluir o objeto.
Execute o comando a seguir para ver as informações dos recursos. Depois, verifique as causas listadas abaixo:
kubectl get tasks.kf.dev -n SPACE_NAME TASK_NAME -o yaml
A CLI kf
pode ajudar a verificar alguns dos problemas:
kf doctor --space SPACE_NAME task/TASK_NAME
Possível causa | Solução |
---|---|
O carimbo de data/hora da exclusão está no futuro. |
Com o desvio do relógio, o |
Os finalizadores existem no objeto. |
Os finalizadores estão presentes no objeto. Eles precisam ser removidos pelo controlador que os definiu antes da exclusão do objeto. Se você quiser forçar uma exclusão sem esperar os finalizadores, edite
o objeto para removê-los da matriz Aviso: remover os finalizadores sem permitir que os controladores sejam concluídos pode causar erros, problemas de segurança, perda de dados ou recursos órfãos. |
Pode ser que existam objetos dependentes. |
O objeto pode estar aguardando que os dependentes sejam excluídos antes de ser excluído. Consulte o guia de coleta de lixo do Kubernetes para saber mais. Peça a um administrador para verificar todos os objetos no namespace e no cluster e ver se um deles está bloqueando a exclusão. Se você precisar remover o objeto sem esperar dependências, use
|
Deslocamento do estado de geração de objetos.
Execute o comando a seguir para ver as informações dos recursos. Depois, verifique as causas listadas abaixo:
kubectl get tasks.kf.dev -n SPACE_NAME TASK_NAME -o yaml
A CLI kf
pode ajudar a verificar alguns dos problemas:
kf doctor --space SPACE_NAME task/TASK_NAME
Possível causa | Solução |
---|---|
O objeto tem deslocamentos da versão de geração. |
Esse erro geralmente ocorre no controlador Kf sem a leitura da versão mais recente do objeto. Geralmente, esse erro é recuperado automaticamente quando as réplicas do Kubernetes alcançam a consistência posterior, e isso normalmente não requer uma ação dos usuários. |
Falha na reconciliação de objetos.
Execute o comando a seguir para ver as informações dos recursos. Depois, verifique as causas listadas abaixo:
kubectl get tasks.kf.dev -n SPACE_NAME TASK_NAME -o yaml
A CLI kf
pode ajudar a verificar alguns dos problemas:
kf doctor --space SPACE_NAME task/TASK_NAME
Possível causa | Solução |
---|---|
O objeto tem TemplateError |
Esse erro geralmente ocorre se o usuário inseriu uma propriedade inválida na especificação de recurso personalizada ou se a configuração no espaço/cluster for inválida. Para entender a causa raiz, o usuário pode ler a mensagem de erro mais longa no |
O objeto tem um erro ChildNotOwner (conflitos de nome) |
Esse erro geralmente significa que os objetos que o controlador está tentando criar já existem. Isso acontece quando o usuário cria um recurso K8s com o mesmo nome do que o controlador está tentando criar. Com mais frequência, isso acontece quando o usuário exclui um recurso e, em seguida, o controlador Kf tentará recriá-lo. Se um recurso filho ainda estiver por aí, o proprietário dele será o recurso antigo que não existe mais. Para corrigir o erro, recomendamos que o usuário exclua o recurso afetado e o recrie. Para excluir o objeto,
use um comando de exclusão do Kf ou Para recriar um recurso, use um comando Kf. Por exemplo: |
O objeto tem ReconciliationError |
Esse erro geralmente significa que algo deu errado com a chamada HTTP feita (pelo controlador Kf) para o serviço da API Kubernetes para criar/atualizar o recurso. Para entender a causa raiz, o usuário pode ler a mensagem de erro mais longa no |