Migrar repositório de dados para o SPBM

Neste documento, mostramos como migrar um repositório de dados do vSphere para o Gerenciamento baseado em política de armazenamento (SPBM, na sigla em inglês).

Contexto

Há quatro lugares em que é possível especificar um repositório de dados nos arquivos de configuração do cluster:

A herança desses campos é a seguinte:

adminCluster.vCenter.datastore ->
  userCluster.vCenter.datastore ->
    (userCluster.masterNode.vsphere.datastore and userCluster.nodePools[i].vsphere.datastore

Por exemplo:

  • Se userCluster.vCenter.datastore estiver vazio, ele herdará o valor de adminCluster.vCenter.datastore.

  • Se userCluster.nodePools[i].vsphere.datastore estiver vazio, ele vai herdar o valor de userCluster.vCenter.datastore.

Da mesma forma, há quatro locais para especificar uma política de armazenamento:

A herança dos campos storagePolicyName é a mesma dos campos datastore.

Antes de começar

Essa migração é unidirecional. Não é possível voltar para o estado anterior.

Executar uma migração para um cluster de usuário

  1. Veja a configuração atual do cluster:

    gkectl get-config cluster --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
        --cluster-name USER_CLUSTER_NAME \
        --output-dir ./gen-files
    

    Substitua:

    • ADMIN_CLUSTER_KUBECONFIG pelo caminho do arquivo kubeconfig do cluster de administrador.

    • USER_CLUSTER_NAME: o nome do cluster do usuário

    No ./gen-files, localize user-cluster.yaml.

    Para mais informações sobre como conseguir o arquivo de configuração, consulte Gerar arquivos de configuração de um cluster.

  2. Para executar uma migração para um dos campos do armazenamento de dados:

    1. Defina o campo datastore como a string vazia.
    2. Especifique um valor para storagePolicyName.
    3. Execute gkectl update.

    Confira um exemplo de como realizar uma migração para masterNode.vsphere.datastore:

    Ajuste o user-cluster.yaml gerado recentemente:

    masterNode.vsphere.datastore=""
    masterNode.vsphere.masterNode.vsphere.storagePolicyName="control-plane-storage-policy"
    

    Atualize o cluster de usuário:

    gkectl update cluster --kubeconfig ADMIN_CLUSTER_KUBECONFIG --config USER_CLUSTER_CONFIG
    

    Substitua:

    • ADMIN_CLUSTER_KUBECONFIG: o caminho do arquivo kubeconfig do cluster de administrador

    • USER_CLUSTER_CONFIG: o caminho de user-cluster.yaml que você gerou na etapa anterior.

Observações

Se você criar um novo pool de nós após uma migração, ele seguirá as regras de herança de acordo com o cluster atualizado.

Por exemplo, suponha que você tenha migrado vCenter.datastore para uma política de armazenamento.

Agora, se você criar um novo pool de nós e deixar nodePools[i].vsphere.datastore e nodePools[i].vsphere.storagePolicyName vazios, o novo pool de nós herdará a política de armazenamento especificada em vCenter.storagePolicyName.