Distribuire Oracle WebLogic Server in un cluster Kubernetes

Puoi distribuire SOA nei cluster Kubernetes on premise e in Oracle Cloud. L'esecuzione di Oracle SOA su Kubernetes offre un equilibrio tra automazione, portabilità e possibilità di personalizzare più domini. L'operatore Kubernetes WebLogic è uno strumento open source che semplifica il processo di creazione e gestione di più domini SOA in un cluster Kubernetes.

Architettura

Questa architettura di riferimento mostra un dominio Oracle SOA e un dominio OSB (Oracle Service Bus) facoltativo distribuito in un cluster Kubernetes di cui è stato eseguito il provisioning in Oracle Cloud utilizzando OCI Kubernetes Engine. Questo servizio semplifica la creazione di un cluster Kubernetes e la fornitura dei servizi necessari, come un load balancer, uno storage a blocchi e una rete.

Il seguente diagramma illustra questa architettura di riferimento.

Descrizione di soa-oke.png
Descrizione dell'immagine soa-oke.png

soa-oke-oracle.zip

L'architettura presenta i seguenti componenti:

  • Area

    Un'area geografica Oracle Cloud Infrastructure è un'area geografica localizzata che contiene uno o più data center, denominati domini di disponibilità. Le regioni sono indipendenti da altre regioni e grandi distanze possono separarle (tra paesi o addirittura continenti).

  • Domini di disponibilità

    I domini di disponibilità sono data center standalone e indipendenti all'interno di un'area geografica. Le risorse fisiche in ciascun dominio di disponibilità sono isolate dalle risorse negli altri domini di disponibilità, il che fornisce tolleranza agli errori. I domini di disponibilità non condividono l'infrastruttura, ad esempio alimentazione o raffreddamento, o la rete interna del dominio di disponibilità. Pertanto, un errore in un dominio di disponibilità non dovrebbe influire sugli altri domini di disponibilità nell'area.

  • Domini di errore

    Un dominio di errore consiste in un gruppo di hardware e infrastruttura all'interno di un dominio di disponibilità. Ogni dominio di disponibilità dispone di tre domini di errore con alimentazione e hardware indipendenti. Quando distribuisci le risorse su più domini di errore, le tue applicazioni possono tollerare errori fisici del server, manutenzione del sistema e errori di alimentazione all'interno di un dominio di errore.

  • Rete cloud virtuale (VCN) e subnet

    Una VCN è una rete personalizzabile e definita dal software configurata in un'area Oracle Cloud Infrastructure. Come le tradizionali reti di data center, le reti VCN consentono di controllare l'ambiente di rete. Una VCN può avere più blocchi CIDR non sovrapposti che è possibile modificare dopo aver creato la VCN. Puoi segmentare una VCN in subnet, che possono essere definite in un'area o in un dominio di disponibilità. Ogni subnet è costituita da un intervallo contiguo di indirizzi che non si sovrappongono alle altre subnet nella VCN. È possibile modificare le dimensioni di una subnet dopo la creazione. Una subnet può essere pubblica o privata.

  • Load balancer

    Il servizio Oracle Cloud Infrastructure Load Balancing fornisce la distribuzione automatica del traffico da un unico punto di accesso a più server raggiungibili dalla VCN.

  • Storage file

    Il servizio Oracle Cloud Infrastructure File Storage fornisce un file system di rete duraturo, scalabile, sicuro e di livello aziendale. Puoi connetterti a un file system del servizio di storage di file da qualsiasi istanza Bare Metal, virtual machine o container in una rete VCN. Puoi anche accedere a un file system dall'esterno della VCN utilizzando Oracle Cloud Infrastructure FastConnect e IPSec VPN. Il servizio di storage di file viene utilizzato per creare un volume persistente in cui memorizzare gli artifact del dominio SOA.

  • Motore Kubernetes

    Oracle Cloud Infrastructure Kubernetes Engine (OCI Kubernetes Engine o OKE) è un servizio completamente gestito, scalabile e ad alta disponibilità che puoi utilizzare per distribuire le tue applicazioni containerizzate nel cloud. Puoi specificare le risorse di computazione richieste dalle tue applicazioni e Kubernetes Engine le esegue sul Oracle Cloud Infrastructure in una tenancy esistente. OKE utilizza Kubernetes per automatizzare l'implementazione, la scalabilità e la gestione di applicazioni containerizzate tra cluster di host.

  • Dominio SOA

    Un dominio SOA è un gruppo di applicazioni e risorse correlate e le informazioni di configurazione necessarie per eseguirle. Un dominio include una o più istanze SOA, che possono essere in cluster, non in cluster o una combinazione di cluster e non in cluster. Un dominio può includere più cluster.

  • Cluster SOA e (facoltativo) Oracle Service Bus

    Un cluster fa parte di un dominio SOA specifico. Un cluster è composto da più istanze SOA che vengono eseguite simultaneamente e lavorano insieme per fornire una maggiore scalabilità e affidabilità.

    Un cluster SOA è diverso da un cluster Kubernetes. Un cluster SOA viene visualizzato per i client come singola istanza SOA. Le istanze di server che compongono un cluster possono essere eseguite sullo stesso computer o trovarsi su computer diversi. Ogni istanza di server in un cluster deve eseguire la stessa versione di Oracle WebLogic Server.

  • WebLogic Operatore Kubernetes

    Un operatore Kubernetes è un software che gestisce applicazioni complesse. L'operatore Kubernetes WebLogic è progettato per svolgere un ruolo simile a quello di operatore umano in un'implementazione di data center tradizionale. Le sue attività includono l'avvio e l'arresto degli ambienti, l'avvio dei backup, l'esecuzione di operazioni di ridimensionamento, l'esecuzione di attività manuali associate a esigenze di disaster recovery e alta disponibilità e il coordinamento delle azioni con altri operatori in altri data center.

