Usar Ferramentas baseadas no Kubernetes para Implantar e Gerenciar um Autonomous Database Altamente Disponível

Os administradores normalmente usam a console do Oracle Cloud Infrastructure (OCI) para gerenciar o Oracle Autonomous Transaction Processing (ATP), mas isso cria uma experiência desarticulada para administradores do Kubernetes. Com o OOK (Oracle Cloud Infrastructure) Service Operator for Kubernetes (OSOK), os administradores podem usar ferramentas padrão do Kubernetes para implantar e gerenciar o ATP.

Arquitetura

Essa arquitetura de referência mostra um aplicativo implantado em um cluster do OKE que usa um Autonomous Database de alta disponibilidade. O ATP é implantado e gerenciado inteiramente de dentro do cluster do OKE por meio do OSOK.

O OSOK permite que você implante o ATP juntamente com outros aplicativos Kubernetes usando a ferramenta de gerenciamento de pacotes do Kubernetes, o Helm. Você também pode gerenciar o ATP como qualquer outro recurso do Kubernetes por meio da ferramenta de linha de comando padrão do Kubernetes, kubectl. Para ativar isso, o OSOK modela o Autonomous Database como uma CRD (Custom Resource Definition) e aplica essas definições ao cluster do OKE.

O ATP pode ser implantado como um sistema independente ou com Alta Disponibilidade (HA). O aplicativo se conecta a um único ponto final para ler e gravar no banco de dados. No caso de falha, o ATP fará failover automaticamente para uma instância secundária sem precisar reconfigurar o aplicativo.


Veja a seguir a descrição da ilustração kubernetes-based-autonomous-database.png
Descrição da ilustração kubernetes-based-autonomous-database.png

kubernetes-based-autonomous-database-oracle.zip

