Operador autônomo do Couchbase

Operador autônomo do Couchbase com volumes persistentes no Azure AKS

Estamos muito animados em anunciar que o setor PRIMEIRO Banco de dados NoSQL integrado nativamente com a API do Kubernetes (k8s), por meio do CRD, proporcionando imenso poder, agilidade e portabilidade de nuvem aos clientes para que eles possam ser gratuito de

  1. Gerenciar ou administrar o cluster do Couchbase
  2. Preocupado com falhas de nós, o operador do k8s gira um pod para você
  3. Preocupado em realizar a operação de rebalanceamento após a adição do nó, o operador do k8s faz isso para você
  4. Bloqueio do fornecedor

A integração nativa com o k8s nos permite definir um controlador personalizado, por meio do qual podemos definir fluxo(s) de trabalho para determinadas condições que ocorrem no cluster do Couchbase. Ao escrever essa lógica no controlador personalizado, podemos gerenciar melhor o cluster do Couchbase.

A execução do Operador Autônomo do Couchbase no Azure AKS está atualmente em pré-visualização técnica.

Aqui está o que faremos

  1. Faça login no Azure com a CLI (login az)
  2. Criar um grupo de recursos
  3. Criar um cluster k8s no AKS
  4. Acesse o painel de controle do k8s (opcional)
  5. Implantar o operador autônomo do Couchbase
  6. Implantar o cluster do Couchbase no AKS
  7. Inserir alguns (~100K) documentos no cluster
  8. Aumente a escala do cluster com um comando
  9. Excluir um pod, simulando uma falha de nó
  10. Veja que o k8s observa esse evento e cria o novo pod para corresponder à definição do cluster
  11. Referências

Agora, vamos analisar a implantação do Operador Autônomo no Serviço Azure Kubernetes passo a passo de forma extremamente detalhada

Faça login no Azure com a CLI (login az)

Criar um grupo de recursos

Criar um cluster k8s

Faça login no portal do Azure e procure o Azure Kubernetes Service no ícone de pesquisa.


 
Escolha o tamanho da instância para nós k8s e selecione o número de nós de acordo com os requisitos


 
Seleção dos tipos de instância

 
Ativar o RBAC para o cluster k8s


 
Escolha a rede padrão

 srcset=
 
Habilitar o monitoramento de contêineres

 
Certifique-se de que a validação seja aprovada e pressione create


 
Execute o comando para colocar o cluster do k8s em execução no Azure, localmente (acho isso pessoalmente útil, pois me dá a capacidade de gerenciar o cluster do k8s remoto em execução no AKS. Outra opção seria usar Shell do Azure)

A captura de tela abaixo dá uma ideia de como verificar se a configuração do cluster AKS está definida corretamente no local ou não.


 

Acesse o painel de controle do k8s (opcional)

Todos os ativos do k8s podem ser gerenciados por meio do kubectl e, com o acesso da GUI ao cluster do Couchbase, ele se torna mais gerenciável. No entanto, eu também gostaria de administrar os ativos do k8s por meio do k8s Dashboard.

[TIP] Se o painel do k8s apresentar problemas de permissão como

Em seguida, execute o seguinte comando

Nesse momento, devemos ter acesso ao painel do k8s em execução no URL https://127.0.0.1:8001/

Implantar o operador autônomo do Couchbase

Lembre-se de que a implantação do operador CB é um trabalho único e muito simples

Fiz o download dos arquivos zip da operadora em meu laptop local a partir do URL Baixar o pacote do operador do Couchbase

Ativar o RBAC para o cluster do couchbase no k8s

Implantar o operador do couchbase

Ele fica pronto em menos de um minuto, e podemos assistir à implantação enquanto ela está acontecendo

 

Implantar o cluster do Couchbase no AKS

Agora que implantamos o operador autônomo no AKS, vamos implantar o cluster do Couchbase

Com o AKS, temos o StorageClass por padrão, vamos verificar

Para nossa implementação, escolheremos o managed-premium

O arquivo yaml detalhado pode ser encontrado aqui, couchbase-persistent-cluster.yaml

Leva alguns minutos para que o cluster do couchbase seja ativado e criaremos 4 pods e, pela primeira vez, ele baixa a imagem do docker do registro.

A exposição do serviço cb-op-aks-demo-ui do NodePort (padrão para LoadBalancer) nos permite acessar a GUI do Couchbase Server pelo IP público

Comando em execução

deve fornecer o resultado como abaixo

