CPD:使用restAPI和cpd-cli命令创建DMC实例

环境

  • Red Hat Enterprise Linux release 8.6 (Ootpa)
  • OCP 4.12.22
  • IBM CP4D 4.8.0
  • Data Management Console 3.1.12 (DMC for CPD 4.8.0)

注:使用了fyre VM。

创建DMC实例

准备

首先export环境变量:

. ./stg_env.sh

cpd-cli 放到PATH里。编辑 ~/.bashrc 文件,添加如下内容:

export PATH=~/cpd-cli-linux-EE-13.1.0-74:$PATH

然后:

. ~/.bashrc

确认已添加:

which cpd-cli
/root/cpd-cli-linux-EE-13.1.0-74/cpd-cli

log in OCP和CPD:

oc login https://$(hostname):6443 -u kubeadmin -p $(cat /root/auth/kubeadmin-password)cpd-cli manage login-to-ocp -u kubeadmin -p $(cat /root/auth/kubeadmin-password) --server=https://$(hostname):6443

方法1:从UI创建

略。

方法2:使用restAPI创建

设置环境变量:

export INSTANCE_NAME=data-management-consoleexport INSTANCE_DESCRIPTION="IBM Db2 Data Management Console"export STORAGE_SIZE=10export INSTANCE_SIZE=smallexport PROJECT_CPD_INST_OPERANDS=cpd-instanceexport VERSION=4.8.0export STG_CLASS_FILE=nfs-clientexport CPD_ROUTE=$(oc get route cpd -n ${PROJECT_CPD_INST_OPERANDS} -o jsonpath={".spec.host"})

创建文件 data-management-console-instance.json

cat << EOF > ./data-management-console-instance.json
{"addon_type":"dmc","display_name":"${INSTANCE_NAME}","description":"${INSTANCE_DESCRIPTION}","namespace":"${PROJECT_CPD_INST_OPERANDS}","addon_version": "${VERSION}","parameters":{"storageClass":"${STG_CLASS_FILE}","storageSize":"${STORAGE_SIZE}Gi"},"create_arguments":{"metadata":{"storageClass":"${STG_CLASS_FILE}","storageSize":"${STORAGE_SIZE}Gi","scaleConfig":"${INSTANCE_SIZE}"}},"pre_existing_owner":false
}
EOF

创建完成后,检查一下文件内容:

{"addon_type":"dmc","display_name":"data-management-console","description":"IBM Db2 Data Management Console","namespace":"cpd-instance","addon_version": "4.8.0","parameters":{"storageClass":"nfs-client","storageSize":"10Gi"},"create_arguments":{"metadata":{"storageClass":"nfs-client","storageSize":"10Gi","scaleConfig":"small"}},"pre_existing_owner":false
}

设置环境变量:

export PAYLOAD_FILE=data-management-console-instance.json

接下来要用到Zen API key。

先要获取API key。在UI右上角,点击“Profile and settings”:

在这里插入图片描述

点击“API key -> Generate new key”:

在这里插入图片描述

点击“Generate”:

在这里插入图片描述

点击“Copy”,把API key保存到某个地方(如果丢失,无法找回,只能重新生成一个新key)。

例如,获取的API key为: KIXAyDVUZvNhjca4oR3eApYk10kJdzsmKwZ33bG1

现在,要通过API key生成ZenApiKey,方法为:

echo "<username>:<api_key>" | base64

例如:

echo "cpadmin:KIXAyDVUZvNhjca4oR3eApYk10kJdzsmKwZ33bG1" | base64

生成的ZenApiKey为: Y3BhZG1pbjpLSVhBeURWVVp2TmhqY2E0b1IzZUFwWWsxMGtKZHpzbUt3WjMzYkcxCg==

设置环境变量:

export API_KEY=KIXAyDVUZvNhjca4oR3eApYk10kJdzsmKwZ33bG1export ZenApiKey=Y3BhZG1pbjpLSVhBeURWVVp2TmhqY2E0b1IzZUFwWWsxMGtKZHpzbUt3WjMzYkcxCg==

接下来,就可以创建DMC实例了:

