Esse processo permite expandir os volumes permanentes usados pelo banco de dados híbrido do Cassandra da Apigee para acomodar maiores necessidades de armazenamento sem precisar criar novos nós apenas para fornecer mais armazenamento.
Visão geral
O componente cassandra
híbrido da Apigee usa volumes permanentes para armazenar dados. O tamanho do volume permanente é definido durante a instalação e a configuração inicial. Esse tamanho de armazenamento inicial é um valor imutável e não pode ser alterado. Portanto, qualquer novo nó adicionado ao cluster usará o mesmo tamanho de volume permanente.
É possível aumentar o tamanho do volume permanente existente fazendo alterações diretamente na reivindicação de volume permanente, mas novos nós ainda usarão o tamanho de volume permanente inicial menor.
Se seu banco de dados híbrido do Cassandra estiver próximo à capacidade de armazenamento, use este procedimento para expandir os volumes permanentes existentes e permitir que novos nós também expandam os respectivos volumes permanentes.
Expandir volumes permanentes do Cassandra
- Atualize o tamanho do volume para o tamanho desejado:
kubectl -n apigee edit pvc
- Verifique a capacidade de volume atualizada:
kubectl get pvc -n apigee
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE cassandra-data-apigee-cassandra-default-0 Bound pvc-92234ba7-941b-4dab-82c6-8a5288a2c8d4 100Gi RWO standard 21m cassandra-data-apigee-cassandra-default-1 Bound pvc-6be911fc-91f7-465d-a02e-933428ee10b2 100Gi RWO standard 20m cassandra-data-apigee-cassandra-default-2 Bound pvc-14ba34e4-fd5c-4d59-8413-a331dcad3404 100Gi RWO standard 19m
- Defina réplicas como
0
para implantaçõesapigee-controller-manager
no namespaceapigee-system
:kubectl get deployments -n apigee-system
NAME READY UP-TO-DATE AVAILABLE AGE apigee-controller-manager 1/1 1 1 28m
kubectl edit deployments -n apigee-system apigee-controller-manager
kubectl get deployments -n apigee-system
NAME READY UP-TO-DATE AVAILABLE AGE apigee-controller-manager 0/0 0 0 30m
- Excluir o STS sem a exclusão em cascata:
kubectl -n apigee delete sts --cascade=false apigee-cassandra
kubectl get sts -n apigee
No resources found in apigee namespace.
- Atualize o arquivo de substituições com o novo tamanho do volume especificado quando você editou o pvc:
cassandra: storage: capacity: 100Gi
- Aplique a configuração atualizada ao cluster:
../apigeectl apply --datastore -f overrides/overrides.yaml
Parsing file: config/values.yaml Parsing file: overrides/overrides.yaml cleansing older AD's (v1alpha1) istio resources... Invoking "kubectl apply" with YAML config... apigeedatastore.apigee.cloud.google.com/apigee-cassandra unchanged
- Atualize as réplicas de implantação do controlador para o estado anterior (
`1`
):kubectl edit deployments -n apigee-system apigee-controller-manager
- Verifique se as variáveis recém-criadas têm o tamanho do armazenamento atualizado:
kubectl get sts -n apigee apigee-cassandra -o yaml |grep storage
storage: 100Gi
-
Verifique se o volume de dados dos pods C* foi atualizado com o novo tamanho:
kubectl exec -n apigee -it apigee-cassandra-default-0 -- df -h|grep "/opt/apigee/data"
/dev/sdb 99G 69M 99G 1% /opt/apigee/data