Este processo permite-lhe expandir os volumes persistentes usados pela base de dados Cassandra do Apigee hybrid para satisfazer maiores necessidades de armazenamento sem ter de criar novos nós apenas para fornecer mais armazenamento.
Vista geral
O componente cassandra
híbrido do Apigee usa volumes persistentes
para armazenar dados. O tamanho do volume persistente é definido durante a instalação e a configuração inicial. Este tamanho de armazenamento inicial é um valor imutável e não pode ser alterado. Por conseguinte, qualquer novo nó adicionado ao cluster usa o mesmo tamanho do volume persistente.
É possível aumentar o tamanho do volume persistente existente fazendo as alterações diretamente na reivindicação de volume persistente. Os novos nós continuam a usar o tamanho do volume persistente inicial mais pequeno.
Se a sua base de dados híbrida do Cassandra estiver a aproximar-se da capacidade de armazenamento, pode usar este procedimento para expandir os volumes persistentes existentes e permitir que os novos nós também expandam os respetivos volumes persistentes.
Expanda os volumes persistentes do Cassandra
- Atualize o tamanho do volume para o tamanho pretendido:
kubectl -n APIGEE_NAMESPACE edit pvc
- Verifique a capacidade de volume atualizada:
kubectl get pvc -n APIGEE_NAMESPACE
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE cassandra-data-apigee-cassandra-default-0 Bound pvc-92234ba7-941b-4dab-82c6-8a5288a2c8d4 500Gi RWO standard 21m cassandra-data-apigee-cassandra-default-1 Bound pvc-6be911fc-91f7-465d-a02e-933428ee10b2 500Gi RWO standard 20m cassandra-data-apigee-cassandra-default-2 Bound pvc-14ba34e4-fd5c-4d59-8413-a331dcad3404 500Gi RWO standard 19m
- Faça uma cópia de segurança, elimine e recrie o conjunto com estado com o novo tamanho de armazenamento. Os seguintes comandos
criam um ficheiro de configuração
apigee-cassandra-default.yaml
que pode usar para capturar a configuração atual do Cassandra. Em seguida, modifique e aplique esta configuração:kubectl -n APIGEE_NAMESPACE get sts apigee-cassandra-default -o yaml > apigee-cassandra-default.yaml
kubectl -n APIGEE_NAMESPACE delete sts --cascade=orphan apigee-cassandra-default
- Verifique se a operação
delete
está concluída:kubectl get sts -n APIGEE_NAMESPACE
O resultado deve ter o seguinte aspeto:
No resources found in apigee namespace.
- Atualize o tamanho do armazenamento no ficheiro
apigee-cassandra-default.yaml
com o novo tamanho do armazenamento. Este valor tem de corresponder ao tamanho que pretende aplicar no seuoverrides.yaml
. Por exemplo:resources: requests: storage: 500Gi
- Volte a aplicar a configuração do StatefulSet com o tamanho de armazenamento atualizado:
kubectl apply -f apigee-cassandra-default.yaml
- Verifique se o StatefulSet foi recriado corretamente:
kubectl get sts -n APIGEE_NAMESPACE
O resultado deve ter um aspeto semelhante ao seguinte:
NAME READY AGE apigee-cassandra-default 3/3 6m56s
- Atualize o ficheiro de substituições com o novo tamanho do volume que especificou quando editou o pvc:
cassandra: storage: storageSize: 500Gi
- Aplique a configuração atualizada ao cluster:
helm upgrade datastore apigee-datastore/ \ --namespace APIGEE_NAMESPACE \ --atomic \ -f OVERRIDES_FILE.yaml
- Verifique se o STS recém-criado tem o tamanho de armazenamento atualizado:
kubectl get sts -n APIGEE_NAMESPACE apigee-cassandra -o yaml |grep storage
storage: 500Gi
-
Verifique se o volume de dados dos auriculares C* foi atualizado com o novo tamanho:
kubectl exec -n APIGEE_NAMESPACE -it apigee-cassandra-default-0 -- df -h|grep "/opt/apigee/data"
/dev/sdb 99G 69M 99G 1% /opt/apigee/data
Consulte cassandra.storage.capacity
para ver mais detalhes.