Falhas ao instalar o Kf
Erro do servidor (pedido incorreto): carater inválido
Se vir este erro ao definir as predefinições de configuração, é provável que o valor da variável de ambiente ${DOMAIN}
usada no comando inclua um "$" com carateres 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 Kubernetes do Kf
Siga estas instruções para resolver problemas com objetos do Kf Kubernetes.
Encontre o nome do tipo de recurso do Kubernetes que quer resolver problemas ao listar todos os recursos do Kf:
kubectl api-resources --api-group=kf.dev
Exemplo 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 Space
Obtenha a instância do recurso para o qual quer resolver problemas através de
kubectl
. Se o objeto não estiver num espaço de nomes, omita a flag-n
:kubectl get api-resource-name.kf.dev object-name -n space-name -o yaml
Por exemplo:
kubectl get apps.kf.dev my-app -n my-space -o yaml
Selecione o seu problema nos separadores abaixo:
O objeto não está a ser reconciliado
- Verifique o valor de
metadata.generation
. Este número é incrementado sempre que o objeto é atualizado. Se o número for extremamente elevado, é provável que dois controladores do Kubernetes estejam a competir pelo objeto. Verifique o cluster para ver se estão a ser aplicadas políticas ao objeto que podem estar a alterá-lo em relação ao estado pretendido. - Verifique se o espaço de nomes ao qual o objeto pertence está a ser eliminado. Se for o caso, o objeto pode não ser reconciliado.
- Verifique se o campo
status.observedGeneration
existe. Se não o fizer, o controlador pode ainda não ter sido executado no objeto. Valide se o cluster e os controladores estão em bom estado com o comandokf doctor
. - Verifique se o campo
metadata.generation
corresponde ao campostatus.observedGeneration
. Se não for o caso, valide se o cluster e os controladores estão em bom estado com o comandokf doctor
. - Verifique se existem falhas na lista
status.conditions
em comparação com esta lista de motivos de erro comuns:
NotOwned
: existe outro recurso no cluster ou no espaço de nomes que este objeto está a tentar criar. Leia a mensagem para encontrar o nome duplicado e mude o nome do recurso em conflito ou do objeto Kf.TemplateError
: existe uma configuração incorreta na especificação do recurso Kf ou na configuração do Kf que faz com que o recurso secundário seja reconciliado incorretamente. Valide as definições do objeto Kf e do espaço Kf.CacheOutdated
: O controlador do Kf não está a receber atualizações do Kubernetes com a rapidez suficiente. Verifique o estado do cluster do Kubernetes.ReconciliationError
: O controlador Kf não consegue criar o recurso secundário necessário. Verifique se o cluster está em bom estado, se o Kf está em execução e se não existem políticas a serem aplicadas que impeçam o Kf de criar o objeto referenciado na mensagem.
O objeto não está a ser eliminado
- Verifique se o
metadata.deletionTimestamp
do objeto foi definido. Se não tiver sido definido, a eliminação pedida não funcionou. - Verifique se o
metadata.deletionTimestamp
do objeto é anterior. Se for no futuro, o objeto pode não ser eliminado. - Verifique se existe uma lista
metadata.finalizers
no objeto. Se existirem finalizadores, o objeto tem de aguardar que sejam removidos antes de ser eliminado. Se quiser forçar uma eliminação sem esperar pelos finalizadores, edite o objeto para os remover. - Podem existir objetos subordinados que impedem a eliminação do objeto. Peça a um administrador para verificar todos os objetos no espaço de nomes e no cluster para ver se um deles tem de ser eliminado manualmente primeiro.
- Verifique o valor de