Agora, faça login na GUI com o nome de usuário/senha padrão, ou seja, Administrator/senha

Inserir alguns (~100K) documentos no cluster

[TIP] O utilitário cbc-pillowfight precisa ser instalado no contêiner antes de ser executado. Sua instalação está além do escopo deste blog.

Deveríamos ver o gráfico de estatísticas de balde iluminado


 

Aumente a escala do cluster com um comando

Dimensionar o cluster do couchbase é uma tarefa muito simples com o Kubernetes, basta atualizar o arquivo couchbase-persistent-cluster.yaml. Digamos que queiramos aumentar a capacidade dos nós de dados de 3 para 5, portanto, altere servers:size para 5


 
Veremos que os novos pods estão sendo criados e os pods e nós do couchbase estão sendo adicionados ao cluster, o rebalanceamento é realizado, simplesmente incrível!

O cluster foi ampliado e a nova definição de cluster tem a seguinte aparência, observando que, de um total de 100 mil itens, cada nó tem cerca de 20 mil itens/nó


 
[TIP] Vamos verificar se temos PVs em nossos contêineres

Faça login no pod e execute o comando lsblk -a

Em couchbase-persistent-cluster.yaml definimos o volume de armazenamento como sendo de 4GiB e, no trecho destacado, vemos que temos diretórios do Couchbase de 4GiB!

Excluir um pod, simulando uma falha de nó

Exclua um pod cb-op-aks-demo-0000 do painel do k8s, pois ele é um nó de serviço de dados


 
Com o autoFailoverTimeout tempo limite variável definido em couchbase-persistent-cluster.yaml, o nó sofre falha automática e é detectado pelo operador autônomo e, portanto, pelo cluster do Couchbase


 
O controlador personalizado do Couchbase está constantemente observando a definição do cluster e precisa ter um total de 4 nós ou pods k8s, e ele vê que um deles desapareceu, portanto, cria um novo pod, junta-se ao cluster e o rebalanceamento é realizado.


 
Dos registros de pods do operador do couchbase


 
Vamos parar um pouco para ver o que aconteceu aqui!

Um nó falhou, foi detectado pelo Custom Controller, também conhecido como Couchbase Operator, que também observa a definição do cluster do couchbase e vê que precisa ter 7 pods ou 7 nós do couchbase no total, vê que um deles falhou, aguarda o autoFailoverTimeout e cria um novo pod, junta-se ao cluster e a operação de rebalanceamento é executada.

Aqui na Couchase, acreditamos na diferenciação sustentada para melhor atender nossos clientes em termos de agilidade, desempenho e tecnologia de ponta. Isso certamente é um divisor de águas. Agradecemos seus comentários e esperamos facilitar sua jornada rumo aos microsserviços com o Couchbase Autonomous Operator no kubernetes em execução no AKS.

Referências

https://docs.microsoft.com/en-us/azure/aks/azure-disks-dynamic-pv

https://docs.microsoft.com/en-us/azure/aks/tutorial-kubernetes-deploy-cluster

O novo Couchbase Autonomous Operator 1.0 para Kubernetes e OpenShift agora é GA!

https://docs.couchbase.com/operator/1.0/overview.html

Compartilhe este artigo
Receba atualizações do blog do Couchbase em sua caixa de entrada
Esse campo é obrigatório.

Autor

Postado por Ram Dhakne

Ram Dhakne é consultor de soluções - Oeste dos EUA na Couchbase. Atualmente, ele ajuda clientes corporativos em sua jornada de inovações digitais e os ajuda a adotar tecnologias NoSQL. Seus interesses atuais são executar aplicativos persistentes como o servidor NoSQL Couchbase em clusters Kubernetes executados em AKS, GKE, ACS e OpenShift, protegendo de ponta a ponta no Kubernetes. Em sua vida pregressa, trabalhou em plataformas IaaS (AWS, GCP, Azure e nuvens privadas), produtos-alvo de backup corporativo e aplicativos de backup.

Deixe um comentário

Pronto para começar a usar o Couchbase Capella?

Iniciar a construção

Confira nosso portal do desenvolvedor para explorar o NoSQL, procurar recursos e começar a usar os tutoriais.

Use o Capella gratuitamente

Comece a trabalhar com o Couchbase em apenas alguns cliques. O Capella DBaaS é a maneira mais fácil e rápida de começar.

Entre em contato

Deseja saber mais sobre as ofertas do Couchbase? Deixe-nos ajudar.