Implante um Sistema de MySQL Database altamente disponível em um cluster do Oracle Cloud Infrastructure Kubernetes Engine
O Oracle MySQL Database Service é um serviço de banco de dados totalmente gerenciado implantado na Oracle Cloud Infrastructure (OCI) que suporta operadores e desenvolvedores que procuram implementar rapidamente aplicativos seguros e nativos da nuvem. Você pode usar o operador de Serviço OCI para Kubernetes (OSOK) para provisionar e gerenciar sistemas do MySQL Database para aplicativos implantados em Implantar um Sistema de MySQL Database altamente disponível em um cluster do Oracle Cloud Infrastructure Kubernetes Engine (OCI Kubernetes Engine ou OKE).
O uso do OSOK simplifica o gerenciamento de sistemas do MySQL Database para administradores do OKE e permite que as instâncias do MySQL Database System sejam implementadas juntamente com aplicativos que usam a ferramenta de gerenciamento de pacotes do Kubernetes, Helm.
Arquitetura
Essa arquitetura de referência mostra um aplicativo implantado em um cluster do OKE que utiliza um MySQL Database System altamente disponível para seu banco de dados. O MySQL Database System é implantado e gerenciado inteiramente no cluster do OKE com o OSOK.
O OSOK permite que o Sistema MySQL Database seja gerenciado como qualquer outro recurso do Kubernetes usando a CLI padrão do Kubernetes - kubectl, modelando o Sistema MySQL Database como CRD (Custom Resource Definition) e aplicando essas definições ao cluster do OKE.
O MySQL Database System pode ser implantado como um sistema autônomo ou com Alta Disponibilidade (HA). Um MySQL Database System ativado para HA contém três instâncias implantadas em diferentes domínios de disponibilidade ou domínios de falha. O aplicativo se conecta a um único ponto final para ler e gravar no banco de dados. Em caso de falha, o sistema de banco de dados fará failover automaticamente para uma instância secundária sem reconfiguração do aplicativo.
O diagrama a seguir ilustra essa arquitetura de referência.

