Erros ao instalar o Kf
Erro do servidor (solicitação inválida): caractere inválido
Se esse erro aparecer quando você definir padrões de configuração, é provável que o valor da variável de ambiente ${DOMAIN} usada no comando inclua um "$" de escape. Use aspas simples para definir um domínio com um nome de Space ou outra substituição:
Error from server (BadRequest): invalid character '$' in string escape code
Erros em objetos do Kf Kubernetes
Siga estas instruções para resolver problemas em objetos do Kubernetes Kf.
Para encontrar nome do tipo de recurso do Kubernetes que você quer solucionar, liste todos os recursos do Kubernetes:
kubectl api-resources --api-group=kf.devExemplo de saída:
NAME SHORTNAMES APIGROUP NAMESPACED KIND apps kf.dev true App builds kf.dev true Build clusterservicebrokers kf.dev false ClusterServiceBroker routes kf.dev true Route servicebrokers kf.dev true ServiceBroker serviceinstancebindings kf.dev true ServiceInstanceBinding serviceinstances kf.dev true ServiceInstance spaces kf.dev false SpaceReceba a instância do recurso que você quer solucionar usando
kubectl. Se o objeto não estiver em um namespace, omita a flag-n:kubectl get api-resource-name.kf.dev object-name -n space-name -o yamlExemplo:
kubectl get apps.kf.dev my-app -n my-space -o yamlEscolha seu problema nas guias abaixo:
O objeto não está fazendo reconciliação
- Verifique o valor de
metadata.generation. Esse número é incrementado sempre que o objeto é atualizado. Quando esse número é muito alto, é provável que dois controladores do Kubernetes estejam competindo pelo objeto. Confira o cluster para ver se alguma política está aplicada ao objeto, o que pode mudar o estado pretendido. - Verifique se o namespace do objeto está sendo excluído. Se estiver, talvez o objeto não seja reconciliado.
- Verifique se o campo
status.observedGenerationexiste. Caso contrário, talvez o controlador ainda não tenha sido executado no objeto. Confira se o cluster e os controladores estão íntegros usandokf doctor. - Verifique se o campo
metadata.generationcorresponde ao campostatus.observedGeneration. Caso contrário, confirme se o cluster e os controladores estão íntegros usandokf doctor. - Para ver se há falhas na lista de
status.conditions, consulte esta lista de motivos comuns de erro:
NotOwned: já existe outro recurso no mesmo cluster ou namespace que o objeto está tentando criar. Leia a mensagem para encontrar o nome duplicado e renomear o recurso conflitante ou o objeto do Kf.TemplateError: há uma configuração incorreta na especificação do recurso do Kf ou na configuração do Kf que faz o recurso filho ser reconciliado incorretamente. Valide as configurações do objeto e do Space do Kf.CacheOutdated: o controlador do Kf não está recebendo atualizações do Kubernetes rápido o suficiente. Verifique a integridade do cluster do Kubernetes.ReconciliationError: o controlador do Kf não pode criar o recurso filho necessário. Verifique se o cluster é íntegro, se o Kf está em execução e se não há políticas aplicadas que impeçam o Kf de criar o objeto referenciado na mensagem.
O objeto não está sendo excluído
- Veja se o
metadata.deletionTimestampdo objeto foi definido. Em caso negativo, a exclusão solicitada não funcionou. - Verifique se o
metadata.deletionTimestampdo objeto está no passado. Se estiver no futuro, talvez o objeto não seja excluído. - Confira se existe uma lista
metadata.finalizersno objeto. Se houver finalizadores, o objeto terá aguardar a remoção deles antes de ser excluído. Se você quiser forçar uma exclusão sem esperar os finalizadores, edite o objeto para removê-los. - É possível que haja objetos filhos impedindo a exclusão do projeto. Peça a um admin para verificar todos os objetos no namespace e no cluster e ver se um deles precisa ser excluído manualmente primeiro.
- Verifique o valor de