Observação:
- Este tutorial requer acesso ao Oracle Cloud. Para se inscrever e obter uma conta gratuita, consulte Conceitos Básicos do Oracle Cloud Infrastructure Free Tier.
- Ele usa valores de exemplo para credenciais, tenancy e compartimentos do Oracle Cloud Infrastructure. Ao concluir seu laboratório, substitua esses valores por valores específicos do seu ambiente de nuvem.
Implantar o Oracle FLEXCUBE no OKE
Introdução
O Oracle FLEXCUBE Universal Banking requer que várias etapas sejam executadas antes de ter um ambiente ativo e em execução. Sendo um aplicativo Java Enterprise Edition (JEE), ele inclui uma base de software mínima a ser instalada, como banco de dados e servidor de aplicativos. Para este exemplo, o Oracle WebLogic e o Oracle Database são usados como parte da pilha técnica. Para ativar um sistema completo e em execução, uma implantação padrão seguiria estas etapas:
1. Install Oracle Database
2. Install Oracle Weblogic Fusion Middleware Infrastructure
3. Install Oracle FLEXCUBE database artifacts
4. Install Oracle FLEXCUBE application server artifacts
5. Configure initial setup
6. Tune database
7. Tune application
8. Personalize as per business needs
Um instalador de aplicativo executa as etapas iniciais. O processo é repetível, mas também é demorado, o que significa que, dependendo da complexidade do ambiente a ser criado, pode levar vários dias para implantar o sistema. Uma maneira de melhorar esse processo é automatizar a maioria dele e é aí que as estratégias de conteinerização podem beneficiar esses tipos de arquiteturas.
As primeiras 7 etapas listadas antes podem ser totalmente automatizadas usando contêineres, como imagens do Docker e uma combinação de ferramentas para manter e gerenciar isso. Os dados configurados no banco de dados tornam-se um artefato de seed replicável e a camada do aplicativo é transformada em uma imagem já ajustada e armazenada como uma cópia mestre. O Oracle Cloud Infrastructure (OCI) então fornece elementos para replicar a qualquer momento, um ambiente completo baseado nessa cópia mestre do sistema.
Observação:
Podemos implantar o banco de dados ou armazenamentos de dados potencialmente diferentes em contêineres independentes?
Possivelmente sim, mas para este tutorial, decidimos mantê-lo como uma implantação de banco de dados em nuvem regular com todos os armazenamentos de dados no mesmo esquema e preservar qualquer prática comum existente no nível do banco de dados.
A intenção deste tutorial não é transformar a arquitetura em uma arquitetura baseada em microsserviços porque isso exigiria outras alterações estruturais que não fazem parte do escopo. Mais informações sobre o banco de dados Oracle no Docker estão disponíveis em: Oracle GitHub.
Objetivos
- Implante rapidamente uma imagem FLEXCUBE manualmente
- Criar uma imagem do contêiner FLEXCUBE
- Crie um DevOps para criar e implantar o FLEXCUBE em um cluster do Kubernetes
Pré-requisitos
- Um cluster do OKE com um nó de trabalho com pelo menos:
- 8 OCPUs
- 64 GB de RAM
kubectl
acesso ao cluster do OKE para operações locais- Um backup de banco de dados FLEXCUBE no OCI Database (DBaaS)
- A VCN do OKE precisa acessar a DBaaS
- Permissão e limite o uso para criar:
- Balanceadores de Carga
- Armazenamento de Volumes em Blocos
- Configuração JDBC para seu backup FLEXCUBE:
- nome do usuário
- senha
- Ponto Final (IP/Porta) do Oracle Database
- Conhecimento de:
- WebLogic Uso de Administração e Ferramentas: Uso de
setWLSEnv.sh
- Administração básica do Kubernetes
- Operação do Visual Builder ou Jenkins
- Administração e configuração do FLEXCUBE
- WebLogic Uso de Administração e Ferramentas: Uso de
Observação:
Para criar um cluster do OKE no tenant do OCI, consulte: Criar seu cluster do OKE.
Se você já tiver criado o cluster do OKE, verifique se configurou o acesso ao cluster conforme descrito no tópico Fazer Download do Arquivo Kubeconfig.
Para obter instruções sobre como instalar o kubectl, consulte: Instalar o kubectl
Tarefa 1: Criar um Servidor de Administração WebLogic
Vamos começar com um POD de Servidor Admin simples WebLogic no seu cluster do Kubernetes.
-
No arquivo weblogic.zip, você pode encontrar:
- LEIAME: Alguns links que ajudam a criar seu cluster do OKE, se ainda não tiverem sido criados
- secret.sh: Um script bash que ajuda a criar o segredo para acessar o Repositório de Imagens da Oracle para usar a imagem WebLogic
- weblogic.yaml: O arquivo YAML para criar uma instância de WebLogic e portas de serviço para acessar o servidor de administração
Observação: você precisa designar o Repositório de Imagens da Oracle e definir suas credenciais (usuário/senha) para obter a imagem WebLogic. Para obter mais informações, consulte: Repositório de Imagens da Oracle
-
Com suas credenciais no Oracle Image Repository (login/senha), você precisa editar o script secret.sh e adicionar suas credenciais ao arquivo. Execute esse comando para fornecer o segredo no cluster do OKE. Você não pode implantar o Contêiner WebLogic sem esta etapa.
sh secret.sh
-
Agora, podemos prosseguir com a implantação WebLogic. Você pode ajustar muitos parâmetros, mas, para esse teste, manter a Porta 7001 e as credenciais para fazer log-in no Servidor de Administração WebLogic.
weblogic.yaml
apiVersion: apps/v1 kind: Deployment metadata: name: weblogic-deployment spec: replicas: 1 selector: matchLabels: app: weblogic template: metadata: labels: app: weblogic spec: containers: - name: weblogic image: container-registry.oracle.com/middleware/weblogic:12.2.1.4 env: - name: DOMAIN_NAME value: "myDomain" - name: ADMIN_NAME value: "myadmin" - name: ADMIN_LISTEN_PORT value: "7001" - name: ADMIN_HOST value: "AdminContainer" - name: ADMINISTRATION_PORT_ENABLED value: "false" - name: ADMINISTRATION_PORT value: "9005" - name: MANAGED_SERVER_PORT value: "8001" - name: MANAGED_SERVER_NAME_BASE value: "MS" - name: CONFIGURED_MANAGED_SERVER_COUNT value: "2" - name: CLUSTER_NAME value: "cluster1" - name: CLUSTER_TYPE value: "DYNAMIC" - name: PRODUCTION_MODE value: "dev" - name: DOMAIN_HOST_VOLUME value: "/app/domains" - name: PROPERTIES_FILE_DIR value: "/u01/oracle/properties" - name: PROPERTIES_FILE value: "/u01/oracle/properties/domain.properties" command: [ "/bin/bash", "-c", "--" ] args: [ "mkdir /u01/oracle/properties; cd /u01/oracle/properties; echo 'username=weblogic' > domain.properties; echo 'password=weblogic123' >> domain.properties; cd /u01/oracle; ./createAndStartEmptyDomain.sh; while true; do sleep 30; done;" ] ports: - name: port9005 containerPort: 9005 imagePullSecrets: - name: oracledockersecret --- apiVersion: v1 kind: Service metadata: name: weblogic-service labels: app: weblogic spec: selector: app: weblogic ports: - port: 7001 targetPort: 7001 name: adminserver - port: 8001 targetPort: 8001 name: managedserver - port: 9005 targetPort: 9005 name: adminport type: LoadBalancer
-
Em seu terminal, você pode executar o arquivo
weblogic.yaml
para implantar o servidor admin.kubectl apply -f weblogic.yaml
-
Você pode ver a porta de serviços e balanceadores de carga para acessar seu servidor de administração. Execute este comando:
kubectl get svc
-
Os seguintes detalhes são exibidos:
-
Observe um valor pendente no weblogic-service. Isso significa que um balanceador de carga não está pronto com um IP público. Aguarde um minuto e depois você pode repetir o comando kubectl para exibir o IP público.
-
Com um endereço IP público, abra o seguinte URL no seu browser:
http://<Public IP>:7001/console
-
Agora você pode ver o servidor de administração. O usuário e a senha, conforme definidos no arquivo YAML, são:
usuário: senha do weblogic: weblogic123
Tarefa 2: Obter a senha do banco de dados no formato AES256
Verifique o backup do banco de dados FLEXCUBE e obtenha a senha do banco de dados no formato AES256.
-
Lembre-se de que você precisa do Oracle Database no OCI DBaaS e restaurar seu backup do FLEXCUBE. Depois de verificar a restauração de um backup de banco de dados FLEXCUBE válido, você precisará dessas informações para acessar o conteúdo do banco de dados FLEXCUBE:
- Ponto Final (IP/Porta)
- Nome do Usuário
- Senha
-
Não é possível usar a senha no formato de texto; você precisa converter sua senha em um formato AES256. A maneira mais fácil de converter sua senha em um formato AES256 é usar a ferramenta WebLogic:
setWLSEnv.sh
-
Você pode encontrar este script bash da ferramenta no caminho WebLogic:
./oracle/wlserver/server/bin
-
Para converter sua senha, você precisa executar estes comandos como este:
cd ./oracle/wlserver/server/bin . ./setWLSEnv.sh java -Dweblogic.RootDirectory=../user_projects/domains/integrated weblogic.security.Encrypt <Database Password>
-
Após a execução de setWLSEnv.sh, você obtém uma senha no formato AES256, como este exemplo:
{AES256}7kfaltdnEBjKNq.......RIU0IcLOynq1ee8Ib8=
-
Vamos usar seu POD de Servidor Admin WebLogic mais recente para executar esse comando.
kubectl exec -it $(kubectl get pod -l app=weblogic -o jsonpath="{.items[0].metadata.name}") -- /bin/bash
-
Aguarde até que você possa entrar no contêiner do seu servidor WebLogic. Execute a seguinte sequência de comandos:
cd /u01/oracle/wlserver/server/bin . ./setWLSEnv.sh java -Dweblogic.RootDirectory=/u01/oracle/user_projects/domains/myDomain weblogic.security.Encrypt <Database Password>
-
Substitua
por sua Senha de texto. -
Você pode ver a senha {AES256}. Salve essas informações para as próximas etapas.
-
Execute este comando para sair do contêiner:
exit
. -
Agora você pode excluir o Servidor Admin WebLogic. Você precisa excluí-lo por causa do FLEXCUBE. Ele também usará a porta 7001.
kubectl delete -f weblogic.yaml
Tarefa 3: Executar uma implantação manual com o kubectl
Você pode implantar o FLEXCUBE (fcubs) no cluster do OKE com o comando kubectl. Ele poderá ser feito na sua máquina local se você tiver configurado o acesso ao cluster do OKE para a ferramenta de comando kubectl.
Vamos entender o arquivo integrated145.yaml
O arquivo yaml contém alguns parâmetros importantes para criar o pod: inclui o nome da implantação, reconhece o IP interno/nome do host, onde selecionar a imagem de WebLogic, a conexão jdbc e o acesso do banco de dados criptografado.
No mesmo arquivo yaml, também é definido o tamanho esperado pelo pod, considerando o número de recursos necessários e até o limite que ele pode crescer em caso de aumento do consumo.
As portas a serem expostas também são definidas no arquivo yaml, o que permite uma segurança personalizada. O aplicativo pode ser acessado pelo usuário comercial, pela console WebLogic pelo administrador, pelos serviços web pelos desenvolvedores, e assim por diante.
Observação: Neste cenário, criamos todos os serviços no mesmo POD. Para escalar, temos que escalar tudo. Uma boa maneira de quebrar um monólito seria instanciar diferentes pods usando diferentes portas sendo expostas em diferentes servidores WebLogic. Consequentemente, os pods podem ser dimensionados de forma independente.
Como exemplo, um POD de serviços Web fortemente usado em integrações pode exigir e usar 10 núcleos e escala sempre que necessário, enquanto o aplicativo (implantado no outro pod) exigirá apenas 2 núcleos e terá um comportamento mais "constante".
Este é o arquivo integrated145.yaml:
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: flexcubeclaim
spec:
accessModes:
- ReadWriteOnce
storageClassName: oci-bv
resources:
requests:
storage: 500Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: integrated145-deployment
spec:
replicas: 1
selector:
matchLabels:
app: integrated145
template:
metadata:
labels:
app: integrated145
spec:
hostname: integrated145
hostAliases:
- ip: "127.0.0.1"
hostnames:
- "fcubs.oracle.com"
containers:
- name: integrated145
image: gru.ocir.io/idvkxij5qkne/oraclefmw-infra:12.2.1.4.0_jdk8u281_pt34080315_apr22
command: [ "/bin/sh", "-c"]
args:
[ "sleep 180; su - gsh ; cd /; yum -y install wget; wget https://objectstorage.us-ashburn-1.oraclecloud.com/p/dX80UuetlAvWOEbvQNMBv47H3ZPR-zZHJJmTsu_GQ66icfgFaPSSu_97j8q3Fyrp/n/idcci5ks1puo/b/flexcubeBucketNewVersion/o/initializeConfig.sh; yum -y install unzip; sh initializeConfig.sh jdbc:oracle:thin:@x.x.x.x:1521/prodpdb.sub0xxxxxxxxx0.arspvcn.oraclevcn.com {AES256}AgWyiXhc7aM112gNRUwBIWf5QpTpWMlI537LrIfPWjCcmwNCsynBxxg99; while true; do sleep 30; done;" ]
ports:
- name: port7001
containerPort: 7001
- name: port7002
containerPort: 7002
- name: port7003
containerPort: 7003
- name: port7004
containerPort: 7004
- name: port7005
containerPort: 7005
- name: port7006
containerPort: 7006
- name: port7007
containerPort: 7007
- name: port7008
containerPort: 7008
- name: port7009
containerPort: 7009
- name: port7010
containerPort: 7010
- name: port7011
containerPort: 7011
- name: port7012
containerPort: 7012
- name: port7013
containerPort: 7013
- name: port7014
containerPort: 7014
- name: port7015
containerPort: 7015
- name: port7016
containerPort: 7016
- name: port7017
containerPort: 7017
- name: port7018
containerPort: 7018
- name: port7019
containerPort: 7019
- name: port7020
containerPort: 7020
- name: port5556
containerPort: 5556
# livenessProbe:
# httpGet:
# path: /console
# port: 7001
# initialDelaySeconds: 3000
# timeoutSeconds: 30
# periodSeconds: 300
# failureThreshold: 3
volumeMounts:
- name: data
mountPath: /scratch/gsh/kernel145
readOnly: false
resources:
requests:
cpu: "5"
memory: "36Gi"
#ephemeral-storage: "500Gi"
limits:
cpu: "8"
memory: "64Gi"
#ephemeral-storage: "500Gi"
# restartPolicy: Always
volumes:
- name: data
persistentVolumeClaim:
claimName: flexcubeclaim
imagePullSecrets:
- name: ocirsecret
---
apiVersion: v1
kind: Service
metadata:
name: integrated145-service
labels:
app: integrated145
# annotations:
# service.beta.kubernetes.io/oci-load-balancer-internal: "true"
# service.beta.kubernetes.io/oci-load-balancer-shape: "100Mbps"
# service.beta.kubernetes.io/oci-load-balancer-subnet1: "ocid1.subnet.oc1.sa-saopaulo-1.aaaaaaa.........................zjyrza"
spec:
selector:
app: integrated145
ports:
- port: 7004
targetPort: 7004
type: LoadBalancer
---
apiVersion: v1
kind: Service
metadata:
name: integrated145-service-weblogic
labels:
app: integrated145
# annotations:
# service.beta.kubernetes.io/oci-load-balancer-internal: "true"
# service.beta.kubernetes.io/oci-load-balancer-shape: "100Mbps"
# service.beta.kubernetes.io/oci-load-balancer-subnet1: "ocid1.subnet.oc1.sa-saopaulo-1.aaaaaaa.........................zjyrza"
spec:
selector:
app: integrated145
ports:
- port: 7001
targetPort: 7001
type: LoadBalancer
---
apiVersion: v1
kind: Service
metadata:
name: or Jenkins
labels:
app: integrated145
# annotations:
# service.beta.kubernetes.io/oci-load-balancer-internal: "true"
# service.beta.kubernetes.io/oci-load-balancer-shape: "100Mbps"
# service.beta.kubernetes.io/oci-load-balancer-subnet1: "ocid1.subnet.oc1.sa-saopaulo-1.aaaaaaa.........................zjyrza"
spec:
selector:
app: integrated145
ports:
- port: 7005
targetPort: 7005
type: LoadBalancer
---
apiVersion: v1
kind: Service
metadata:
name: integrated145-webservices2
labels:
app: integrated145
# annotations:
# service.beta.kubernetes.io/oci-load-balancer-internal: "true"
# service.beta.kubernetes.io/oci-load-balancer-shape: "100Mbps"
# service.beta.kubernetes.io/oci-load-balancer-subnet1: "ocid1.subnet.oc1.sa-saopaulo-1.aaaaaaa.........................zjyrza"
spec:
selector:
app: integrated145
ports:
- port: 7009
targetPort: 7009
type: LoadBalancer
Observação: Resiliência - A implantação do FLEXCUBE é resiliente; portanto, se o WebLogic ou o FLEXCUBE ficar inativo, o cluster do Kubernetes será carregado e executado novamente. O responsável por isso é a investigação de vida dentro do arquivo integrated145.yaml. Remova o comentário das linhas a seguir se quiser ativar um cheque no contêiner.
# livenessProbe: # httpGet: # path: /console # port: 7001 # initialDelaySeconds: 3000 # timeoutSeconds: 30 # periodSeconds: 300 # failureThreshold: 3 . . . # restartPolicy: Always
Vamos entender alguns arquivos de script
Alguns arquivos são necessários para:
- Implantando a estrutura do FLEXCUBE dentro da imagem do Fusion
- Configurando origens de dados JDBC para acessar o banco de dados FLEXCUBE
- Configurando outros parâmetros necessários para ativar e executar o FLEXCUBE
FLEXCUBE-Package.zip
Este pacote é um arquivo zip. Ele contém todos os scripts necessários para configurar e executar a instância do FLEXCUBE. O conteúdo deste pacote está na pasta scripts.zip. Este pacote contém:
-
initializeConfig.sh: O arquivo principal que executa todos os outros scripts para configurar e executar o FLEXCUBE
-
domainsDetails.properties: O arquivo base que será alterado pelo script
initializeConfig.sh
-
config.xml: O arquivo base que será alterado pelo script
initializeConfig.sh
-
flexcube.sh: Script para fazer download da estrutura v14.5 do FLEXCUBE dentro do POD
-
JDBCReplace.sh: Script para substituir todas as origens de dados JDBC pelo ponto final (IP/Porta) do banco de dados FLEXCUBE, nome de usuário e senha do banco de dados flexcube (formato AES256)
-
JDBCList: O arquivo que contém todos os arquivos XML relacionados às origens de dados do aplicativo. Ele será usado por JDBCReplace.sh
-
ExecuteWebLogic.sh: Script para executar o Servidor de Domínio WebLogic, o Gerenciador de Nós e iniciar aplicativos (com StartApps.sh e StartApps.py)
-
StartApps.sh: Script para executar o script WLST
StartApps.py
-
StartApps.py: Script que executa os aplicativos FLEXCUBE
Observação: A pasta extra-scripts.zip contém mais scripts que serão úteis para tarefas adicionais. Não faz parte do núcleo deste tutorial.
Preparar o arquivo YAML
Nesta etapa, você precisa configurar o arquivo integrated145.yaml
. Esse arquivo YAML é responsável por implantar o aplicativo, o acesso ao aplicativo por meio de um balanceador de carga e criar um armazenamento para persistência. A configuração é basicamente colocar as informações do banco de dados no arquivo YAML.
-
Localize esta linha no arquivo integrated145.yaml:
-
Role e localize a seguinte linha:
sh initializeConfig.sh jdbc:oracle:thin:@x.x.x.x:1521/prodpdb.sub0xxxxxxxxx0.arspvcn.oraclevcn.com
-
Altere x.x.x.x:1521/prodpdb.sub0xxxxxxxxx0.arspvcn.oraclevcn.com com seu ponto final DBaaS.
-
Role e localize a seguinte linha:
{AES256}AgWyiXhc7aM112gNRUwBIWf5QpTpWMlI537LrIfPWjCcmwNCsynBxxg99
-
Altere o valor {AES256} com sua senha gerada na etapa anterior.
Execute o arquivo integrated145.yaml
-
Depois que tudo estiver configurado, execute o arquivo YAML:
kubectl apply -f integrated145.yaml
-
O processo de criação da estrutura, configuração e ativação do servidor e do aplicativo do FLEXCUBE pode levar aproximadamente 15 minutos. Depois disso, execute o seguinte comando para exibir a porta de serviços e balanceadores de carga:
kubectl get svc
Você pode ver os IPs Públicos dos Balanceadores de Carga no momento da criação. Aguarde até que todos os IPs Públicos estejam visíveis.
NOME TYPE CLUSTER-IP IP EXTERNO PORTA(S) AGE integrated145-service LoadBalancer 10.x.x.x 210.x.x.x 7004:30868/TCP 200d integrated145-service-weblogic LoadBalancer 10.x.x.x 210.x.x.x 7001:32071/TCP 200d integrated145-webservices LoadBalancer 10.x.x.x 210.x.x.x 7005:30415/TCP 200d integrated145-webservices2 LoadBalancer 10.x.x.x 210.x.x.x 7009:30759/TCP 200d Observação: no arquivo
integrated145.yaml
, você pode ver na seção Serviço, as anotações são comentadas. Esta anotação cria o balanceador de carga no modo privado e seu aplicativo será mais seguro, mas você deverá criar um Bastion para acessar esses aplicativos.# annotations: # service.beta.kubernetes.io/oci-load-balancer-internal: "true" # service.beta.kubernetes.io/oci-load-balancer-shape: "100Mbps" # service.beta.kubernetes.io/oci-load-balancer-subnet1: "ocid1.subnet.oc1.sa-saopaulo-1.aaaaaa.............jyrza"
-
Substitua subnet1 pelo OCID da Sub-rede Privada. Se você optar por usar o FLEXCUBE em uma Sub-rede Privada, crie uma VM de computação como um Bastion.
-
Você pode estabelecer um túnel SSH para acessar seus pontos finais como este:
ssh -i PrivateKey.pem -L 7001:<integrated145-service-weblogic Private IP>:7001 opc@<Bastion Public IP>
ssh -i PrivateKey.pem -L 7004:<integrated145-service Private IP>:7004 opc@<Bastion Public IP>
ssh -i PrivateKey.pem -L 7005:<integrated145-webservices Private IP>:7004 opc@<Bastion Public IP>
E acesse com seu navegador local usando os seguintes URLs:
-
http://localhost:7001/console
-
https://localhost:7004/FCJNeoWeb
-
http://localhost:7005/FCUBSAccService/FCUBSAccService? WSDL
-
-
-
Depois que os IPs estiverem visíveis, você poderá testar seu aplicativo. Abra seu navegador e digite:
-
Para o Servidor de Administração WebLogic:
http://<integrated145-service-weblogic IP>:7001/console
-
Para o Serviço REST:
https://<integrated145-service IP>:7004/FCJNeoWeb
-
Para o Serviço SOAP:
http://<integrated145-webservices>:7005/FCUBSAccService/FCUBSAccService?WSDL
http://<integrated145-webservices>:7009
-
Aplicativo FLEXCUBE na Porta 7004
Serviço SOAP na Porta 7005
Tarefa 4: Automatizar a implantação do FLEXCUBE
Vamos fazer essa tarefa com o Visual Builder Studio. Essa ferramenta faz parte do OCI e é semelhante ao Jenkins. Portanto, se você usar o Jenkins, poderá configurar o CI/CD com ajustes secundários.
-
Crie seu Compromisso para o projeto FLEXCUBE Git. Configure o projeto FLEXCUBE Git na configuração do Visual Builder Studio (ou Jenkins).
-
Crie duas variáveis no pipeline.
-
JDBCString
: Contém a String JDBC. Exemplo:jdbc:oracle:thin:@x.x.x.x:1521/prodpdb.sub0xxxxxxxxx0.arspvcn.oraclevcn.com
-
JDBCPassword
: Contém um formato de senha AES256. Exemplo:{AES256}AgWyiXhc7aM112gNRUwBIWf5QpTpWMlI537LrIfPWjCcmwNCsynBxxg99
No Visual Builder, você pode criar as variáveis como esta:
-
-
Crie as duas etapas a seguir no pipeline: Etapa da CLI do OCI: Necessária para criar a conexão com o tenant do cluster do OKE e Etapa do UNIX Shell: Necessária para executar o processo de implantação.
-
Na Configuração do Job no Visual Builder Studio, clique em Adicionar Novo e selecione OCICli. Você precisa colocar os parâmetros do OCI para autorizar o Visual Builder Studio a operar com sua tenancy e cluster do OKE.
- OCID do Usuário
- Impressão Digital: Configure o acesso à CLI do OCI e faça upload de uma chave pública
- OCID da Tenancy
- Chave Privada: O par de chaves privadas da chave pública submetida a upload na Impressão Digital
- Região: A região do cluster do OKE
- Frase-senha: se você tiver uma senha em sua chave privada
-
Clique em Adicionar Novo e selecione Shell do UNIX. Adicione este script na caixa:
# Prepare for kubectl from OCI CLI mkdir -p $HOME/.kube oci ce cluster create-kubeconfig --cluster-id <OCID of your OKE Cluster> --file $HOME/.kube/config --region us-ashburn-1 --token-version 2.0.0 export KUBECONFIG=$HOME/.kube/config # Set Variables export JDBCString=$JDBCString export JDBCPassword=$JDBCPassword # setup the JDBC variables in integrated145-devops.yaml sed -i "s~--JDBCString--~$JDBCString~g" ./files/scripts/integrated145-devops.yaml sed -i "s~--JDBCPassword--~$JDBCPassword~g" ./files/scripts/integrated145-devops.yaml # Deploy integrated145 kubectl config view kubectl replace -f ./files/scripts/integrated145-devops.yaml --force
Observação: Obtenha o OCID do OKE no seu tenant e adicione a linha "oci ce cluster...". O arquivo integrated145-devops.yaml é semelhante ao arquivo integrated145.yaml, mas preparado para o CI/CD.
No Visual Builder Studio, os seguintes detalhes são exibidos:
-
-
Inicie seu pipeline e aguarde a implantação. Você pode listar os serviços disponíveis com o seguinte comando:
kubectl get svc
NOME TYPE CLUSTER-IP IP EXTERNO PORTA(S) AGE integrated145-service LoadBalancer 10.x.x.x 210.x.x.x 7004:30868/TCP 200d integrated145-service-weblogic LoadBalancer 10.x.x.x 210.x.x.x 7001:32071/TCP 200d integrated145-webservices LoadBalancer 10.x.x.x 210.x.x.x 7005:30415/TCP 200d integrated145-webservices2 LoadBalancer 10.x.x.x 210.x.x.x 7009:30759/TCP 200d
Tarefa 5: Atualizar tabelas de banco de dados para configurar sua instância do FLEXCUBE
-
Depois que o FLEXCUBE tiver sido ativado em seu cluster do Kubernetes e você precisar integrar com outros aplicativos FSGBU, será necessário fazer alguns UPDATEs no banco de dados. Você deve alterar as seguintes tabelas para apontar para os pontos finais corretos da sua instância FLEXCUBE:
TableName Alterar PMTM_EXT_NOTIF_SYSTEM REST_URL CSTM_PROP_MASTER SERVICE_URL IFTM_EXT_PAYSYS_DETAIL WSDL_URLS para OBLM IFTM_EXTERNAL_SERVICE_DETAILS REST_IP PMTM_EXTERNAL_ACC_SYSTEM RS_URL para OBVAM PMTM_ECA_SYSTEM RS_URL para OBVAM STTM_HOST_DSN Contém detalhes do Esquema que são usados apenas para REPORTS e podem ser ignorados -
Se você alterar o hostname da sua configuração, também deverá atualizar o nome do host do contêiner para as seguintes tabelas:
TableName CSTM_EXTERNAL_SERVER_DETAILS PMTM_EXCHANGE_RATE_SYSTEM PMTM_FILE_ENV_SYSTEM PMTM_QUEUE_PROFILE PMTM_SANCTION_SYSTEM PROPRIEDADES IFTM_TF_EXT_SERVICE_DETAILS GETH_BLOCK_EXT_SYS_DETAIL GETM_BLOCK_EXT_SYS_DETAIL CSTB_NGUI_REGISTRY IFTM_TF_EXT_PAYSYS_DETAIL IFTM_TR_EXT_SERVICE_DETAILS OLTM_INTEGRATION_DETAILS IFTM_TR_EXT_PAYSYS_DETAIL IFTM_INTEGRATION_DETAILS IFTM_TF_EXT_SERVICE_DETAILS
Tarefa 6: Excluir a implantação do FLEXCUBE
-
Para excluir a implantação, execute este comando em seu terminal:
kubectl delete -f integrated145.yaml
Links Relacionados
Confirmações
- Autores - Cristiano Hoshikawa (Engenheiro de Soluções da Equipe LAD A), Eduardo Farah (Consultor Principal de Vendas e Arquiteto Bancário)
Mais Recursos de Aprendizagem
Explore outros laboratórios no site docs.oracle.com/learn ou acesse mais conteúdo de aprendizado gratuito no canal YouTube do Oracle Learning. Além disso, visite education.oracle.com/learning-explorer para se tornar um Oracle Learning Explorer.
Para obter a documentação do produto, visite o Oracle Help Center.
Deploy Oracle FLEXCUBE on OKE
F77599-01
February 2023
Copyright © 2023, Oracle and/or its affiliates.