curl -k --request POST \
--url "https://${CPD_ROUTE}/zen-data/v3/service_instances" \
--header "Authorization: ZenApiKey ${ZenApiKey}" \
--header 'Content-Type: application/json' \
--data @${PAYLOAD_FILE}

注意使用的是ZenApiKey。

返回结果是新创建实例的ID,例如:

{"id":"1699866419910616"}

等DMC实例创建好。

检查实例:

curl -k --request GET \
--url "https://${CPD_ROUTE}/zen-data/v3/service_instances/1699866419910616" \
--header "Authorization: ZenApiKey ${ZenApiKey}" \
--header 'Content-Type: application/json' | jq .

例如,结果为:

{"service_instance": {"addon_type": "dmc","addon_version": "4.8.0","connection_info": {"external_url": "$HOST/v1/external"},"created_at": "2023-11-13T04:55:40.271977Z","description": "Data Management Console","display_name": "data-management-console","id": "1699851327823720","instance_identifiers": null,"metadata": {"storageClass": "nfs-client","storageSize": "10Gi"},"misc_data": {},"namespace": "cpd-instance","owner_uid": "1000331001","owner_username": "cpadmin","parameters": {},"provision_status": "PROVISIONED","resources": {"cpu": "4.20","memory": "10.43 Gi"},"roles": ["Admin"],"updated_at": "2023-11-13T06:50:03.486676Z","zen_service_instance_info": {"docker_registry_prefix": "icr.io/cpopen/cpfs"}}
}

方法3:使用cpd-cli命令创建

同样需要设置环境变量,以及创建文件 data-management-console-instance.json ,参见上面的描述。

不同之处在于,需要设置一个profile参数。

设置环境变量:

export CPD_ADMIN_USER=cpadminexport CPD_PROFILE_NAME=cpd-admin-profile# 也可以用前面的 ${CPD_ROUTE} 变量
export CPD_PROFILE_URL=https://cpd-cpd-instance.apps.o1-370456.cp.fyre.ibm.comexport LOCAL_USER=cpadmin# 注意这里是API key,不要跟前面的ZenApiKey弄混了
cpd-cli config users set ${LOCAL_USER} --username ${CPD_ADMIN_USER} --apikey ${API_KEY}cpd-cli config profiles set ${CPD_PROFILE_NAME} \
--user ${LOCAL_USER} \
--url ${CPD_PROFILE_URL}

创建好profile之后,可以list一下实例:

cpd-cli service-instance --profile ${CPD_PROFILE_NAME} list

结果如下:

 Namespace           Service type        Version             ID                  Name                      Provision status    Upgrade version option---------           ------------        -------             --                  ----                      ----------------    ----------------------cpd-instance        dmc                 4.8.0               1699866419910616    data-management-console   PROVISIONED         []

为了测试创建,先把DMC实例删掉。

然后再创建DMC实例:

cpd-cli service-instance create \
--profile=${CPD_PROFILE_NAME} \
--from-source=${PAYLOAD_FILE}

运行成功,没有返回结果。

等DMC实例创建好。

检查实例:

cpd-cli service-instance status ${INSTANCE_NAME} \
--profile=${CPD_PROFILE_NAME} \
--output=json

结果如下:

{"service_instance": {"display_name": "data-management-console","id": "1699869169988950","service_type": "dmc","service_version": "4.8.0","namespace": "cpd-instance","provision_status": "PROVISIONED","service_status": "RUNNING"}
}

参考

  • https://ibmdocs-test.dcs.ibm.com/docs/en/SSQNUZ_4.8_test?topic=pis-creating-service-instance-6
  • https://ibmdocs-test.dcs.ibm.com/docs/en/SSQNUZ_4.8_test?topic=sirio-service-instance-creation-cpd-cli-service-instance-create#payload__dmc__title__1
  • https://ibmdocs-test.dcs.ibm.com/docs/en/SSQNUZ_4.8_test?topic=only-service-instance-creation-rest-api
  • https://www.ibm.com/docs/en/cloud-paks/cp-data/4.7.x?topic=interface-creating-cpd-cli-profile

