Solução de problemas na instalação dos Watson serviços de fala
É possível usar essas informações de resolução de problemas para diagnosticar e resolver problemas com sua instalação dos serviços Speech. As informações documentam cenários de exemplo de coisas que podem dar errado e como identificar e depurar os problemas de causa raiz.
- Permissões necessárias para essas tarefas:
- É necessário ser um administrador do projeto Red Hat® OpenShift® para gerenciar o cluster.
Tópicos de resolução de problemas
Consulte os cenários a seguir para obter mais informações sobre como resolver os diferentes problemas:
- Os pods de tempo de execução do Watson Speech e os pods de upload de modelo/voz estão presos no estado Init.
- Falha na instalação dos serviços Watson de fala
- O pod do operador do Watson Speech falha ao iniciar
- Alguns pods estão no estado pendente
- O operador Watson Speech está em execução, mas nenhum microsserviço está instalado.
- As tarefas para extrair modelos do Speech to Text estão demorando para serem concluídas
- Os initContainers dos serviços Speech estão em execução há muito tempo
- O log do operador do Watson Speech indica que o segredo TLS não foi criado a tempo
- Nenhum status é relatado para o serviço Watson Speech
- Alguns serviços Speech não estão em execução
- O treinamento de modelos acústicos customizados está falhando
- PostgreSQL Pods presos no estado Terminating durante a atualização
- A atualização para a versão dos Watson 4.8 serviços de fala e posteriores não é concluída
${PROJECT_CPD_INST_OPERATORS} é o nome do projeto (namespace) no qual o operador Watson Speech está implantado e ${PROJECT_CPD_INST_OPERANDS} é o nome do projeto (namespace) no qual os serviços Speech estão instalados.Os pods de tempo de execução do Watson Speech e os pods de upload de modelo/voz estão presos no estado Init
O Multicloud Object Gateway deve ser instalado como pré-requisito do serviço Watson Speech. Se o pod Speech to Text de tempo de execução e o pod de upload de modelo (ou o pod Text to Speech de tempo de execução e o pod de upload de voz) estiverem presos no Init estado, o Multicloud Object Gateway pode não estar instalado ou configurado corretamente. Para confirmar, execute o seguinte comando:
oc describe pod runtime-pod-name -n ${PROJECT_CPD_INST_OPERANDS}
Se a saída contiver a seguinte mensagem de aviso, o armazenamento de dados do Multicloud Object Gateway não foi instalado ou configurado corretamente.
Warning FailedMount 101s (x10 over 5m51s) kubelet MountVolume.SetUp failed for volume "minio-account" : secret "noobaa-account-watson-speech" not found
- Para obter instruções sobre como instalar o Multicloud Object Gateway, consulte Instalação e configuração Multicloud Object Gateway para IBM® Software Hub
- Para configurar segredos para o serviço Watson Speech após Multicloud Object Gateway a instalação, consulte Criando segredos para serviços que usam Multicloud Object Gateway
Depois que o Multicloud Object Gateway estiver instalado e o segredo do Watson serviço Speech estiver configurado, o serviço poderá se conectar ao Multicloud Object Gateway e a instalação continuará.
O pod do operador do Watson Speech falha ao iniciar
O pod do operador do Watson Speech falha ao iniciar.
Saiba o nome do pod do operador:
oc get pods -l app.kubernetes.io/name=watson-speech -n ${PROJECT_CPD_INST_OPERATORS}Use o comando a seguir para saber mais sobre a natureza do problema. No comando, pod-name é o nome do pod cujo status você deseja saber.
oc describe pod-name -n ${PROJECT_CPD_INST_OPERATORS}É possível enviar os arquivos de log do pod para o suporte IBM para obter ajuda adicional.
Alguns pods estão no estado pendente
Alguns pods de serviços do Speech estão travados no status Pending.
Use o comando a seguir para saber mais sobre a natureza do problema. No comando, nome-do-pod é o nome de um pod cujo status é
Pending.oc describe pod-name -n ${PROJECT_CPD_INST_OPERANDS}
Seguem algumas possíveis causas do problema:
Recursos insuficientes (memória e CPU) estão disponíveis para o pod.
O pod não consegue extrair a imagem ou imagens do contêiner.
Falha na instalação dos serviços Watson de fala
A instalação dos serviços Watson de fala retorna uma mensagem de erro com o seguinte formato:
TASK [utils : applying CR <speech-cr> for Watson Speech to Text] ********************************************
Tuesday 1 November 2022 17:44:48 +0000 (0:00:02.140) 0:01:08.881 ****** fatal: [localhost]: FAILED! =>
{"changed": false, "error": 422, "msg": "Failed to create object: b'{\"kind\":\"Status\",\"apiVersion\":\"v1\",\"metadata\":{},
\"status\":\"Failure\",\"message\":\"WatsonSpeech.speech.watson.ibm.com \\\\\"<speech-cr>\\\\\" is invalid: spec.tags:
Required value\",\"reason\":\"Invalid\",\"details\":{\"name\":\"<speech-cr>",\"group\":\"speech.watson.ibm.com\",\"kind
\":\"WatsonSpeech\",\"causes\":[{\"reason\":\"FieldValueRequired\",\"message\":\"Required value\",\"field\":\"spec.tags\"}]},
\"code\":422}\\n'", "reason": "Unprocessable Entity", "status": 422}
Esta mensagem indica que todos os microsserviços de fala foram definidos como false durante a instalação inicial dos serviços de fala com a param-file opção. Você deve definir pelo menos um dos microsserviços como true para que a instalação seja bem-sucedida. Para obter mais informações, consulte Especificando opções de instalação.
O operador Watson Speech está em execução, mas nenhum microsserviço está instalado
O operador Watson Speech está em execução, mas nenhum dos microsserviços Speech está sendo instalado.
Use o comando a seguir para verificar se você criou o recurso customizado de serviços do Speech no namespace desejado:
oc get WatsonSpeech -n ${PROJECT_CPD_INST_OPERANDS}Se o comando não retornar nenhuma informação em sua saída, talvez seja necessário criar o recurso customizado. Para obter mais informações, consulte Instalação dos serviços Watson de fala.
Se o recurso personalizado existir, verifique os logs do operador para determinar por que os microsserviços não estão sendo instalados.
As tarefas para extrair modelos do Speech to Text estão demorando para serem concluídas
Trabalhos com nomes como <custom-resource-name>-stt-models-string buscam as imagens dos Speech to Text modelos e Docker as carregam no armazenamento de dados do Multicloud Object Gateway. O recurso customizado executa uma tarefa por modelo ativado.
Os modelos do Speech to Text são grandes. Em alguns casos, essas tarefas podem levar de 20 a 25 minutos para serem concluídas. Se você está preocupado com o tempo que leva para baixar e enviar as imagens.
Os initContainers dos serviços Speech estão em execução há muito tempo
Um initContainer é um contêiner especial que é executado para um pod. Todos os initContainers de um pod devem estar concluídos antes que a pod possa iniciar seu contêiner regular.
Os Speech to Text tempos Text to Speech de execução usam um initContainer para aguardar que o armazenamento de dados do Multicloud Object Gateway esteja em execução e que todos os modelos e vozes instalados sejam carregados. O initContainer tempo de execução de qualquer um dos microsserviços pode durar até 30 minutos, especialmente no caso de uma instalação online, enquanto ele extrai as imagens do IBM registro. Se o initContainer para qualquer um dos microsserviços de tempo de execução continuar em execução por mais de 30 minutos, use o comando apropriado para verificar seu arquivo de log:
Para o serviço Speech to Text, execute o comando a seguir para verificar o status dos modelos do serviço:
oc logs -f runtime-pod-name -c wait4models -n ${PROJECT_CPD_INST_OPERANDS}Para o serviço Text to Speech, execute o comando a seguir para verificar o status das vozes do serviço:
oc logs -f runtime-pod-name -c wait4voices -n ${PROJECT_CPD_INST_OPERANDS}
Em ambos os comandos, runtime-pod-name especifica o nome do pod para o tempo de execução do Speech to Text ou do Text to Speech. Por exemplo, o nome é algo como speech-cr-stt-runtime-85957944ff-wrzl4 runtime Speech to Text ou runtime speech-cr-tts-runtime-858bd6f96f-g7dcwText to Speech.
Os possíveis motivos para que o initContainer seja executado por um longo tempo incluem o seguinte:
O pod de tempo de execução não consegue se conectar ao Multicloud Object Gateway, que pode estar em processo de inicialização ou pode ter ocorrido um erro. Aguarde até que o Multicloud Object Gateway seja iniciado ou verifique seus arquivos de log.
O Multicloud Object Gateway pode estar aguardando a instalação de todos os modelos e vozes necessários. Espere até que todos os modelos e as vozes sejam transferidos por upload. É possível usar o seguinte comando para verificar o status das tarefas que estão fazendo upload dos modelos e das vozes:
oc get jobs -l 'app.kubernetes.io/component in (stt-models,tts-voices)' -n ${PROJECT_CPD_INST_OPERANDS}É possível verificar os arquivos de log dos pods para determinar se ocorreu uma falha. Caso contrário, aguarde a operação de upload de tarefas ser concluída.
O log do operador do Watson Speech indica que o segredo TLS não foi criado a tempo
O operador Watson Speech usa o gerenciador de certificados dos serviços básicos para criar um nome secreto que pode ser usado como um certificado TLS pelos microsserviços dos serviços Speech. O seguinte erro no log do operador Watson de fala pode indicar que os microsserviços dos serviços fundamentais não estão configurados corretamente. Na mensagem, <custom-resource-name> é o nome do recurso personalizado dos serviços de fala.
Secret: <custom-resource-name>-instance-tls did not get created in time.
Se esse erro ocorrer, entre em contato com IBM o Suporte para obter ajuda.
Nenhum status é relatado para o serviço Watson Speech
O comando a seguir falha ao relatar qualquer status para o serviço Watson Speech (a resposta está vazia):
oc get WatsonSpeech ${CUSTOM_RESOURCE_SPEECH} -n ${PROJECT_CPD_INST_OPERANDS}
Para determinar a causa deste problema, faça o seguinte:
Use o comando a seguir para determinar se o pod do operador do Watson Speech está em execução:
oc get pods -n ${PROJECT_CPD_INST_OPERANDS}O operador deve estar em execução para que o comando
oc get WatsonSpeechrelate seu status. Se o status do pod do operador indicar que ele ainda está em processo de inicialização, espere até que a execução do operador seja iniciada. O operador pode levar de 20 a 60 minutos para criar ou aplicar mudanças em seu recurso customizado.Verifique o arquivo de log do pod do operador do Watson Speech e verifique se há erros ou problemas.
Alguns serviços Speech não estão em execução
O comando a seguir relata o status de alguns serviços Speech como NotRunning:
oc get WatsonSpeech ${CUSTOM_RESOURCE_SPEECH} -n ${PROJECT_CPD_INST_OPERANDS}
Um status de NotRunning pode indicar que o processo ainda está inicializando. Pode levar de 20 a 60 minutos para que o operador seja concluído e o serviço comece a ser executado.
O treinamento de modelos acústicos customizados está falhando
Quando você tenta treinar modelos acústicos customizados para Speech to Text, o serviço relata as seguintes mensagens de erro:
Unresponsive backend detected. Please try later.
Esta mensagem indica que o Speech to Text AM Patcher não tem recursos suficientes para atender suas solicitações. Para aumentar o número de CPUs que estão disponíveis para o Patcher AM, use a propriedade de recurso customizado denominada sttAMPatcher.resources.requestsCPU para aumentar o valor da propriedade de 1 para 5.
Alocar mais recursos previne esse erro e possibilita que os modelos acústicos customizados sejam treinados conforme o esperado. Aumentar o valor da propriedade aumenta o tamanho da implementação.
PostgreSQL Pods presos no estado de encerramento durante a atualização
Ao atualizar os serviços Watson de fala, você pode encontrar um problema em que os PostgreSQL pods ficam presos no Terminating estado. Se esse problema ocorrer durante a atualização, execute as seguintes etapas para resolvê-lo.
Use o seguinte comando para identificar os pods que permanecem no estado
Terminating:oc get pods -n ${PROJECT_CPD_INST_OPERANDS} -o wide | awk {'print $1'}Use o seguinte comando para definir a variável de ambiente
podspara incluir a lista de pods que permanecem noTerminatingestado:pods=$(oc get pods -n ${PROJECT_CPD_INST_OPERANDS} -o wide | grep Terminating | awk {'print $1'})Use o seguinte comando para excluir os pods travados, para que o processo de atualização possa continuar:
oc delete pod $pods -n ${PROJECT_CPD_INST_OPERANDS} --force=true --grace-period=0
A atualização para a versão dos Watson 4.8 serviços de fala e posteriores não é concluída
Ao atualizar para a versão dos Watson 4.8 serviços de fala e posteriores, a atualização do recurso MinIO personalizado pode falhar porque a MinIO tarefa de backup ou a tarefa de MinIO criação de PVC não foram excluídas no procedimento de atualização anterior. A solução é excluir os trabalhos de backup e criação de PVC. A atualização prossegue normalmente. Execute as etapas a seguir para resolver o problema.
Para verificar o status do recurso MinIO personalizado, execute o seguinte comando:
oc get MinioCluster ${CUSTOM_RESOURCE_SPEECH} -n ${PROJECT_CPD_INST_OPERANDS}O recurso personalizado com MinIO falha é identificado por uma entrada no seguinte formato:
<custom-resource-name> MinioCluster 8d 4 ReleaseFailed True UpgradeErrorVocê pode executar o seguinte comando para obter informações mais detalhadas sobre a falha:
oc describe MinioCluster ${CUSTOM_RESOURCE_SPEECH} -n ${PROJECT_CPD_INST_OPERANDS}O recurso personalizado retorna uma mensagem de status semelhante à seguinte:
[2:37 PM] - lastTransitionTime: "2023-04-18T11:05:05Z" message: 'failed to upgrade release: pre-upgrade hooks failed: warning: Hook pre-upgrade ibm-minio/templates/minio-createpvc-job.yaml failed: jobs.batch "<custom-resource-name>-ibm-minio-create-pvc" already exists' reason: UpgradeError status: "True" type: ReleaseFailedPara excluir a tarefa de criação de PVC com MinIO falha, execute o seguinte comando:
oc delete job ${CUSTOM_RESOURCE_SPEECH}-ibm-minio-create-pvc --namespace ${PROJECT_CPD_INST_OPERANDS}Para determinar se a MinIO tarefa de backup permanece não excluída, execute o seguinte comando:
oc get job --namespace ${PROJECT_CPD_INST_OPERANDS} | grep ${CUSTOM_RESOURCE_SPEECH}-ibm-minio-backupA MinIO tarefa de backup que não é excluída é identificada por uma entrada no seguinte formato:
<custom-resource-name>-ibm-minio-backup 1/1 3m25s 1dPara excluir a tarefa de backup, execute o seguinte comando:
oc delete job ${CUSTOM_RESOURCE_SPEECH}-ibm-minio-backup --namespace ${PROJECT_CPD_INST_OPERANDS}
Depois de excluir essas tarefas, a atualização continua e é concluída.