Consulte este postagem para obter a versão mais recente.
O Operador autônomo do Couchbase torna extremamente fácil configurar e gerenciar implantações do Couchbase Server em clusters kubernetes em nuvens públicas e privadas. As implantações do Couchbase Mobile exigem um cluster do Sync Gateway, além dos clusters do Couchbase Server. Um cluster do Sync Gateway geralmente consiste em dois ou mais nós do Sync Gateway liderados por um balanceador de carga responsável pelo equilíbrio das solicitações de entrada dos clientes.
Um contêiner do Sync Gateway deve ser tratado como qualquer outro contêiner do servidor de aplicativos. Para esse fim, o operador do Couchbase não gerencia a implantação do cluster do Sync Gateway. No entanto, a boa notícia é que a implantação e o gerenciamento do cluster do Sync Gateway usando o Kubernetes é extremamente simples e requer apenas algumas etapas.
Arquitetura de referência
Esta é uma arquitetura de referência de um cluster do Couchbase Mobile no Kubernetes:
Embora não haja nada "específico do Couchbase" na implantação do Sync Gateway, fazemos as seguintes recomendações
- Use o Kubernetes Controlador de implantação para a implantação de contêineres do Sync Gateway. Os contêineres de implantação permitem que você defina réplicas e gerencie rollouts e rollbacks.
- Use um segredo para armazenar o arquivo de configuração do Sync Gatway. Isso é importante porque o arquivo de configuração do Sync Gateway contém as credenciais RBAC usadas pelo nó do Sync Gateway para se conectar ao cluster do Couchbase Server.
- Configure um balanceador de carga com um endereço IPA externo ao qual o Couchbase Lite e outros clientes externos possam se conectar. Um balanceador de carga só pode ser configurado em um ambiente de nuvem.
Observe que, no momento, os pods do Sync Gateway devem ser implantados no mesmo cluster do Kubernetes que o Couchbase Server. Você pode impor a separação de preocupações e evitar a contenção de recursos ao configurando os nós que executariam os pods do Couchbase Server ou do Sync Gateway, por meio de Espaços de nomesEspecificando limites rígidos de uso de recursos e configurando regras de acesso à rede para controlar o tráfego entre o Couchbase Server e o cluster do Sync Gateway.
Tutorial
Elaboramos um tutorial passo a passo de como implantar e gerenciar um cluster do Sync Gateway no Kubernetes. O tutorial também inclui arquivos .yaml relevantes para configurar o cluster do gateway de sincronização e o balanceador de carga.
As instruções do tutorial se aplicam a qualquer ambiente do Kubernetes. As diferenças que você encontrará entre os ambientes gerenciados estarão principalmente no uso de ferramentas de linha de comando específicas da plataforma, na interface do usuário do console e na configuração do RBAC. Por exemplo, você usaria nuvem no Google Kubernetes Engine (GKE), CLI do Azure no Serviço de Contêiner do Azure (AKS) e Autenticador IAM da AWS para Kubernetes para o Amazon Elastic Container Service (EKS). As instruções sobre como RBAC A configuração também é específica da plataforma. No entanto, essas variações específicas da plataforma não têm relação com as instruções de implementação do Sync Gateway.
Aqui estão os links diretos para configurar o cluster do servidor Couchbase em ambientes Kubernetes gerenciados populares. Depois que o servidor Couchbase for implantado, siga as etapas em Tutorial do Sync Gateway para implantar o cluster do Sync Gateway.
- As instruções para configurar o cluster do Couchbase Server com o Amazon Elastic Container Service for Kubernetes (EKS) no Amazon Web Services (AWS) estão descritas neste tutorial
- As instruções para configurar o cluster do Couchbase Server com o Azure Container Service (AKS) na Azure Cloud Platform estão descritas neste postagem no blog
- As instruções para configurar o cluster do Couchbase Server Google Kubernetes Engine (GKE) no Google Cloud Platform (GCP) estarão disponíveis em breve.
O que vem a seguir
Como você provavelmente percebeu no tutorial, são necessárias apenas algumas etapas para implantar seus contêineres do Sync Gateway usando o Kubernetes.
Se tiver dúvidas ou comentários, deixe um comentário abaixo ou entre em contato comigo pelo Twitter @rajagp ou envie-me um e-mail priya.rajagopal@couchbase.com. O Fóruns do Couchbase são outro bom lugar para entrar em contato com perguntas.
Agradecimentos
Gostaria de agradecer a Matt Carabine e James Nocentini por seus comentários e apoio no desenvolvimento do tutorial.