Data Management Console
IBM Db2 Data Management Console(DMC) is a tool that you can use to manage and monitor your integrated IBM Db2 databases from a single user interface. It can mange Db2, Db2 Warehouse and Data Virtualization services in Cloud Pak for Data.
From the console, you can:
- Administer databases
- Work with database objects and utilities
- Develop and run SQL scripts
- Move and load large amounts of data into databases for in-depth analysis
- Monitor the performance of your Cloud Pak for Data integrated Db2 databases
DMC components in cp4d
Using opensource tool
kubectl-tree, you can easily to get all resources list of DMC CustomResource:
Dmc Addons
When intalled DMC service you need to create DMC Addon CR:
cat <<EOF |oc apply -f -
apiVersion: dmc.databases.ibm.com/v1
kind: Dmcaddon
metadata:
name: dmc-addon # This is the recommended name, but you can change it
namespace: project-name # Replace with the project where you will install Db2 Data Management Console
spec:
license:
accept: true
license: Enterprise | Standard # Specify the license you purchased
version: 4.0.7
EOF
Then use "kubectl tree" command to list resources:
# kubectl tree dmcaddons dmc-addon
Deployments and Services
DMC addon CR created two deployments and corresponding services:
ibm-dmc-addon-ui: Provide provision UI for dmc services.
ibm-dmc-addon-api: Provides service provider function in cloud pak for data. It interact with zen-core-api to perform service registration and manage dmc instances.
ConfigMap
cpd-dmc-aux-br-cm: This is auxiliary meta for dmcaddon/dmc backup and restore operation
cpd-dmc-aux-qu-cm: This is auxiliary meta for dmcaddon/dmc quiesce and unquiesce operation
dmc-services-info-cm: DMC service info provided for about page.
ibm-dmc-addon-api-cm: Used by ibm-dmc-addon-api deployments to store variables
zen-addon-cm-dmc: DMC meta data provided for zen-core-api.
Role and Rolebinding
Bind to zen-editor-sa and zen-admin-sa to operate dmc resources.
ibm-dmc-addon-api and ibm-dmc-addon-ui runs with service account zen-editor-sa.
Dmcs
Dmcs CustomResource represent the dmc instances. DMC instances can be provisioned from UI. If Data Virualization is installed withou existing dmc instance, a dmc instance will be provisioned automatically .
apiVersion: dmc.databases.ibm.com/v1
kind: Dmc
metadata:
annotations:
ansible.operator-sdk/reconcile-period: 30s
ansible.sdk.operatorframework.io/verbosity: "4"
creationTimestamp: "2022-04-01T09:57:17Z"
generation: 2
name: data-management-console
namespace: zen
resourceVersion: "19850375"
uid: b37be438-65db-48bc-a4b2-a5e33e30b764
spec:
description: IBM Db2 Data Management Console
license:
accept: true
license: Standard
scaleConfig: small
storageClass: ocs-storagecluster-cephfs
storageSize: 10Gi
total_resources:
limits:
cpu: ""
memory: ""
version: 4.0.7
zenControlPlaneNamespace: zen
zenServiceInstanceDisplayName: data-management-console
zenServiceInstanceId: 1648807034329656
zenServiceInstanceNamespace: zen
zenServiceInstanceOwnerUID: 1000330999EOF
Use "kubectl tree" command to list resources:
# kubectl tree dmcs data-management-console
These can be groups to deployment/statefulset/pod, networkpolicy, service,persistent volumes, etc.
Deployment/StatefulSet and Service
ibm-dmc-<instance-id>-runsql: "Run SQL"
ibm-dmc-<instance-id>-explain: SQL explain in "Run SQL" menu.
ibm-dmc-<instance-id>-admin: Provide functionalities in "Data" menu
ibm-dmc-<instance-id>-dbapi: Manipulate database profiles and connections
ibm-dmc-<instance-id>-monitor: Provide functionalities in "Monitor" menu and "Report" menu
ibm-dmc-<instance-id>-job-scheduler: Provide functionalities in "Jobs" menu
ibm-dmc-<instance-id>-registry: Register databases into profiles, init repository and allocate pods to handle it.
ibm-dmc-<instance-id>-nginx: Provide access route to funtional pods.
ConfigMap
<instance-id>: Store database profile information. Created by ibm-dmc-<instance-id>-registry pod, read by dbapi pod.
dmc-data-management-console-cm: Stored instance infromation and read by zen-watcher pod. Then this information stored into zen-metastoredb.
ibm-dmc-<instance-id>-jobsconfigmap: Store jobs information.
ibm-dmc-<instance-id>-ucconfigmap: Store profile lists and dmc config settings. Write by registry manager pod, read by other pods.
ibm-dmc-<instance-id>-redis-client-cert: CA certificate for redis service.
Secret
ibm-dmc-<instance-id>-console-api-key: Console api key to communicate between dmc instance pods.
ibm-dmc-<instance-id>-console-secret: Apikey and password used for IBM cloud.
ibm-dmc-<instance-id>-job-scheduler: Store username and password to call job scheduler api.
ibm-dmc-<instance-id>-nginx-tls: Certificates for nginx service.
ibm-dmc-<instance-id>-redis: Store redis password.
ibm-dmc-<instance-id>-registry-manager: Store username and password to call registry manager api.
PersistentVolume
ibm-dmc-<instance-id>-data: Stored dmc config files and logs.
Redis related resources
Dmc use redis operator to be cache for monitored data.
OperandRequest: data-management-console-dmc-requests-redis
RedisSentinels: Redis resource object to reference other resources
PersistentVolume: data-c-ibm-dmc-<instance-id>-redis-m-1 and data-c-ibm-dmc-<instance-id>-redis-m-0 used by redis master pods.
Other related components in cp4d
DMC read some resources from other services or components to get neccessary information.
Zen core related
Configmap: product-configmap, DMC addon read this configmap to get cloud pak instance information.
Secret: internal-tls, DMC pods mount this secret as server certificate.
Database related
Before CP4D 4.0.7, dmc read database instance info and password from zen-core-api. In 4.0.8 and 4.5 later, will read password from database secrets.
#CloudPakforDataGroup