注:CPD 4.8还没有release,这是draft doc,如果是正式doc,应该是 https://www.ibm.com/docs/en/cloud-paks/cp-data/4.8.x?topic=xxxxx

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/145779.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【网络奇遇记】那年我与计算机网络的初相识 —— 网络的体系结构

&#x1f308;个人主页&#xff1a;聆风吟 &#x1f525;系列专栏&#xff1a;网络奇遇记、数据结构 &#x1f516;少年有梦不应止于心动&#xff0c;更要付诸行动。 文章目录 一. 常见的三种计算机网络体系结构1.1 开放系统互连参考模型1.2 TCP/IP参考模型1.3 原理参考模型 二…

k8s pod常用运维命令

1. 概述 kubectl 命令是操作 Kubernetes 集群的最直接和最高效的途径&#xff0c;熟练掌握命令的使用能起到事半功倍的效果&#xff0c;整理命令有助于加深记忆&#xff0c;该文仅记录关于pod常用的操作运维命令。 2. 查看namespaces 查看k8s集群中目前存在的namespaces kub…

【设计一个缓存--针对各种类型的缓存】

设计一个缓存--针对各种类型的缓存 1. 设计顶层接口2. 设计抽象类 -- AbstractCacheManager3. 具体子类3.1 -- AlertRuleItemExpCacheManager3.2 -- AlertRuleItemSrcCacheManager 4. 类图关系 1. 设计顶层接口 // 定义为一个泛型接口,提供给抽象类使用 public interface Cach…

Centos7安装Redis

1.背景 2.步骤 1.安装gcc依赖 检查是否已安装gcc gcc -v 上图表示已安装,如果没有安装执行如下命令 [rootlocalhost local]# yum install -y gcc 2.下载并解压安装包 [rootlocalhost local]# wget http://download.redis.io/releases/redis-5.0.3.tar.gz [rootlocalhost lo…

《011.SpringBoot之餐厅点餐系统》

《011.SpringBoot之餐厅点餐系统》【界面简洁功能简单】 项目简介 需要源码及数据库的私信… [1]本系统涉及到的技术主要如下&#xff1a; 推荐环境配置&#xff1a;DEA jdk1.8 Maven MySQL 前后端分离; 后台&#xff1a;SpringBootMybatisPlus; 前台&#xff1a;Layuivue; …

【python】OpenCV—Image Pyramid(8)

文章目录 1 图像金字塔2 拉普拉斯金字塔 1 图像金字塔 高斯金字塔 在 OpenCV 中使用函数 cv2.pyrDown()&#xff0c;实现图像高斯金字塔操作中的向下采样&#xff0c;使用函数 cv2.pyrUp() 实现图像金字塔操作中的向上采样 import cv2img cv2.imread(C://Users/Administrat…

Mysql中的进阶增删查改操作(二)

联合查询和合并查询 一.联合查询1.内连接2.外链接2.1左外连接2.2右外连接 3.自连接4.子查询5.合并查询 一.联合查询 步骤 1.进行笛卡尔积 2.列出连接条件 3.根据需求再列出其他条件 4.针对列进行精简(可以使用聚合函数) 我们先搭建一个多表查询的框架 这样一个多表查询就搭建出…

基于JAVA SpringBoot和HTML美食网站博客程序设计

摘要 美食网站是一个提供各种美食信息和食谱的网站&#xff0c;旨在帮助用户发现、学习和分享美食。旨在探讨美食网站在现代社会中的重要性和影响。随着互联网的普及&#xff0c;越来越多的人开始使用美食网站来获取各种美食信息和食谱。这些网站不仅提供了方便快捷的搜索功能&…

MySQL8.0学习笔记

1. CMD命令 1.1 数据库启动与停止 (1) 启动数据库&#xff1a;net start mysql80 (2) 停止数据库&#xff1a;net stop mysql80 1.2 数据库连接与退出 (1) 连接数据库&#xff1a;mysql [-hlocalhost -P3306] -uroot -p[123456] // 本地数据库可省略-h -P (2) 退出数据库…

在市场发展中寻变革,马上消费金融树行业发展“风向标”

