Falhas ao instalar o Kf
Erro do servidor (solicitação inválida): caractere inválido
Se você vir esse erro ao 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 espaço ou outra substituição:
Error from server (BadRequest): invalid character '$' in string escape code
Erros com objetos do Kubernetes Kf.
Siga estas instruções para solucionar problemas em objetos do Kubernetes Kf.
Encontre o nome do tipo de recurso que você quer solucionar listando 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 yamlSelecione 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 é extremamente alto, é provável que dois controladores do Kubernetes estejam lutando pelo objeto. Verifique o cluster para conferir se alguma política está sendo aplicada ao objeto, o que pode alterar o estado pretendido. - Verifique se o namespace do objeto está sendo excluído. Se estiver, o objeto poderá não ser reconciliado.
- Verifique se o campo
status.observedGenerationexiste. Caso contrário, o controlador pode não ter sido executado no objeto ainda. 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. Verifique se há falhas na lista
status.conditionscom base nestes motivos comuns de erro:NotOwned: há outro recurso no cluster ou no namespace semelhante ao que esse objeto está tentando criar. Leia a mensagem para encontrar o nome duplicado e renomear o recurso conflitante ou o objeto Kf.TemplateError: há uma configuração errada na especificação do recurso Kf ou na configuração do Kf que faz com que o recurso filho seja reconciliado incorretamente. Valide as configurações do objeto Kf e do espaço Kf.CacheOutdated: o controlador Kf não está recebendo atualizações do Kubernetes rápido o suficiente. Verifique a integridade do cluster do Kubernetes.ReconciliationError: o controlador Kf não pode criar o recurso filho necessário. Verifique se o cluster está íntegro, se o Kf está em execução e se políticas aplicadas estão impedindo o Kf de criar o objeto referenciado na mensagem.
O objeto não está excluindo
- Verifique se o
metadata.deletionTimestampdo objeto foi definido. Se não foi definido, a exclusão solicitada não funcionou. - Verifique se o
metadata.deletionTimestampdo objeto está no passado. Se ele está no futuro, o objeto poderá não ser excluído. - Verifique se existe uma lista
metadata.finalizersno objeto. Se houver finalizadores, eles precisam ser removidos antes de o objeto ser excluído. Para forçar uma exclusão sem esperar os finalizadores, edite o objeto para removê-los. - É possível que objetos filhos estejam impedindo que o objeto seja excluído. Peça a um administrador para verificar todos os objetos do namespace e do cluster e conferir se um deles precisa ser excluído manualmente primeiro.
- Verifique o valor de