OpenShift é uma plataforma como serviço (PaaS) da Red Hat sobre contêineres Docker e Kubernetes. É uma plataforma de aplicativos de contêiner de código aberto da Red Hat baseada em contêineres do Docker e no gerenciador de cluster de contêineres do Kubernetes para desenvolvimento e implantação de aplicativos corporativos.

O Operator do Couchbase também é compatível com o OpenShift. Agora, vamos ver como você pode aumentar e diminuir a escala rapidamente, recuperar-se de falhas ou até mesmo alterar a arquitetura do seu cluster com apenas alguns comandos de linha:

 

Transcrição do vídeo:

Código:

Pré-requisitos

 

Iniciando o Minishift

Para iniciar seu minishift, basta digitar o seguinte comando:

 

Starting Minishift

Depois que ele for iniciado, execute o seguinte comando para adicionar oc em seu Classpath:

 Além disso, você também pode incluir o seguinte complemento para poder acessar seu cluster como administrador:

Agora, para acessar o OpenShift, você pode usar o seguinte comando:

 

Configuração do Minishift

 Há algumas coisas que devem ser criadas antes de começarmos. Vou apenas listar todos os comandos necessários, mas você pode consultar a documentação oficial aqui.

1 - Criar um projeto Openshift

2 - Criar uma nova definição de recurso personalizado e função de cluster

3- Configuração do RBAC para um projeto OpenShift

 

Implantação do operador do Couchbase no OpenShift

 

Agora que já configuramos tudo, vamos implantar o Operator do Couchbase. Como mencionei em um postagem anterior do blogNo caso do Operador, ele é responsável por automatizar parte do trabalho do DBA, como unir um novo nó ao cluster, reequilibrar dados, consolidar registros etc.

Você pode implementar o operador executando o seguinte comando:

Execute o comando abaixo para verificar se a implementação foi executada com êxito:

 

Implantação do Couchbase no OpenShift

 

A implantação do Couchbase no OpenShift é quase igual à implantação do implantando-o no KubernetesVocê só precisa executar o seguinte comando dentro do diretório "kubernetes":

Nosso arquivo yaml contém a especificação do cluster, como o nome do bucket, o número de servidores, serviços etc:

secret.yaml

 

couchbase-cluster.yaml

 

Consulte o documentação oficial para entender a função de cada propriedade.

No arquivo acima, especificamos que queremos 3 nós, o que significa que devemos ter 3 nós executando o Couchbase:

 

Acesso ao seu banco de dados no OpenShift

 

Há muitas maneiras de expor o console da Web ao mundo externo. Neste artigo, vamos simplesmente encaminhar a porta para a máquina local com o seguinte comando:

Agora, você deve conseguir acessar o Console da Web do Couchbase em sua máquina local em http://localhost:8091:

Observe que todos os nós criados já fazem parte de um cluster. Tudo isso foi feito automaticamente pelo Operador do Couchbase.

 

Recuperação de uma falha no nó do banco de dados no OpenShift

 

Vamos eliminar uma de nossas instâncias para ver como o cluster se comporta:

O Couchbase perceberá imediatamente que um nó "desapareceu" e o processo de recuperação será iniciado. Conforme especificamos em couchbase-cluster.yaml que sempre queremos 3 servidores em execução, o Kubernetes iniciará uma nova instância chamado cb-example-0004:

 

Uma vez cb-exemplo-004 está ativo, o operador entra em ação para unir o nó recém-criado ao cluster e, em seguida, aciona o rebalanceamento de dados

 

Dimensionamento do Couchbase no Open Shift

 

Se você acha que aumentar a escala de um banco de dados é difícil, deveria tentar reduzi-la. Felizmente, isso é algo muito simples com o Couchbase e o OpenShift. Tudo o que você precisa é alterar a configuração do cluster:

couchbase-cluster.yaml

Em seguida, execute o seguinte comando para enviar sua alteração para o OpenShift:

No entanto, há um pequeno detalhe aqui, pois não podemos simplesmente eliminar dois nós ao mesmo tempo sem algum risco de perda de dados. Para evitar esse problema, o operador reduz o cluster gradualmente, uma única instância de cada vez, acionando o rebalanceamento para garantir que nenhum dado seja perdido durante o processo:

 

Dimensionamento do Couchbase no OpenShift

 

Vamos aumentar a escala novamente para 3 nós. Como você deve ter adivinhado, tudo o que precisamos fazer é alterar a variável tamanho parâmetro em couchbase-cluster.yaml voltar para 3:

Em seguida, atualizamos nossa configuração executando

Após alguns minutos, você verá que agora temos 3 nós novamente:

 

Escala multidimensional

Você também pode aproveitar o dimensionamento multidimensional especificando os serviços que deseja executar em cada nó:

couchbase-cluster.yaml  

Novamente, precisamos enviar nossas alterações para o OpenShift com o seguinte comando:

 

Nesse cenário, três novos nós serão criados: dois executando dados e índice e um executando pesquisa e consulta de texto completo

 

 

Conectando seu aplicativo ao Couchbase no OpenShift

A implantação de um aplicativo no OpenShift é muito semelhante à implantação no Kubernetes. A principal diferença é que você deve usar o oc em vez de usar kubectl. Este artigo mostra um processo passo a passo de como fazer isso.

 

Se você tiver alguma dúvida, envie-me um tweet para @deniswsrosa ou deixe um comentário abaixo.

 

 

Leia também:

 

 

Autor

Postado por Denis Rosa, defensor dos desenvolvedores, Couchbase

Denis Rosa é um Developer Advocate do Couchbase e mora em Munique, na Alemanha. Ele tem uma sólida experiência como engenheiro de software e fala fluentemente Java, Python, Scala e Javascript. Denis gosta de escrever sobre pesquisa, Big Data, IA, microsserviços e tudo o mais que possa ajudar os desenvolvedores a criar um aplicativo bonito, mais rápido, estável e escalável.

3 Comentários

  1. Blog muito bem escrito! É bom mostrar como aumentar/diminuir a escala, mostrar a capacidade multidimensional, tudo no mesmo blog.

    1. Denis Rosa, defensor dos desenvolvedores, Couchbase junho 18, 2018 em 10:09 am

      Muito obrigado! Se tiver alguma dúvida, fique à vontade para perguntar.

  2. Oi Denis

    Obrigado por esse artigo, ele parece fantástico, mas parece que o link não funciona mais, ou seja https://packages.couchbase.com/kubernetes/0.8.1-beta2/openshift/crd.yaml

    Você pode me indicar onde eles moram agora?

    Muito obrigado, Adrian

Deixar uma resposta