Suggerimenti

Le vostre esigenze potrebbero differire dall'architettura descritta qui. Utilizzare i seguenti suggerimenti come punto di partenza.

  • VCN

    Quando crei una VCN, determina il numero di blocchi CIDR necessari e la dimensione di ciascun blocco in base al numero di risorse che intendi collegare alle subnet nella VCN. Utilizzare i blocchi CIDR all'interno dello spazio di indirizzi IP privati standard.

    Selezionare i blocchi CIDR che non si sovrappongono a qualsiasi altra rete (in Oracle Cloud Infrastructure, nel data center on premise o in un altro provider cloud) a cui si intende impostare connessioni private.

    Dopo aver creato una VCN, puoi modificarne, aggiungerne e rimuoverne i blocchi CIDR.

    Quando si progettano le subnet, considerare il flusso di traffico e i requisiti di sicurezza. Collega tutte le risorse all'interno di un livello o ruolo specifico alla stessa subnet, che può fungere da limite di sicurezza.

    Utilizzare le subnet regionali.

    Questa architettura utilizza una subnet pubblica per i load balancer e una subnet privata per ospitare i nodi OCI Kubernetes Engine.

  • Motore Kubernetes OCI

    Sebbene l'operatore supporti qualsiasi cluster Kubernetes generico, questa architettura utilizza i cluster OCI Kubernetes Engine. Questi cluster dispongono di cinque nodi di lavoro distribuiti su host fisici diversi. Il cluster mostrato contiene nodi di lavoro distribuiti su host fisici diversi. È possibile creare fino a 1000 nodi in un cluster. I nodi di lavoro vengono distribuiti sugli host Oracle Linux VM.Standard2.1.

  • Load balancer

    Per impostazione predefinita, i server Oracle WebLogic Server (server di amministrazione e gestiti) creati dall'operatore non sono esposti al di fuori del cluster OCI Kubernetes Engine. Per esporre l'applicazione al mondo esterno, questa architettura utilizza un load balancer pubblico nel servizio di bilanciamento del carico. Un load balancer pubblico dispone di un indirizzo IP pubblico accessibile da Internet. Questa architettura utilizza un load balancer con 100 Mbps per gestire il traffico. Se devi gestire un numero maggiore di traffico in entrata, puoi scegliere una larghezza di banda maggiore, fino a 8000 Mbps.

  • Storage file

    Per garantire la conformità alle procedure ottimali per l'esecuzione dei domini di Oracle WebLogic Server, i file di configurazione del dominio in questa architettura vengono memorizzati nello storage di file condiviso accessibile da tutti i server WebLogic del cluster. Questa configurazione offre i seguenti vantaggi:

    • Non è necessario ricreare le immagini Docker per le modifiche alla configurazione del dominio.
    • I backup sono più veloci e centralizzati.
    • I log vengono memorizzati per impostazione predefinita nello storage persistente.

Considerazioni

  • Scalabilità

    Puoi eseguire lo scale out della tua applicazione aggiornando il numero di nodi di lavoro nel cluster Kubernetes, a seconda del carico. Analogamente, è possibile eseguire lo scale in riducendo il numero di nodi di lavoro nel cluster. Nel cluster Kubernetes, quando crei un servizio, puoi creare un load balancer per distribuire il traffico del servizio tra i nodi assegnati a tale servizio. È possibile creare il volume persistente utilizzando Terraform o la console Web Oracle, quindi fare riferimento a tale volume dagli script operatore. È possibile ridimensionare il dominio e i cluster SOA regolando il numero di server gestiti assegnati al cluster, indipendentemente dal numero di nodi del cluster OKE.

  • Disponibilità dell'applicazione

    Il cluster Kubernetes dispone di tre nodi di lavoro per i server gestiti distribuiti su diverse infrastrutture fisiche, in modo che i cluster Oracle WebLogic Server abbiano la massima disponibilità.

  • Sicurezza

    Utilizza i criteri per controllare chi può utilizzare le risorse di Oracle Cloud Infrastructure e le operazioni che possono eseguire.

    OCI Kubernetes Engine è integrato con Oracle Cloud Infrastructure Identity and Access Management (IAM). IAM offre un'autenticazione semplice con la funzionalità di identità nativa di Oracle Cloud Infrastructure.

Visualizza altro

Per ulteriori informazioni sulla distribuzione di SOA su Kubernetes, esaminare le risorse aggiuntive riportate di seguito.