A arquitetura tem os seguintes componentes:

  • Locação

    Uma tenancy é uma partição segura e isolada que a Oracle configura no Oracle Cloud quando você acessa o Oracle Cloud Infrastructure. Você pode criar, organizar e administrar seus recursos no Oracle Cloud em sua tenancy. Uma tenancy é sinônimo de uma empresa ou organização. Normalmente, uma empresa terá uma única locação e refletirá sua estrutura organizacional nessa locação. Em geral, uma única tenancy está associada a uma única assinatura e uma única assinatura geralmente só tem uma tenancy.

  • Região

    Uma região do Oracle Cloud Infrastructure é uma área geográfica localizada que contém um ou mais data centers, denominados domínios de disponibilidade. As regiões são independentes das outras regiões, e grandes distâncias podem se separar (em países ou até mesmo continentes).

  • Domínio de disponibilidade

    Os domínios de disponibilidade são data centers independentes e independentes dentro de uma região. Os recursos físicos de cada domínio de disponibilidade são isolados dos recursos de outros domínios de disponibilidade, que oferecem tolerância a falhas. Os domínios de disponibilidade não compartilham infraestrutura como energia ou resfriamento ou rede interna. Portanto, é pouco provável que uma falha em um domínio de disponibilidade afete os outros domínios

  • Domínio de falha

    Domínio de falha é um agrupamento de hardware e infraestrutura dentro de um domínio de disponibilidade. Cada domínio de disponibilidade tem três domínios de falha com energia e hardware independentes. Quando você distribui recursos entre diversos domínios de falha, seus aplicativos podem tolerar falha física do servidor, manutenção do sistema e falhas de alimentação dentro de um domínio de falha.

  • VCN (Virtual Cloud Network) e sub-rede

    Uma VCN é uma rede personalizável definida por software que você configura em uma região do Oracle Cloud Infrastructure. Como as redes de data center tradicionais, as VCNs dão a você total controle sobre seu ambiente de rede. Uma VCN pode ter vários blocos CIDR não sobrepostos que você pode alterar após criar a VCN. Você pode segmentar uma VCN em sub-redes, que podem ter escopo em uma região ou em um domínio de disponibilidade. Cada sub-rede consiste em um intervalo contínuo de endereços que não se sobrepõem com as outras sub-redes da VCN. Você pode alterar o tamanho de uma sub-rede após a criação. Uma sub-rede pode ser pública ou privada.

  • Balanceador de carga

    O serviço Oracle Cloud Infrastructure Load Balancing fornece distribuição automatizada de tráfego de um único ponto de entrada para vários servidores no back-end.

  • Gateway NAT (Network address translation)

    Um gateway NAT permite que recursos privados em uma VCN acessem hosts na internet, sem expor esses recursos a conexões provenientes da internet.

  • Gateway de serviço

    O gateway de serviço fornece acesso de uma VCN a outros serviços, como o Oracle Cloud Infrastructure Object Storage. O tráfego da VCN para o serviço Oracle percorre a malha da rede Oracle e nunca atravessa a internet.

  • Cloud Guard

    Você pode usar o Oracle Cloud Guard para monitorar e manter a segurança dos seus recursos no Oracle Cloud Infrastructure. O Cloud Guard usa receitas do detector que você pode definir para examinar seus recursos em busca de pontos fracos de segurança e para monitorar operadores e usuários em busca de atividades de risco. Quando qualquer configuração incorreta ou atividade não segura é detectada, o Cloud Guard recomenda ações corretivas e auxilia na tomada dessas ações, com base em receitas do respondedor que você pode definir.

  • Zona de segurança

    As zonas de segurança garantem as melhores práticas de segurança da Oracle desde o início, impondo políticas como a criptografia de dados e a prevenção do acesso público a redes para um compartimento inteiro. Uma zona de segurança está associada a um compartimento com o mesmo nome e inclui políticas de zona de segurança ou uma "receita" que se aplica ao compartimento e seus subcompartimentos. Não é possível adicionar ou mover um compartimento padrão para um compartimento de zona de segurança.

  • Lista de segurança

    Para cada sub-rede, você pode criar regras de segurança que especifiquem a origem, o destino e o tipo de tráfego que deve ser permitido dentro e fora da sub-rede.

  • Object Storage

    O armazenamento de objetos fornece acesso rápido a grandes volumes de dados estruturados e não estruturados de qualquer tipo de conteúdo, incluindo backups de bancos de dados, dados analíticos e conteúdo avançado, como imagens e vídeos. Você pode armazenar e, em seguida, recuperar dados diretamente da internet ou de dentro da plataforma de nuvem. Você pode escalar o armazenamento de forma integrada sem experimentar qualquer degradação no desempenho ou na confiabilidade do serviço. Use o armazenamento padrão para armazenamento "quente" que você precisa acessar de forma rápida, imediata e frequente. Use o armazenamento de arquivos compactados para armazenamento "frio" que você mantém por longos períodos de tempo e raramente acessa.

  • FastConnect

    O Oracle Cloud Infrastructure FastConnect fornece uma maneira fácil de criar uma conexão privada dedicada entre o seu data center e o Oracle Cloud Infrastructure. O FastConnect fornece opções de largura de banda mais alta e uma experiência de rede mais confiável quando comparada com conexões baseadas na internet.

  • Gateway de pareamento local (LPG)

    Um LPG permite parear uma VCN com outra VCN na mesma região. Pareamento significa que as VCNs se comunicam usando endereços IP privados, que não são o tráfego que passa pela internet ou que é roteado pela sua rede local.

  • Banco de dados autônomo

    Os bancos de dados autônomos do Oracle Cloud Infrastructure são ambientes de banco de dados totalmente gerenciados e pré-configurados que você pode usar para cargas de trabalho de processamento de transações e data warehousing. Não é necessário configurar ou gerenciar nenhum hardware ou instalar qualquer software. O Oracle Cloud Infrastructure controla a criação do banco de dados, bem como o backup, a aplicação de patches, o upgrade e o ajuste do banco de dados.

  • Autonomous Data Warehouse

    O Oracle Autonomous Data Warehouse é um serviço de banco de dados independente, com autoproteção e autorreparo otimizado para cargas de trabalho de data warehousing. Não é necessário configurar ou gerenciar nenhum hardware ou instalar qualquer software. O Oracle Cloud Infrastructure controla a criação do banco de dados, bem como o backup, a aplicação de patches, o upgrade e o ajuste do banco de dados.

  • Autonomous Transaction Processing

    O Oracle Autonomous Transaction Processing é um serviço de banco de dados autônomo, com segurança automática e autorreparo otimizado para cargas de trabalho de processamento de transações. Não é necessário configurar ou gerenciar nenhum hardware ou instalar qualquer software. O Oracle Cloud Infrastructure controla a criação do banco de dados, bem como o backup, a aplicação de patches, o upgrade e o ajuste do banco de dados.

  • Sistema de BD Exadata

    O Exadata Cloud Service permite que você aproveite o poder do Exadata na nuvem. Você pode provisionar sistemas X8M flexíveis que permitem adicionar servidores de computação de banco de dados e servidores de armazenamento ao seu sistema à medida que suas necessidades aumentam. Os sistemas X8M oferecem a rede RoCE (RDMA sobre Ethernet Convergida) para módulos de largura de banda alta e baixa latência, memória persistente (PMEM) e software Exadata inteligente. Você pode provisionar sistemas X8M usando uma forma equivalente a um sistema X8 de rastreamento trimestral e, em seguida, adicionar servidores de banco de dados e armazenamento a qualquer momento após o provisionamento.

Recomendações

Use as recomendações a seguir como ponto de partida. Seus requisitos podem ser diferentes da arquitetura descrita aqui.

  • VCN

    Ao criar uma VCN, determine o número de blocos CIDR necessários e o tamanho de cada bloco com base no número de recursos que você planeja anexar às sub-redes na VCN. Use blocos CIDR que estão dentro do espaço de endereço IP privado padrão.

    Selecione os blocos CIDR que não se sobrepõem a nenhuma outra rede (no Oracle Cloud Infrastructure, em seu data center local ou em outro provedor de nuvem) para a qual você pretende configurar conexões privadas.

    Depois de criar uma VCN, você poderá alterar, adicionar e remover seus blocos CIDR.

    Ao projetar as sub-redes, considere seu fluxo de tráfego e os requisitos de segurança. Anexe todos os recursos dentro de uma camada ou atribuição específica à mesma sub-rede, que pode servir como limite de segurança.

  • Cloud Guard

    Clone e personalize as receitas padrão fornecidas pela Oracle para criar receitas personalizadas do detector e do respondedor. Essas receitas permitem especificar que tipo de violações de segurança geram um aviso e quais ações podem ser executadas nelas. Por exemplo, talvez você queira detectar buckets do Object Storage que tenham visibilidade definida como pública.

    Aplique o Cloud Guard no nível da tenancy para abranger o escopo mais amplo e reduzir a carga administrativa de manter várias configurações.

    Você também pode usar o recurso Lista Gerenciada para aplicar determinadas configurações aos detectores.

  • Zonas de Segurança

    Para recursos que exigem segurança máxima, a Oracle recomenda que você use zonas de segurança. Uma zona de segurança é um compartimento associado a uma receita definida pela Oracle de políticas de segurança que se baseiam nas melhores práticas. Por exemplo, os recursos em uma zona de segurança não podem ser acessados pela internet pública e devem ser criptografados usando chaves gerenciadas pelo cliente. Quando você criar e atualizar recursos em uma zona de segurança, o Oracle Cloud Infrastructure validará as operações contra as políticas na receita de zona de segurança e negará operações que violem qualquer uma das políticas.

  • Grupos de Segurança de Rede (NSGs)

    Você pode usar NSGs para definir um conjunto de regras de entrada e saída que se aplicam a VNICs específicas. Recomendamos o uso de NSGs em vez de listas de segurança, porque os NSGs permitem que você separe a arquitetura da sub-rede da VCN dos requisitos de segurança do seu aplicativo.

  • Largura de banda do balanceador de carga

    Ao criar o balanceador de carga, você pode selecionar uma forma predefinida que forneça uma largura de banda fixa ou especificar uma forma personalizada (flexível) na qual você define uma faixa de largura de banda e permite que o serviço dimensione a largura de banda automaticamente com base nos padrões de tráfego. Com qualquer uma das abordagens, você pode alterar a configuração a qualquer momento após criar o balanceador de carga.

Considerações

Ao implantar o Oracle Autonomous Database em clusters do OKE, considere a escalabilidade. Você pode usar o Kubernetes Cluster Autoscaler para dimensionar o cluster automaticamente.

O dimensionador automático ajusta o número de nós disponíveis à medida que a demanda aumenta ou diminui. Isso otimiza o uso dos recursos do OCI Compute e impede que você use mais nós do que o necessário, o que pode aumentar seus custos.

O Kubernetes Cluster Autoscaler está disponível no Github.

Implantação

Primeiro você deve ter um cluster do OKE ou um cluster do Kubernetes implantado no OCI. Em seguida, você pode usar as ferramentas a seguir para configurar o OSOK e implantar o ATP no Kubernetes.

Este manual do Terraform automatiza a instalação do OSOK em um cluster do Kubernetes implantado no OCI. O cluster do Kubernetes pode ser um cluster gerenciado pelo cliente implantado em máquinas virtuais ou em um cluster gerenciado com o serviço OKE.

  1. Vá para GitHub.
  2. Clone ou faça download do repositório para seu computador local.
  3. Siga as instruções no documento README.

Use este Gráfico de Helm para criar e gerenciar o ATP de um cluster do Kubernetes implantado no OCI. Este gráfico do Helm baseia-se no OSOK, que já deve estar implantado no cluster.

  1. Vá para GitHub.
  2. Clone ou faça download do repositório para seu computador local.
  3. Siga as instruções no documento README.

Confirmações

  • Autores: Chiping Hwang
  • Colaboradores: Steve Shewchuk