11月11日&#xff0c;2023金融街论坛年会第三届全球金融科技大会“金融科技创新与合规安全”平行论坛在北京召开。会上&#xff0c;马上消费金融副总经理孙磊就数据对金融的赋能作用、数据安全治理等方面展开了深度讨论。 公开信息显示&#xff0c;马上消费金融是一家经中国银保…

CodeWhisperer--手把手教你使用一个十分强大的工具

Amazon CodeWhisperer 是一款能够帮助我们智能生成代码的工具。经过数十亿行代码的训练&#xff0c;可以根据提示和现有代码实时生成从片段到完整功能的代码建议。类似 Cursor 和 Github Copilot 编码工具。目前&#xff0c;CodeWhisperer 兼容 Python、Java 和 JavaScript&…

mysql数据模型

创建数据库 命令 create database hellox &#xff1a; &#xff08; hellox名字&#xff09; sql语句 创建 数据库 命令 create database hell&#xff1b; 也是创建但是有数据库不创建 命令 create database if not exists hell ; 切换数据库 命令 use hello&…

2023解析企业数据中台:突破数据孤岛,实现数据化管理升级-亿发

当前&#xff0c;各大企业纷纷将业务中台、数据中台、安全中台等纳入建设计划&#xff0c;其中&#xff0c;数据中台被视为重中之重。但是&#xff0c;对于初接触者而言&#xff0c;对数据中台的定义可能存在一些模糊。 下面我们将讨论和讲解对企业建设数据中台的3点建议&#…

小型机房380V断电报警门磁开关状态检测远程控制RTU

在现代社会中&#xff0c;小型机房起到了至关重要的作用&#xff0c;为各种系统和设备提供稳定的电力供应。然而&#xff0c;由于各种原因&#xff0c;如供电故障、设备故障或非法侵入等&#xff0c;机房的正常运行可能会受到威胁。为了保障机房的安全和可靠性&#xff0c;我们…

ROS 通信机制

ROS是一个分布式框架&#xff0c;为用户提供多节点&#xff08;进程&#xff09;之间的通信服务&#xff0c;所有软件和功能都建立在这种分布式通信机制上&#xff0c;ROS的通信机制是最底层也是最核心的技术。 一、话题通信机制 话题在 ROS 中使用最为频繁&#xff0c;其通信…

基于JavaWeb+SpringBoot+Vue房屋租赁系统微信小程序系统的设计和实现

基于JavaWebSpringBootVue房屋租赁系统微信小程序系统的设计和实现 源码获取入口前言主要技术系统设计功能截图Lun文目录订阅经典源码专栏Java项目精品实战案例《500套》 源码获取 源码获取入口 前言 21世纪是信息的时代&#xff0c;是网络的时代&#xff0c;进入信息社会高速…

LeetCode之二叉树

发现更多计算机知识&#xff0c;欢迎访问Cr不是铬的个人网站 最近数据结构学到二叉树&#xff0c;就刷了刷力扣&#xff0c;写这篇文章也是辅助记忆。 103二叉树锯齿形遍历 要解出本道题&#xff0c;首先要会层次遍历。层次遍历我们都知道用一个队列去实现就行。但是力扣这里…

FSOD论文阅读 - 基于卷积和注意力机制的小样本目标检测

来源:知网 标题:基于卷积和注意力机制的小样本目标检测 作者:郭永红&#xff0c;牛海涛&#xff0c;史超&#xff0c;郭铖 郭永红&#xff0c;牛海涛&#xff0c;史超&#xff0c;郭铖&#xff0e;基于卷积和注意力机制的小样本目标检测 [J/OL]&#xff0e;兵工学报. https://…

AH8691-60V降压至3.3V电源芯片:ESOP8封装解决方案

AH8691-60V降压至3.3V电源芯片&#xff1a;ESOP8封装解决方案 随着电子设备的日益普及&#xff0c;电源管理芯片的重要性也日益凸显。一款高效率、低功耗的电源芯片可以大大提高电子设备的性能和可靠性。今天&#xff0c;我们将介绍一款60V降压至3.3V电源芯片&#xff0c;采用…