Implantar o Oracle WebLogic Server em um Cluster do Kubernetes

Você pode implantar SOA em clusters do Kubernetes on-premises e no Oracle Cloud. A execução do Oracle SOA no Kubernetes oferece um equilíbrio entre automação, portabilidade e a capacidade de personalizar vários domínios. O WebLogic Kubernetes Operator é uma ferramenta de código-fonte aberto que simplifica o processo de criação e gerenciamento de vários domínios SOA em um cluster do Kubernetes.

Arquitetura

Essa arquitetura de referência mostra um domínio do Oracle SOA e um domínio opcional do Oracle Service Bus (OSB) implantado em um cluster do Kubernetes provisionado no Oracle Cloud usando o OCI Kubernetes Engine. Esse serviço facilita a criação de um cluster do Kubernetes e fornece os serviços necessários, como balanceador de carga, armazenamento em blocos e rede.

O diagrama a seguir ilustra essa arquitetura de referência.

Veja a seguir a descrição da soa-oke.png
Descrição da ilustração soa-oke.png

soa-oke-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.

  • Balanceador de Carga

    O serviço Oracle Cloud Infrastructure Load Balancing fornece distribuição automatizada de tráfego de um ponto de entrada para vários servidores acessíveis pela VCN.

  • File Storage

    O serviço Oracle Cloud Infrastructure File Storage fornece um sistema de arquivos de rede durável, escalável e seguro e de nível empresarial. Você pode se conectar a um sistema de arquivos do serviço File Storage de qualquer instância bare metal, de máquina virtual ou de contêiner em uma VCN. Você também pode acessar um sistema de arquivos de fora da VCN usando o Oracle Cloud Infrastructure FastConnect e a IPSec VPN. O File Storage Service é usado para criar um Volume Persistente para armazenar os artefatos do domínio SOA.

  • Kubernetes Engine

    O Oracle Cloud Infrastructure Kubernetes Engine (OCI 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.

  • Domínio SOA

    Um domínio SOA é um grupo de aplicativos e recursos relacionados e as informações de configuração necessárias para executá-los. Um domínio inclui uma ou mais instâncias SOA, que podem ser clusterizadas, não clusterizadas ou uma combinação de clusterizadas e não clusterizadas. Um domínio pode incluir vários clusters.

  • Clusters do SOA e (opcionais) do Oracle Service Bus

    Um cluster faz parte de um domínio SOA específico. Um cluster consiste em várias instâncias do SOA em execução simultaneamente e trabalhando juntas para oferecer maior escalabilidade e confiabilidade.

    Um cluster SOA é diferente de um cluster do Kubernetes. Um cluster SOA aparece para os clientes como uma única instância SOA. As instâncias do servidor que constituem um cluster podem ser executadas na mesma máquina ou em máquinas diferentes. Cada instância do servidor em um cluster deve ter a mesma versão do Oracle WebLogic Server.

  • WebLogic Operador do Kubernetes

    Um operador Kubernetes é um software que gerencia aplicativos complexos. O WebLogic Kubernetes Operator foi projetado para executar uma atribuição semelhante à de um operador humano em uma implantação de data center tradicional. Suas tarefas incluem iniciar e interromper ambientes, iniciar backups, executar operações de dimensionamento, executar tarefas manuais associadas a recuperação de desastres e necessidades de alta disponibilidade e coordenar ações com outros operadores em outros data centers.

Recomendações

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

  • 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.

    Usar sub-redes regionais.

    Essa arquitetura usa uma sub-rede pública para os balanceadores de carga e uma sub-rede privada para hospedar nós do OCI Kubernetes Engine.

  • Mecanismo do Kubernetes do OCI

    Embora o operador suporte qualquer cluster genérico do Kubernetes, essa arquitetura usa clusters do OCI Kubernetes Engine. Esses clusters têm cinco nós de trabalho distribuídos por diferentes hosts físicos. O cluster mostrado tem nós de trabalho distribuídos por diferentes hosts físicos. Você pode criar até 1000 nós em um cluster. Os nós de trabalho são implantados nos hosts VM.Standard2.1 do Oracle Linux.

  • Balanceador de carga

    Por padrão, os servidores Oracle WebLogic Server (servidores administrativos e gerenciados) criados pelo operador não são expostos fora do cluster do OCI Kubernetes Engine. Para expor o aplicativo ao mundo exterior, essa arquitetura usa um balanceador de carga público no serviço Load Balancing. Um balanceador de carga público tem um endereço IP público acessível pela internet. Essa arquitetura usa um balanceador de carga com 100 Mbps para tratar o tráfego. Se você precisar lidar com mais tráfego de entrada, poderá escolher largura de banda maior, até 8000 Mbps.

  • File Storage

    Para estar em conformidade com as melhores práticas de execução de domínios do Oracle WebLogic Server, os arquivos de configuração de domínio nessa arquitetura são armazenados no Armazenamento de Arquivos compartilhado que é acessível de todos os servidores WebLogic do cluster. Essa configuração oferece as seguintes vantagens:

    • Não é necessário recriar imagens do Docker para alterações na configuração do domínio.
    • Os backups são mais rápidos e centralizados.
    • Os logs são armazenados por padrão no armazenamento persistente.

Considerações

  • Escalabilidade

    Você pode expandir seu aplicativo atualizando o número de nós de trabalho no cluster do Kubernetes, dependendo da carga. Da mesma forma, você pode ampliar reduzindo o número de nós de trabalho no cluster. No cluster do Kubernetes, ao criar um serviço, você pode criar um balanceador de carga para distribuir o tráfego de serviço entre os nós designados para esse serviço. Você pode criar seu volume persistente usando o Terraform ou o Oracle Web Console e, em seguida, referenciá-lo nos scripts do operador. Você pode dimensionar o domínio SOA e os clusters ajustando o número de servidores gerenciados designados ao cluster, independentemente do número de nós do cluster do OKE.

  • Disponibilidade do aplicativo

    O cluster do Kubernetes tem três nós de trabalho para servidores gerenciados que estão espalhados por diferentes infraestruturas físicas, para que os próprios clusters do Oracle WebLogic Server tenham a maior disponibilidade.

  • Segurança

    Use políticas para controlar quem pode executar seus recursos do Oracle Cloud Infrastructure e as operações que eles podem executar.

    O OCI Kubernetes Engine é integrado ao Oracle Cloud Infrastructure Identity and Access Management (IAM). O serviço IAM fornece autenticação fácil com funcionalidade nativa de identidade do Oracle Cloud Infrastructure.

Explorar Mais

Para saber mais sobre a implantação do SOA no Kubernetes, analise estes recursos adicionais: