Sintoma
O processo de instalação do Apigee hybrid falha devido a espaço em disco insuficiente para a base de dados Cassandra. O processo de instalação falha com a seguinte mensagem de erro:
Error: UPGRADE FAILED: cannot patch "default" with kind ApigeeDatastore: Internal error occurred
Além disso, o registo do Cassandra contém um aviso semelhante ao seguinte:
WARN [main] 2024-06-18 12:34:55,583 DatabaseDescriptor.java:579 - Only 62.440GiB free across all data volumes. Consider adding more capacity to your cluster or removing obsolete snapshots
Passos de diagnóstico comuns
Use o script Apigee hybrid must-gather para recolher os registos dos pods do Cassandra para revisão.
Causa possível
Causa | Descrição |
---|---|
Sem espaço em disco | O espaço em disco disponível para o Cassandra é inferior a 50%. |
Causa 1: não tem espaço em disco
Quando atualizar o Apigee hybrid, certifique-se de que tem mais de 50% de espaço em disco disponível para todos os pods do Cassandra.
Diagnóstico
-
A partir do script Apigee hybrid must-gather, examine o resultado do seguinte comando para verificar o tamanho total do volume associado ao Cassandra:
kubectl get pv -n APIGEE_NAMESPACE
Exemplo de saída
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS VOLUMEATTRIBUTESCLASS REASON AGE pvc-0b6b2daa-d512-4780-9021-fc97293a8154 10Gi RWO Delete Bound apigee/cassandra-data-apigee-cassandra-default-1 standard-rwo <unset> - 20d pvc-2263fc7c-e057-406a-ad60-38573733c92d 10Gi RWO Delete Bound apigee/cassandra-data-apigee-cassandra-default-2 standard-rwo <unset> - 20d pvc-8c854fe9-adaa-440f-90d9-d15497e7f530 10Gi RWO Delete Bound apigee/cassandra-data-apigee-cassandra-default-0 standard-rwo <unset> - 20d
-
Verifique o resultado do estado
nodetool
para ver o disco usado por cada pod do Cassandra. A utilização do espaço em disco para Persistent Volume Claims (PVCs) atribuídos a pods do Cassandra não deve exceder 50% da capacidade de armazenamento disponível. Consulte o seguinte comando:kubectl -n APIGEE_NAMESPACE -c apigee-cassandra exec apigee-cassandra-default-1 -- bash -c 'nodetool -u cassandra -pw $CASS_PASSWORD status'
Onde CASS_PASSWORD é o
cassandra.auth.default.password
, conforme mencionado na referência da propriedade de configuração.Exemplo de saída
Datacenter: us-west3 ======================== Status=Up/Down |/ State=Normal/Leaving/Joining/Moving -- Address Load Tokens Owns (effective) Host ID Rack UN 10.10.10.1 6.69 GiB 256 100.0% 2a184030-444-4155-8375-156e87539711 a UN 10.10.10.2 7.42 GiB 256 53.1% f22b66c7-4444-4000-b9c0-5a71ee6315a8 c UJ 10.10.10.3 7.39 GiB 256 ? 78fb2737-4444-4468-a786-e473ead115b5 b UN 10.10.10.4 7.81 GiB 256 47.0% 779fcdf1-4444-4186-bcbb-2844e59629c2 b UN 10.10.10.5 6.91 GiB 256 53.0% 55ca07b2-4444-4967-b321-6477d50f9846 b UN 10.10.10.6 7.41 GiB 256 46.9% 0cf33585-444-46ce-811f-9c6376ed58ac c
(Opcional) Use
kubectl
para executar um comando no contentor do Cassandra para verificar a percentagem de utilização do disco.kubectl exec -it apigee-cassandra-default-0 -n apigee – df -h /opt/apigee/data
kubectl exec -it apigee-cassandra-default-1 -n apigee – df -h /opt/apigee/data
kubectl exec -it apigee-cassandra-default-2 -n apigee – df -h /opt/apigee/data
Exemplo
O exemplo seguinte mostra onde a utilização do espaço em disco é superior a 50%. Isto causaria problemas para as atualizações do Apigee Hybrid.
kubectl exec -it apigee-cassandra-default-0 -n apigee -- df -h /opt/apigee/data
Defaulted container "apigee-cassandra" out of: apigee-cassandra, apigee-cassandra-ulimit-init (init) Filesystem Size Used Avail Use% Mounted on /dev/sdb 10G 6G 4G 60% /opt/apigee/data
kubectl exec -it apigee-cassandra-default-1 -n apigee -- df -h /opt/apigee/data
Defaulted container "apigee-cassandra" out of: apigee-cassandra, apigee-cassandra-ulimit-init (init) Filesystem Size Used Avail Use% Mounted on /dev/sdb 10G 5.9G 4.1G 59% /opt/apigee/data
kubectl exec -it apigee-cassandra-default-2 -n apigee -- df -h /opt/apigee/data
Defaulted container "apigee-cassandra" out of: apigee-cassandra, apigee-cassandra-ulimit-init (init) Filesystem Size Used Avail Use% Mounted on /dev/sdb 10G 5.6G 4.4G 56% /opt/apigee/data
Resolução
Se verificar que a utilização do disco está acima de 50%, ajuste a capacidade do disco do Cassandra para garantir que está abaixo de 50% antes de fazer uma atualização do Apigee Hybrid.
Para expandir a capacidade do disco, consulte o artigo Faça a gestão do tamanho do armazenamento persistente do Cassandra.
Tem de recolher informações de diagnóstico
Se o problema persistir mesmo depois de seguir as instruções acima, recolha as seguintes informações de diagnóstico e, em seguida, contacte o apoio ao cliente do Google Cloud:- O ID do seu projeto do Google Cloud.
- A sua organização do Apigee Hybrid.
- Os ficheiros
overrides.yaml
das regiões de origem e novas (lembre-se de ocultar informações confidenciais). - Os resultados dos comandos em Apigee hybrid must-gather.