O operador autônomo do Couchbase é um operador do Kubernetes que fornece integração nativa da nuvem com o Kubernetes de código aberto e o Red Hat Openshift. Ele permite que um usuário use a funcionalidade declarativa do Kubernetes para definir qual será o cluster do Couchbase Server e gerenciar os atributos desse cluster. Essa funcionalidade declarativa é útil, pois permite armazenar as definições do ambiente no controle de origem.

O objetivo do operador é gerenciar totalmente uma ou mais implantações do Couchbase Server. Ele gerencia o ciclo de vida do cluster (provisionamento, dimensionamento, upgrade, recuperação automática) e a configuração (volumes persistentes, grupos de servidores, XDCR, TLS, RBAC, backup/restauração). O operador é uma ferramenta potente no gerenciamento de um ambiente Couchbase em grande escala e é altamente recomendável que você leia o Documentação do operador do Couchbase.

Cloud-native Automation with Couchbase Documentation

Salvar e restaurar: Como migrar uma topologia não gerenciada

Adicionamos o Salvar e Restaurar recurso no Couchbase Autonomous Operator v2.3. Esse recurso permite que os usuários migrem um não gerenciado Couchbase Cluster e transformá-lo em um gerenciado cluster. Essa funcionalidade permite sondar um cluster do Couchbase criado pelo operador autônomo com topologia de dados não gerenciada e recuperar um arquivo YAML de topologia de dados que corresponda à topologia de dados atual do cluster do Couchbase. Um usuário pode pegar esse arquivo YAML de implantação e aplicá-lo ao cluster existente para bloquear a topologia ou aplicá-lo a um novo ambiente de cluster para migrar o ambiente. 

Os casos de uso desse recurso são inúmeros! Ainda assim, o que vamos enfocar nesta postagem é a migração de um ambiente de uma topologia de dados gerenciada manualmente em um ambiente de R/D rápido/ágil para um ambiente de produção mais estável.

Quer você seja novo no Couchbase ou um profissional experiente, o novo Salvar e restaurar do Couchbase Autonomous Operator simplifica significativamente o seu pipeline de CI/CD. A possibilidade de fazer a transição fácil de um cluster não gerenciado para um cluster gerenciado permite que você continue o desenvolvimento em ritmo acelerado, mantendo o controle dos ambientes no pipeline.

Demonstração de uma migração de esquema de cluster do Couchbase  

Para demonstrar essa funcionalidade, primeiro precisamos criar um cluster de servidor do Couchbase no Kubernetes em um estado não gerenciado. Usaremos este unmanaged.yaml file:

Para criar esse cluster, use o comando: Isso cria um cluster simples não gerenciado com todos os serviços, mas desativa o gerenciamento de bucket e RBAC. Ele também inclui um segredo para acessar o cluster com um nome de usuário de Administrador e uma senha de senha

Para acessar esse cluster, encaminhamos a porta 8091 para que possamos acessar a interface do usuário de administração do servidor Couchbase apenas para acesso rápido ao desenvolvimento. Se quiser acessar a porta de administração regularmente, consulte os documentos sobre a configuração de uma porta de balanceador de carga. 

Para criar esse encaminhamento de porta, use o comando: 

Agora podemos acessar a interface do usuário da Web na porta 8091 usando as credenciais de administrador e, em seguida, criar alguns buckets, escopos e coleções. Neste exemplo, criamos um BlogApp com um escopo para en-US e algumas coleções dentro desse escopo.

Em seguida, adicionamos o escopo para en-US.

Add scope to Couchbase Kubernetes Operator

Por fim, adicionamos o Blogs coleções.

Add collection to Couchbase Autonomous Operator Kubernetes

Agora temos uma estrutura de árvore com a seguinte aparência:

Quando tivermos nossa topologia de dados, poderemos gerar um arquivo YAML usando o cao binário com o comando:

Isso produzirá nosso topology.yaml:

Clonagem de uma topologia de cluster

Com o arquivo de topologia, agora podemos restaurá-lo em outro cluster, clonando a estrutura em um novo ambiente. Para fazer isso, crie um arquivo managed.yaml com esse conteúdo:

Em seguida, criamos o cluster gerenciado usando: Isso é semelhante ao nosso unmanaged.yamlmas, em vez disso, os compartimentos são gerenciado e reutilizamos nosso segredo do cluster não gerenciado. 

Restauração da topologia para o cluster gerenciado

Depois que o cluster for ativado, você poderá usar o cao binário para restaurar a topologia YAML para o cluster gerenciado recém-criado:

Restoring managed cluster topology with YAML file for migration
Por fim, para verificar, criaremos um encaminhamento de porta simples para o novo cluster gerenciado e verificaremos a topologia de dados. Use o seguinte comando para criar o encaminhamento de porta e abra o navegador para http://127.0.0.1:8091.  

Você deve ser saudado com a topologia de dados apropriada.

Confirm schema migration by viewing scopes and collection in Couchbase

Agora que migramos a topologia de dados, talvez queiramos migrar os dados de um ambiente para outro. Eu recomendo usar o Replicação entre centros de dados (XDCR) para facilitar a movimentação de dados de um cluster para outro. Você pode obter mais informações sobre a configuração do XDCR na seção Documentação do Couchbase Operator.

Próximas etapas e recursos

Alguns aspectos que devem ser levados em conta:

    • Salvar não salva as funções/grupos RBAC. Você precisará migrá-los por conta própria.
    • O cao o informará sobre todas as alterações a serem feitas no cluster de destino. Qualquer item marcado como excluir serão excluídos, o que pode resultar em perda de dados.

Esta postagem abordou os seguintes tópicos:

 

Autor

Postado por Justin Ashworth - Engenheiro de software sênior

Deixar uma resposta