IBM Sterling: Configurando o DB2 como Container no OpenShift: Difference between revisions
(Criou a página com "= Create DB2 on IBM Cloud = 1) click on '''Catalog''' (top menu) 2) In search catalog, type: '''DB2''' and choose '''DB2''' box 3) Inform: * Select a location: '''Dallas...") |
|||
(29 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
= Procedimento = | |||
== Realizando o Deploy do DB2 == | |||
1) Crie um novo projeto no OpenShift para o DB2 e defina contas de serviço e permissões. | |||
oc new-project '''sterling-b2bi-db2''' | |||
oc create serviceaccount '''sterling-b2bi-db2-sa''' | |||
oc adm policy add-scc-to-user privileged -n sterling-b2bi-db2 -z sterling-b2bi-db2-sa | |||
2) Crie o arquivo db2-deploy.yaml para deploy do DB2 no openshift | |||
1 | <nowiki> | ||
apiVersion: v1 | |||
kind: Service | |||
metadata: | |||
name: sterling-b2bi-db2-svc-lb | |||
spec: | |||
selector: | |||
app: db2 | |||
type: LoadBalancer | |||
ports: | |||
- protocol: TCP | |||
port: 50000 | |||
targetPort: 50000 | |||
--- | |||
apiVersion: apps/v1 | |||
kind: StatefulSet | |||
metadata: | |||
name: db2 | |||
spec: | |||
selector: | |||
matchLabels: | |||
app: db2 | |||
serviceName: sterling-b2bi-db2-svc-lb | |||
replicas: 1 | |||
template: | |||
metadata: | |||
labels: | |||
app: db2 | |||
spec: | |||
serviceAccount: sterling-b2bi-db2-sa | |||
containers: | |||
- name: db2 | |||
securityContext: | |||
privileged: true | |||
image: ibmcom/db2 | |||
env: | |||
- name: LICENSE | |||
value: accept | |||
- name: DB2INSTANCE | |||
value: db2inst1 | |||
- name: DB2INST1_PASSWORD | |||
value: db2pw123 | |||
ports: | |||
- containerPort: 50000 | |||
name: db2 | |||
imagePullPolicy: IfNotPresent | |||
volumeMounts: | |||
- mountPath: /database | |||
name: sterling-b2bi-db2-storage | |||
volumeClaimTemplates: | |||
- metadata: | |||
name: sterling-b2bi-db2-storage | |||
spec: | |||
accessModes: | |||
- ReadWriteOnce | |||
resources: | |||
requests: | |||
storage: 20Gi | |||
storageClassName: ibmc-block-gold | |||
</nowiki> | |||
3) Realize o deploy | |||
oc create -f db2-deploy.yaml | |||
Verifique até ficar no status Running. | |||
oc get pods | |||
<small>NAME READY STATUS RESTARTS AGE | |||
db2-0 1/1 Running 0 31m</small> | |||
Espere até ver esta linha como a última entrada no log. '''Ctrl+C''' para interromper os logs. | |||
oc logs -f db2-0 | |||
<small>... | |||
/database/config/db2inst1/sqllib/ctrl/db2strst.lck</small> | |||
== Criando a database para o SB2BI == | |||
From inside the Db2 container, create B2BIDB database for B2Bi. | |||
1) Conectar ao pod de banco de dados. | |||
oc rsh pod/db2-0 | |||
2) Criando a database | |||
su - db2inst1 | |||
<nowiki>cat <<EOF >> create_b2bi_db.sql | |||
CREATE DATABASE B2BIDB AUTOMATIC STORAGE YES USING CODESET UTF-8 TERRITORY DEFAULT COLLATE USING SYSTEM PAGESIZE 32768; | |||
CONNECT TO B2BIDB; | |||
UPDATE DATABASE CONFIG FOR B2BIDB USING LOGFILSIZ 65536; | |||
UPDATE DATABASE CONFIG FOR B2BIDB USING LOGPRIMARY 40; | |||
UPDATE DATABASE CONFIG FOR B2BIDB USING NUM_LOG_SPAN 32; | |||
UPDATE DATABASE CONFIG FOR B2BIDB USING AUTO_MAINT ON; | |||
UPDATE DATABASE CONFIG FOR B2BIDB USING AUTO_TBL_MAINT ON; | |||
UPDATE DATABASE CONFIG FOR B2BIDB USING AUTO_RUNSTATS ON; | |||
UPDATE DATABASE CONFIG FOR B2BIDB USING AUTO_REORG ON; | |||
UPDATE DATABASE CONFIG FOR B2BIDB USING AUTO_DB_BACKUP ON; | |||
CREATE USER TEMPORARY TABLESPACE B2BUSERTEMP PAGESIZE 32K BUFFERPOOL IBMDEFAULTBP; | |||
CREATE BUFFERPOOL B2BIDB_04KBP IMMEDIATE SIZE 1000 PAGESIZE 4K; | |||
CREATE REGULAR TABLESPACE TS_REG04_B2BIDB PAGESIZE 4K BUFFERPOOL B2BIDB_04KBP; | |||
CREATE BUFFERPOOL B2BIDB_08KBP IMMEDIATE SIZE 1000 PAGESIZE 8K; | |||
CREATE REGULAR TABLESPACE TS_REG08_B2BIDB PAGESIZE 8K BUFFERPOOL B2BIDB_08KBP; | |||
CREATE BUFFERPOOL B2BIDB_16KBP IMMEDIATE SIZE 1000 PAGESIZE 16K; | |||
CREATE REGULAR TABLESPACE TS_REG16_B2BIDB PAGESIZE 16K BUFFERPOOL B2BIDB_16KBP; | |||
CONNECT RESET; | |||
EOF</nowiki> | |||
[db2inst1@db2-0 ~]$ '''db2 -stvf create_b2bi_db.sql''' | |||
[db2inst1@db2-0 ~]$ '''db2 list database directory''' | |||
<small>... | |||
Database alias = B2BIDB | |||
Database name = B2BIDB | |||
Local database directory = /database/data</small> | |||
[db2inst1@db2-0 ~]$ '''exit''' | |||
sh-4.2# '''exit''' | |||
==Testando a Conexão ao DB2== | |||
3) Teste a conectividade db2 de fora. Use DbVisualizer para testar a conectividade de fora. Identifique o endereço IP do LoadBalancer (porta 50000). Parâmetro EXTERNAL-IP | |||
oc get svc | |||
<small>NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE | |||
sterling-b2bi-db2-svc-lb LoadBalancer 172.xx.xx.250 ''169.xx.xx.83'' 50000:30707/TCP 43m | |||
</small> | |||
= Informações de Referência 3 = | |||
informações do banco de dados (para serem usadas posteriormente). | |||
:Ref 3 | |||
* dbVendor: db2 | |||
* dbHost: <EXTERNAL-IP> | |||
* dbPort: 50000 | |||
* dbUser: db2inst1 | |||
* dbData: B2BIDB | |||
= Extraindo o db2jcc4.jar e db2jcc_license_cu.jar do Pod= | |||
1) Verifique se o pode está em execução | |||
oc project sterling-b2bi-db | |||
oc get pods | |||
<small>NAME READY STATUS RESTARTS AGE | |||
db2-0 1/1 Running 0 4h45m</small> | |||
2) Copiando os arquivos de dentro do pod para o filesystem local | |||
oc cp db2-0:/opt/ibm/db2/V11.5/java/db2jcc4.jar db2jcc4.jar | |||
oc cp db2-0:/opt/ibm/db2/V11.5/java/db2jcc_license_cu.jar db2jcc_license_cu.jar | |||
oc cp db2-0:/opt/ibm/db2/V11.5/java/jdk64/jre/lib/security/policy/unlimited/local_policy.jar local_policy.jar | |||
=CUIDADO!!! Deletando o Projeto= | |||
Em caso de erro ou se quiser refazer o projeto, execute o comando para deletar o projeto | |||
oc delete project sterling-b2bi-db2 | |||
= See Also = | = See Also = | ||
* [[IBM Sterling: Deploy Sterling | * [[IBM Sterling: Deploy do Sterling B2Bi no OpenShift na IBM Cloud]] | ||
* [[IBM Sterling| Artigos sobre IBM Sterling]] | * [[IBM Sterling| Artigos sobre IBM Sterling]] |
Latest revision as of 10:49, 24 May 2021
Procedimento
Realizando o Deploy do DB2
1) Crie um novo projeto no OpenShift para o DB2 e defina contas de serviço e permissões.
oc new-project sterling-b2bi-db2
oc create serviceaccount sterling-b2bi-db2-sa oc adm policy add-scc-to-user privileged -n sterling-b2bi-db2 -z sterling-b2bi-db2-sa
2) Crie o arquivo db2-deploy.yaml para deploy do DB2 no openshift
apiVersion: v1 kind: Service metadata: name: sterling-b2bi-db2-svc-lb spec: selector: app: db2 type: LoadBalancer ports: - protocol: TCP port: 50000 targetPort: 50000 --- apiVersion: apps/v1 kind: StatefulSet metadata: name: db2 spec: selector: matchLabels: app: db2 serviceName: sterling-b2bi-db2-svc-lb replicas: 1 template: metadata: labels: app: db2 spec: serviceAccount: sterling-b2bi-db2-sa containers: - name: db2 securityContext: privileged: true image: ibmcom/db2 env: - name: LICENSE value: accept - name: DB2INSTANCE value: db2inst1 - name: DB2INST1_PASSWORD value: db2pw123 ports: - containerPort: 50000 name: db2 imagePullPolicy: IfNotPresent volumeMounts: - mountPath: /database name: sterling-b2bi-db2-storage volumeClaimTemplates: - metadata: name: sterling-b2bi-db2-storage spec: accessModes: - ReadWriteOnce resources: requests: storage: 20Gi storageClassName: ibmc-block-gold
3) Realize o deploy
oc create -f db2-deploy.yaml
Verifique até ficar no status Running.
oc get pods NAME READY STATUS RESTARTS AGE db2-0 1/1 Running 0 31m
Espere até ver esta linha como a última entrada no log. Ctrl+C para interromper os logs.
oc logs -f db2-0 ... /database/config/db2inst1/sqllib/ctrl/db2strst.lck
Criando a database para o SB2BI
From inside the Db2 container, create B2BIDB database for B2Bi.
1) Conectar ao pod de banco de dados.
oc rsh pod/db2-0
2) Criando a database
su - db2inst1 cat <<EOF >> create_b2bi_db.sql CREATE DATABASE B2BIDB AUTOMATIC STORAGE YES USING CODESET UTF-8 TERRITORY DEFAULT COLLATE USING SYSTEM PAGESIZE 32768; CONNECT TO B2BIDB; UPDATE DATABASE CONFIG FOR B2BIDB USING LOGFILSIZ 65536; UPDATE DATABASE CONFIG FOR B2BIDB USING LOGPRIMARY 40; UPDATE DATABASE CONFIG FOR B2BIDB USING NUM_LOG_SPAN 32; UPDATE DATABASE CONFIG FOR B2BIDB USING AUTO_MAINT ON; UPDATE DATABASE CONFIG FOR B2BIDB USING AUTO_TBL_MAINT ON; UPDATE DATABASE CONFIG FOR B2BIDB USING AUTO_RUNSTATS ON; UPDATE DATABASE CONFIG FOR B2BIDB USING AUTO_REORG ON; UPDATE DATABASE CONFIG FOR B2BIDB USING AUTO_DB_BACKUP ON; CREATE USER TEMPORARY TABLESPACE B2BUSERTEMP PAGESIZE 32K BUFFERPOOL IBMDEFAULTBP; CREATE BUFFERPOOL B2BIDB_04KBP IMMEDIATE SIZE 1000 PAGESIZE 4K; CREATE REGULAR TABLESPACE TS_REG04_B2BIDB PAGESIZE 4K BUFFERPOOL B2BIDB_04KBP; CREATE BUFFERPOOL B2BIDB_08KBP IMMEDIATE SIZE 1000 PAGESIZE 8K; CREATE REGULAR TABLESPACE TS_REG08_B2BIDB PAGESIZE 8K BUFFERPOOL B2BIDB_08KBP; CREATE BUFFERPOOL B2BIDB_16KBP IMMEDIATE SIZE 1000 PAGESIZE 16K; CREATE REGULAR TABLESPACE TS_REG16_B2BIDB PAGESIZE 16K BUFFERPOOL B2BIDB_16KBP; CONNECT RESET; EOF [db2inst1@db2-0 ~]$ db2 -stvf create_b2bi_db.sql
[db2inst1@db2-0 ~]$ db2 list database directory ... Database alias = B2BIDB Database name = B2BIDB Local database directory = /database/data [db2inst1@db2-0 ~]$ exit sh-4.2# exit
Testando a Conexão ao DB2
3) Teste a conectividade db2 de fora. Use DbVisualizer para testar a conectividade de fora. Identifique o endereço IP do LoadBalancer (porta 50000). Parâmetro EXTERNAL-IP
oc get svc NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE sterling-b2bi-db2-svc-lb LoadBalancer 172.xx.xx.250 169.xx.xx.83 50000:30707/TCP 43m
Informações de Referência 3
informações do banco de dados (para serem usadas posteriormente).
- Ref 3
- dbVendor: db2
- dbHost: <EXTERNAL-IP>
- dbPort: 50000
- dbUser: db2inst1
- dbData: B2BIDB
Extraindo o db2jcc4.jar e db2jcc_license_cu.jar do Pod
1) Verifique se o pode está em execução
oc project sterling-b2bi-db oc get pods NAME READY STATUS RESTARTS AGE db2-0 1/1 Running 0 4h45m
2) Copiando os arquivos de dentro do pod para o filesystem local
oc cp db2-0:/opt/ibm/db2/V11.5/java/db2jcc4.jar db2jcc4.jar oc cp db2-0:/opt/ibm/db2/V11.5/java/db2jcc_license_cu.jar db2jcc_license_cu.jar oc cp db2-0:/opt/ibm/db2/V11.5/java/jdk64/jre/lib/security/policy/unlimited/local_policy.jar local_policy.jar
CUIDADO!!! Deletando o Projeto
Em caso de erro ou se quiser refazer o projeto, execute o comando para deletar o projeto
oc delete project sterling-b2bi-db2