O Operador autônomo do Couchbase 2.0 apresenta vários recursos e aprimoramentos inovadores que facilitam mais do que nunca a implantação, o provisionamento, o monitoramento e o gerenciamento dos nós do Couchbase Server no Kubernetes. Além dos nós do servidor Couchbase, Couchbase Mobile As implantações incluem Gateways de sincronização que fornecem sincronização segura de dados entre Couchbase Lite e a nuvem. O Couchbase Server é o armazenamento de backup persistente do Sync Gateway.
A natureza sem estado do Sync Gateway se adapta bem ao Kubernetes. Nesta postagem, apresentamos uma visão geral de como implantar o Sync Gateway no Kubernetes e, ao mesmo tempo, aproveitar os aprimoramentos de autenticação do cliente introduzidos no Couchbase Autonomous Operator 2.0.

Gateway de sincronização e operador autônomo do Couchbase
O cluster do Sync Gateway é implantado e gerenciado independentemente do cluster do Couchbase Server usando um Implantação do Kubernetes controlador. Embora o Couchbase Operator não seja usado para implantar, provisionar e gerenciar o Sync Gateway, o pacote de download inclui um modelo de implantação de amostra para implantar um cluster do Sync Gateway e conectá-lo a um cluster do Couchbase Server.
Há duas etapas principais quando se trata de implementar um cluster do Sync Gateway.
Conexão do Sync Gateway ao servidor Couchbase
Primeiro, o cluster do Sync Gateway deve ser inicializado com o bucket apropriado do Couchbase Server, conforme especificado no arquivo Configuração do servidor Sync Gateway propriedade. Um cluster do Sync Gateway pode se conectar a um Couchbase Server usando qualquer uma das seguintes configurações de rede, a saber
- Para um servidor Couchbase no mesmo cluster Kubernetes (também conhecido como "intra-kubernetes")

- Para um cluster do servidor Couchbase em um cluster Kubernetes separado (também conhecido como "inter-kubernetes")

Isso exigiria as versões 2.7.1 e posteriores do Sync Gateway.
- Para um cluster do Coucbase Server em uma rede pública (também conhecido como "rede pública").

Isso exigiria as versões 2.7.1 e posteriores do Sync Gateway.
Recomenda-se que a comunicação entre o Sync Gateway e o servidor seja protegido por TLS independentemente da configuração da rede.
Dessa forma, embora altamente recomendado, não é necessário que o servidor seja implantado no Kubernetes.
Além de configurar a rede para permitir que o Sync Gateway se conecte ao servidor, os nós do Sync Gateway devem se autenticar no Couchbase Server. Você tem duas opções -
Usuário do Sync Gateway RBAC
Esse é provavelmente o mecanismo de autenticação mais comum usado nas implantações do Couchbase Mobile. O Operator 2.0 introduz o suporte para Gerenciamento de RBAC. Você pode usar esse recurso para permitir que o operador gerencie automaticamente a criação do usuário RBAC do Sync Gateway. Para isso, você define um Usuário do Couchbase correspondente ao usuário do Sync Gateway e crie o Vinculação da função do usuário que vinculará o usuário do Sync Gateway às funções administrativas relevantes (bucket_full_access)como definido por um Grupo Couchbase.
Para aproveitar esse recurso, você precisará ativar o gerenciamento de RBAC.

Você ainda tem a opção de não permitir que o Operator gerencie o usuário RBAC. Nesse caso, você criaria manualmente o usuário no servidor por procedimentos usuais.
Autenticação de cliente TLS
O Operator 2.0 oferece suporte total a mTLS (TLS mútuo). Isso pode ser aproveitado para autenticar o Sync Gateway usando certificados de cliente.

Depois que o Sync Gateway for conectado com sucesso ao servidor, a próxima etapa é expô-lo aos clientes do Couchbase Lite
Expondo o Sync Gateway aos clientes do Couchbase Lite
Uma implantação típica do Couchbase Mobile consiste em um ou mais nós do Sync Gateway liderados por um balanceador de carga. Os clientes do Couchbase Lite se conectam ao balanceador de carga. A comunicação dos clientes com o Sync Gateway é protegida por TLS. Você tem algumas opções de implementação -
Balanceador de carga como passagem
Nessa opção, o balanceador de carga operando em Camada 4 da pilha de rede é uma passagem para o tráfego entre os clientes do Couchbase Lite e o Sync Gateway. As conexões TLS são de ponta a ponta e terminam no Sync Gateway. Essa opção funciona para provedores de nuvem que oferecem suporte a conexões externas. balanceadores de carga. Você pode provisionar um Load Balancer para o serviço Sync Gateway.

Balanceador de carga como terminação TLS
Nessa opção, um balanceador de carga no nível do aplicativo atua como um proxy interceptando as comunicações entre os clientes do Couchbase Lite e o Sync Gateway, e as decisões de balanceamento de carga são tomadas inspecionando o conteúdo dos pacotes. As conexões TLS são encerradas no balanceador de carga, aliviando a carga no Sync Gateway. Esse é um modelo de implantação muito comum para o Couchbase Mobile.

Passo a passo
Elaboramos um tutorial em três partes que fornece instruções passo a passo para
- Implementar um cluster do Sync Gateway e conecte-o ao servidor
- Expor a implantação do Sync Gateway em clientes externos do Couchbase Lite e RESTful e
- Gerenciar o cluster do Sync Gateway
Ele inclui uma discussão sobre as práticas recomendadas e exemplos de arquivos de configuração .yaml que podem ser usados como referência e personalizados para sua implementação.
As instruções do tutorial se aplicam a qualquer ambiente do Kubernetes. As diferenças que você encontrará entre os ambientes gerenciados do Kubernetes estarão principalmente na configuração da rede e na configuração de balanceadores de carga específicos da plataforma.
Aqui estão os links diretos para configurar o cluster do servidor Couchbase em ambientes Kubernetes gerenciados populares usando o Autonomous Operator. Depois que o servidor Couchbase for implantado, siga as etapas descritas no tutorial acima 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 tutorial
- 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
Implementação usando o Helm
A operadora gráfico agora foi ampliado para oferecer suporte ao Sync Gateway. Portanto, você pode implantar o Operator, o servidor Couchbase e os clusters do Sync Gateway em uma única etapa! Obviamente, o gráfico pode ser usado para implantar o cluster do Sync Gateway exclusivamente conectado a um servidor Couchbase que não é implantado usando o Helm. A instalação do Sync Gateway é desativada por padrão.
Se você quiser implantar o Sync Gateway, crie um anular para o values.yaml personalizando-o para atender às suas necessidades de implementação e instalá-lo.
|
1 |
$ helm install sync-gateway-helm –values myvalues.yaml couchbase/couchbase-operator |
O que vem a seguir
Nos tutoriais, você verá que 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 enviar-me um e-mail. O Fóruns do Couchbase são outro bom lugar para entrar em contato com perguntas.
Agradecimentos
Gostaria de agradecer a Simon Murray por seu feedback sobre o tutorial.