Descrição da ilustração oci-mysql-oke-ha-arch.png
oci-mysql-oke-ha-arch-oracle.zip
A arquitetura tem os seguintes componentes:
- Região
Região do Oracle Cloud Infrastructure é uma área geográfica localizada que contém um ou mais data centers, denominada domínios de disponibilidade. As regiões são independentes de outras regiões, e grandes distâncias podem separá-las (entre países ou até mesmo continentes).
- Domínios de disponibilidade
Domínios de disponibilidade são data centers stand-alone 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, o que oferece tolerância a falhas. Os domínios de disponibilidade não compartilham infraestrutura como energia ou refrigeração ou a rede interna do domínio de disponibilidade. Portanto, uma falha em um domínio de disponibilidade não deve afetar os outros domínios de disponibilidade na região.
- Domínios de falha
Um 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 vários domínios de falha, seus aplicativos podem tolerar falha no servidor físico, manutenção do sistema e falhas de energia dentro de um domínio de falha.
- Rede virtual na nuvem (VCN) e sub-redes
Uma VCN é uma rede personalizável definida por software que você configura em uma região do Oracle Cloud Infrastructure. Como as redes tradicionais de data center, as VCNs oferecem controle sobre seu ambiente de rede. Uma VCN pode ter vários blocos CIDR não sobrepostos que você pode alterar após a criação da VCN. Você pode segmentar uma VCN em sub-redes, com escopo definido para uma região ou para um domínio de disponibilidade. Cada sub-rede consiste em um intervalo contíguo de endereços que não se sobrepõem a 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.
- Mecanismo do Kubernetes do OCI
O Oracle Cloud Infrastructure Kubernetes Engine (Kubernetes Engine ou OKE) é um serviço totalmente gerenciado, escalável e altamente disponível que você pode usar para implantar seus aplicativos em contêineres na nuvem. Você especifica os recursos de computação necessários, e o serviço Kubernetes Engine os provisiona no Oracle Cloud Infrastructure em uma tenancy existente. O OKE usa o Kubernetes para automatizar a implantação, o dimensionamento e o gerenciamento de aplicativos em contêineres entre clusters de hosts.
- Oracle MySQL Database Service
O Oracle MySQL Database Service é um serviço de banco de dados da Oracle Cloud Infrastructure (OCI) totalmente gerenciado que permite aos desenvolvedores desenvolver e implementar rapidamente aplicativos seguros e nativos na nuvem. Otimizado e disponível exclusivamente na OCI, o Oracle MySQL Database Service é 100% construído, gerenciado e suportado pelas equipes de engenharia da OCI e da MySQL.
O Oracle MySQL Database Service tem um mecanismo de análise integrado de alto desempenho (HeatWave) para executar análises sofisticadas em tempo real diretamente em um banco de dados MySQL operacional.
- Gateway de conversão de endereço de rede (NAT)
Um gateway NAT permite que recursos privados em uma VCN acessem hosts na internet, sem expor esses recursos a conexões de internet de entrada.
- 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 não passa pela internet.
- Registro
O Oracle Cloud Infrastructure Registry é um registro gerenciado pela Oracle que permite simplificar seu desenvolvimento para o workflow de produção. O registro facilita o armazenamento, o compartilhamento e o gerenciamento de artefatos de desenvolvimento, como imagens do Docker. A arquitetura altamente disponível e escalável do Oracle Cloud Infrastructure garante que você possa implantar e gerenciar seus aplicativos de forma confiável.
- 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.
- Tabela de roteamento
As tabelas de roteamento virtual contêm regras para rotear o tráfego de sub-redes para destinos fora de uma VCN, geralmente por meio de gateways.
- 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.
Recomendações
- 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 a sub-redes na VCN. Use blocos CIDR que estejam dentro do espaço de endereço IP privado padrão.
Selecione blocos CIDR que não se sobreponham 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 seus requisitos de fluxo de tráfego e segurança. Anexe todos os recursos dentro de uma camada ou atribuição específica à mesma sub-rede, que pode servir como um limite de segurança.
- 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 forma a qualquer momento após criar o balanceador de carga.
- Listas de segurança
Use listas de segurança para definir regras de entrada e saída que se aplicam a toda a sub-rede.
- Oracle MySQL Database Service
Nesta arquitetura, o aplicativo armazena os dados relacionais no Oracle MySQL Database Service. Recomendamos o uso da versão mais recente.
Considerações
Ao implantar um aplicativo no Oracle Cloud, considere essas opções para obter disponibilidade.
- Disponibilidade do aplicativo
O aplicativo é implantado com vários pods na implantação para fornecer alta disponibilidade.
- Disponibilidade e escalabilidade do My SQL Database Service
O MySQL Database Service exibido na arquitetura de alta disponibilidade usa a opção incorporada MySQL High Availability, que cria três instâncias e as coloca em diferentes domínios de falha.
- Segurança
Use políticas que restrinjam quem pode acessar os recursos disponíveis do OCI. O OKE é integrado ao OCI Identity and Access Management (IAM). O IAM fornece autenticação fácil com a funcionalidade nativa de identidade do OCI.
Implante
Essa arquitetura de referência pode ser implantada e gerenciada no cluster do OKE sem usar a console ou a CLI do OCI e automatizada com um gráfico Helm. O gráfico de amostra do Helm para essa arquitetura de referência facilita a criação e o gerenciamento de um Sistema MySQL Database com base em um cluster do Kubernetes implantado na OCI. Você pode fazer download do código em GitHub e personalizá-lo para atender às suas necessidades específicas.
- Vá para GitHub.
- Clone ou faça download do repositório para seu computador local.
- Siga as instruções no documento
README
.
Explorar Mais
Revise estes recursos adicionais para saber mais sobre os recursos desta arquitetura:
- Estrutura de melhores práticas do Oracle Cloud Infrastructure
- Implante Aplicativos Nativos da Nuvem que usam o MySQL no Oracle Cloud Infrastructure
- Saiba mais sobre como implementar o MySQL Database Service no Oracle Cloud
- Operador de Serviço do OCI para Kubernetes
- Visão Geral do OCI Kubernetes Engine
- The Oracle MySQL Blog