diff --git a/CN/modules/ROOT/images/media/image10.png b/CN/modules/ROOT/images/media/image10.png new file mode 100644 index 0000000..7c3334d Binary files /dev/null and b/CN/modules/ROOT/images/media/image10.png differ diff --git a/CN/modules/ROOT/images/media/image11.png b/CN/modules/ROOT/images/media/image11.png new file mode 100644 index 0000000..56ffaab Binary files /dev/null and b/CN/modules/ROOT/images/media/image11.png differ diff --git a/CN/modules/ROOT/images/media/image12.png b/CN/modules/ROOT/images/media/image12.png new file mode 100644 index 0000000..4c6c784 Binary files /dev/null and b/CN/modules/ROOT/images/media/image12.png differ diff --git a/CN/modules/ROOT/images/media/image13.png b/CN/modules/ROOT/images/media/image13.png new file mode 100644 index 0000000..8ff015f Binary files /dev/null and b/CN/modules/ROOT/images/media/image13.png differ diff --git a/CN/modules/ROOT/images/media/image14.png b/CN/modules/ROOT/images/media/image14.png new file mode 100644 index 0000000..0f8ea22 Binary files /dev/null and b/CN/modules/ROOT/images/media/image14.png differ diff --git a/CN/modules/ROOT/images/media/image15.png b/CN/modules/ROOT/images/media/image15.png new file mode 100644 index 0000000..11ae1ce Binary files /dev/null and b/CN/modules/ROOT/images/media/image15.png differ diff --git a/CN/modules/ROOT/images/media/image16.png b/CN/modules/ROOT/images/media/image16.png new file mode 100644 index 0000000..a78afba Binary files /dev/null and b/CN/modules/ROOT/images/media/image16.png differ diff --git a/CN/modules/ROOT/images/media/image17.png b/CN/modules/ROOT/images/media/image17.png new file mode 100644 index 0000000..41f4178 Binary files /dev/null and b/CN/modules/ROOT/images/media/image17.png differ diff --git a/CN/modules/ROOT/images/media/image18.png b/CN/modules/ROOT/images/media/image18.png new file mode 100644 index 0000000..5eab6cd Binary files /dev/null and b/CN/modules/ROOT/images/media/image18.png differ diff --git a/CN/modules/ROOT/images/media/image19.png b/CN/modules/ROOT/images/media/image19.png new file mode 100644 index 0000000..4c05fa0 Binary files /dev/null and b/CN/modules/ROOT/images/media/image19.png differ diff --git a/CN/modules/ROOT/images/media/image20.png b/CN/modules/ROOT/images/media/image20.png new file mode 100644 index 0000000..8818128 Binary files /dev/null and b/CN/modules/ROOT/images/media/image20.png differ diff --git a/CN/modules/ROOT/images/media/image21.png b/CN/modules/ROOT/images/media/image21.png new file mode 100644 index 0000000..51d8c60 Binary files /dev/null and b/CN/modules/ROOT/images/media/image21.png differ diff --git a/CN/modules/ROOT/images/media/image22.png b/CN/modules/ROOT/images/media/image22.png new file mode 100644 index 0000000..41a6f74 Binary files /dev/null and b/CN/modules/ROOT/images/media/image22.png differ diff --git a/CN/modules/ROOT/images/media/image23.png b/CN/modules/ROOT/images/media/image23.png new file mode 100644 index 0000000..68444c1 Binary files /dev/null and b/CN/modules/ROOT/images/media/image23.png differ diff --git a/CN/modules/ROOT/images/media/image24.png b/CN/modules/ROOT/images/media/image24.png new file mode 100644 index 0000000..c63ef9b Binary files /dev/null and b/CN/modules/ROOT/images/media/image24.png differ diff --git a/CN/modules/ROOT/images/media/image25.png b/CN/modules/ROOT/images/media/image25.png new file mode 100644 index 0000000..7427fc7 Binary files /dev/null and b/CN/modules/ROOT/images/media/image25.png differ diff --git a/CN/modules/ROOT/images/media/image26.png b/CN/modules/ROOT/images/media/image26.png new file mode 100644 index 0000000..61e1007 Binary files /dev/null and b/CN/modules/ROOT/images/media/image26.png differ diff --git a/CN/modules/ROOT/images/media/image27.png b/CN/modules/ROOT/images/media/image27.png new file mode 100644 index 0000000..5dfa6fa Binary files /dev/null and b/CN/modules/ROOT/images/media/image27.png differ diff --git a/CN/modules/ROOT/images/media/image28.png b/CN/modules/ROOT/images/media/image28.png new file mode 100644 index 0000000..aa5fd09 Binary files /dev/null and b/CN/modules/ROOT/images/media/image28.png differ diff --git a/CN/modules/ROOT/images/media/image29.png b/CN/modules/ROOT/images/media/image29.png new file mode 100644 index 0000000..4e329ef Binary files /dev/null and b/CN/modules/ROOT/images/media/image29.png differ diff --git a/CN/modules/ROOT/images/media/image3.png b/CN/modules/ROOT/images/media/image3.png new file mode 100644 index 0000000..62902e6 Binary files /dev/null and b/CN/modules/ROOT/images/media/image3.png differ diff --git a/CN/modules/ROOT/images/media/image30.png b/CN/modules/ROOT/images/media/image30.png new file mode 100644 index 0000000..c164111 Binary files /dev/null and b/CN/modules/ROOT/images/media/image30.png differ diff --git a/CN/modules/ROOT/images/media/image31.png b/CN/modules/ROOT/images/media/image31.png new file mode 100644 index 0000000..bd660a8 Binary files /dev/null and b/CN/modules/ROOT/images/media/image31.png differ diff --git a/CN/modules/ROOT/images/media/image32.png b/CN/modules/ROOT/images/media/image32.png new file mode 100644 index 0000000..510d7dc Binary files /dev/null and b/CN/modules/ROOT/images/media/image32.png differ diff --git a/CN/modules/ROOT/images/media/image33.png b/CN/modules/ROOT/images/media/image33.png new file mode 100644 index 0000000..37352d1 Binary files /dev/null and b/CN/modules/ROOT/images/media/image33.png differ diff --git a/CN/modules/ROOT/images/media/image34.png b/CN/modules/ROOT/images/media/image34.png new file mode 100644 index 0000000..f8dabee Binary files /dev/null and b/CN/modules/ROOT/images/media/image34.png differ diff --git a/CN/modules/ROOT/images/media/image35.png b/CN/modules/ROOT/images/media/image35.png new file mode 100644 index 0000000..b2c7f4a Binary files /dev/null and b/CN/modules/ROOT/images/media/image35.png differ diff --git a/CN/modules/ROOT/images/media/image36.jpeg b/CN/modules/ROOT/images/media/image36.jpeg new file mode 100644 index 0000000..4b2e013 Binary files /dev/null and b/CN/modules/ROOT/images/media/image36.jpeg differ diff --git a/CN/modules/ROOT/images/media/image37.png b/CN/modules/ROOT/images/media/image37.png new file mode 100644 index 0000000..1c7a8a0 Binary files /dev/null and b/CN/modules/ROOT/images/media/image37.png differ diff --git a/CN/modules/ROOT/images/media/image38.jpeg b/CN/modules/ROOT/images/media/image38.jpeg new file mode 100644 index 0000000..a376a08 Binary files /dev/null and b/CN/modules/ROOT/images/media/image38.jpeg differ diff --git a/CN/modules/ROOT/images/media/image39.png b/CN/modules/ROOT/images/media/image39.png new file mode 100644 index 0000000..6c209b2 Binary files /dev/null and b/CN/modules/ROOT/images/media/image39.png differ diff --git a/CN/modules/ROOT/images/media/image4.png b/CN/modules/ROOT/images/media/image4.png new file mode 100644 index 0000000..545b07c Binary files /dev/null and b/CN/modules/ROOT/images/media/image4.png differ diff --git a/CN/modules/ROOT/images/media/image40.png b/CN/modules/ROOT/images/media/image40.png new file mode 100644 index 0000000..ca5858c Binary files /dev/null and b/CN/modules/ROOT/images/media/image40.png differ diff --git a/CN/modules/ROOT/images/media/image41.png b/CN/modules/ROOT/images/media/image41.png new file mode 100644 index 0000000..ebabdbb Binary files /dev/null and b/CN/modules/ROOT/images/media/image41.png differ diff --git a/CN/modules/ROOT/images/media/image42.png b/CN/modules/ROOT/images/media/image42.png new file mode 100644 index 0000000..4e1a44f Binary files /dev/null and b/CN/modules/ROOT/images/media/image42.png differ diff --git a/CN/modules/ROOT/images/media/image43.png b/CN/modules/ROOT/images/media/image43.png new file mode 100644 index 0000000..aebc64d Binary files /dev/null and b/CN/modules/ROOT/images/media/image43.png differ diff --git a/CN/modules/ROOT/images/media/image44.png b/CN/modules/ROOT/images/media/image44.png new file mode 100644 index 0000000..80d2d14 Binary files /dev/null and b/CN/modules/ROOT/images/media/image44.png differ diff --git a/CN/modules/ROOT/images/media/image45.jpeg b/CN/modules/ROOT/images/media/image45.jpeg new file mode 100644 index 0000000..53bd76d Binary files /dev/null and b/CN/modules/ROOT/images/media/image45.jpeg differ diff --git a/CN/modules/ROOT/images/media/image46.png b/CN/modules/ROOT/images/media/image46.png new file mode 100644 index 0000000..8c990ed Binary files /dev/null and b/CN/modules/ROOT/images/media/image46.png differ diff --git a/CN/modules/ROOT/images/media/image47.png b/CN/modules/ROOT/images/media/image47.png new file mode 100644 index 0000000..4b3354c Binary files /dev/null and b/CN/modules/ROOT/images/media/image47.png differ diff --git a/CN/modules/ROOT/images/media/image5.png b/CN/modules/ROOT/images/media/image5.png new file mode 100644 index 0000000..6aaf302 Binary files /dev/null and b/CN/modules/ROOT/images/media/image5.png differ diff --git a/CN/modules/ROOT/images/media/image6.png b/CN/modules/ROOT/images/media/image6.png new file mode 100644 index 0000000..7f11ad1 Binary files /dev/null and b/CN/modules/ROOT/images/media/image6.png differ diff --git a/CN/modules/ROOT/images/media/image7.png b/CN/modules/ROOT/images/media/image7.png new file mode 100644 index 0000000..10641ea Binary files /dev/null and b/CN/modules/ROOT/images/media/image7.png differ diff --git a/CN/modules/ROOT/images/media/image8.png b/CN/modules/ROOT/images/media/image8.png new file mode 100644 index 0000000..0038af2 Binary files /dev/null and b/CN/modules/ROOT/images/media/image8.png differ diff --git a/CN/modules/ROOT/images/media/image9.png b/CN/modules/ROOT/images/media/image9.png new file mode 100644 index 0000000..b779b1e Binary files /dev/null and b/CN/modules/ROOT/images/media/image9.png differ diff --git a/CN/modules/ROOT/nav.adoc b/CN/modules/ROOT/nav.adoc index a7b55a8..43af3e8 100644 --- a/CN/modules/ROOT/nav.adoc +++ b/CN/modules/ROOT/nav.adoc @@ -12,6 +12,8 @@ *** xref:master/4.3.adoc[开发者指南] *** xref:master/4.4.adoc[运维管理指南] *** xref:master/4.5.adoc[迁移指南] +*** xref:master/4.7.1.adoc[IvorySQL安装手册] +*** xref:master/4.7.2.adoc[IvorySQL使用手册] ** IvorySQL生态 *** xref:master/cpu_arch_adp.adoc[芯片架构适配] *** xref:master/os_arch_adp.adoc[操作系统适配] diff --git a/CN/modules/ROOT/pages/master/4.7.1.adoc b/CN/modules/ROOT/pages/master/4.7.1.adoc new file mode 100644 index 0000000..56f7313 --- /dev/null +++ b/CN/modules/ROOT/pages/master/4.7.1.adoc @@ -0,0 +1,385 @@ + + +:sectnums: +:sectnumlevels: 5 +:imagesdir: ./_images + += 安装说明 + +IvorySQL Cloud平台是一个综合性的解决方案,它集成了IvorySQL数据库以及周边生态,以提供全面的数据库和资源管理功能。安装前需要上github编译安装好 + +前端:https://github.com/IvorySQL/ivory-cloud-web + +后端:https://github.com/IvorySQL/ivory-cloud + +搭建好K8S集群,并在集群master节点上安装ivory-operator + +https://github.com/IvorySQL/ivory-operator/tree/IVYO_REL_5_STABLE + +== IvorySQL Cloud平台安装 + +IvorySQL Cloud平台,目前支持Linux系统下的安装,以下为各部分对应的安装包: + +[width="99%",cols="<28%,<72%",options="header"] +|=== +|组件|安装包 +|前端|dist +|后端|cloudnative-1.0-SNAPSHOT.jar +|K8S集群 a| +[arabic] +. docker.io/ivorysql/ivory-operator:v5.0 +. docker.io/ivorysql/pgadmin:ubi8-9.9-5.0-1 +. docker.io/ivorysql/pgbackrest:ubi8-2.56.0-5.0-1 +. docker.io/ivorysql/postgres-exporter:ubi8-0.17.0-5.0-1 +. docker.io/ivorysql/ivorysql:ubi8-5.0-5.0-1 +|=== + +另外,云服务平台还需要用户安装以下组件: + +* *后端数据库*:负责存储和管理所有与云资源、用户信息、权限控制、计费信息等相关的数据。需要使用PG系列数据库,如PostgreSQL、瀚高数据库、IvorySQL等。 +* *NGINX*:支持云服务平台的web服务。 + +== 安装前准备 + +安装前,所有服务器都必须完成以下准备工作。并且将IvorySQL Cloud平台部署在K8S(1.23)的服务器上,且该K8S集群需要有默认的storage class. + +=== 关闭防火墙 + +所有服务器关闭防火墙,以保证他们之间的网络互通。 + +[literal] +---- +systemctl stop firewalld.service + +systemctl disable firewalld.service +---- + +=== 后端部署 + +==== 后端数据库 + +IvorySQL Cloud平台的后端数据库需用户自行安装,请参考IvorySQL官网。 + +==== 后端服务程序 + +===== 编译后端服务程序 + +[literal] +---- +# 克隆代码 + +git clone https://github.com/IvorySQL/ivory-cloud.git + +# 进入到项目根目录 + +cd ivory-cloud +---- + +请确保ivory-cloud\cloudnative\src\main\resources\monitor文件夹,及其所有的子文件夹下的以.sh结尾的文件是unix格式的,如果不是,请执行dos2unix命令转换成unix格式。 + +[literal] +---- +dos2unix cloudnative\src\main\resources\monitor\* + +# 编译 + +mvn clean + +mvn package -D maven.test.skip=true + +打包完成后,可以在 ivory-cloud/cloudnative/target下找到cloudnative-1.0-SNAPSHOT.jar文件 +---- + +===== 部署程序 + +[literal] +---- +在K8S服务器上执行如下操作: + +# 创建目录 + +mkdir -p /home/ivory + +# 将上一步编译好的文件ivory-cloud/cloudnative/target/cloudnative-1.0-SNAPSHOT.jar上传至上述目录 + +# 配置文件 + +## 创建配置目录 + +mkdir -p /home/ivory/config + +## 上传配置文件 + +将源代码ivory-cloud/cloudnative/src/main/resources目录里的如下三个配置文件上传至 /home/ivory/config + +application.yaml + +application-native.yaml + +spring_pro_logback.xml + +## 修改配置文件,请将url、username、password修改为<>安装的数据库的信息。 + +## /home/ivory/config/application-native.yaml + +datasource: + +druid: + +db-type: com.alibaba.druid.pool.DruidDataSource + +driver-class-name: org.postgresql.Driver + +url: jdbc:postgresql://127.0.0.1:5432/ivorysql + +username: ivorysql + +password: "ivory@123" +---- + +==== 启动后端服务程序 + +[literal] +---- +# 安装jdk1.8 + +yum install -y java-1.8.0-openjdk.x86_64 + +[root@cloud ivory]# pwd + +/home/ivory/ + +[root@cloud ivory]# nohup java -jar cloudnative-1.0-SNAPSHOT.jar > log_native 2>&1 & + +[root@cloud ivory]# ps -ef |grep java + +root 77494 1 0 10月09 ? 00:03:07 java -jar cloudnative-1.0-SNAPSHOT.jar +---- + +=== 前端部署 + +==== 编译前端服务程序 + +[literal] +---- +## 获取代码 + +git clone https://github.com/IvorySQL/ivory-cloud-web.git + +## 进入项目根目录 + +cd ivorysql-cloud-web + +## 安装依赖 + +npm install + +## 编译打包 + +npm run build:prod +---- + +==== 修改目录和文件权限 + +[literal] +---- +# 创建目录 + +[root@cloud opt]# mkdir -p /opt/cloud/web + +# 将前端构建后的dist文件夹置于/opt/cloud/web + +# 授权 + +[root@cloud web]# chmod 755 /opt/cloud/web/dist + +[root@cloud web]# chmod -R 777 /opt/cloud/web/dist +---- + +==== 修改config.js + +修改文件 + +[literal] +---- +[root@cloud dist]# pwd + +/home/cloud/web/dist + +[root@cloud dist]# vi config.js + +var PLATFROM_CONFIG = {}; + +// ip请更换为当前服务器地址 + +PLATFROM_CONFIG.baseUrl = "http://192.168.31.43:8081/cloudapi/api/v1" + +//true: need to show "注册" on login page + +//false: don't show "注册" on login page + +globalShowRegister = true + +//是否隐藏云原生数据库, true: 隐藏云原生数据库;false:显示云原生数据库 + +disableNative = false + +// 数据库类型 + +dbtype = "IvorySQL" + +dbversion = "5.0" +---- + +=== 安装部署nginx + +IvorySQL Cloud平台服务器需要安装nginx,以支持云服务平台的web服务。nginx需要用户自行安装,这里提供一种安装方法作为参考。 + +==== 下载nginx安装包 + +[literal] +---- +[root@cloud web]# wget https://nginx.org/download/nginx-1.20.1.tar.gz + +[root@cloud web]# ls -lrt + +总用量 3924 + +-rwxrwxr-x. 1 root root 1061461 5月 25 2021 nginx-1.20.1.tar.gz + +-rwxrwxr-x. 1 root root 2943732 10月 9 16:43 dist.tar.gz + +drwxrwxrwx. 4 root root 103 10月 21 13:20 dist +---- + +==== 安装相关依赖 + +[literal] +---- +[root@host30 cloud]# yum -y install pcre-devel + +[root@host30 cloud]# yum -y install openssl openssl-devel +---- + +==== 编译安装nginx + +nginx会被安装在configure时由--prefix指定的目录下,例如这里的/opt/cloud/nginx: + +[literal] +---- +## 解压缩nginx-1.20.1.tar.gz安装包 + +[root@cloud web]# tar -zxvf nginx-1.20.1.tar.gz + +## 解压后生成nginx-1.20.1文件夹 + +[root@cloud web]# ls -lrt + +总用量 3924 + +-rwxrwxr-x. 1 root root 1061461 5月 25 2021 nginx-1.20.1.tar.gz + +-rwxrwxr-x. 1 root root 2943732 10月 9 16:43 dist.tar.gz + +drwxrwxr-x. 9 1001 1001 186 10月 9 16:53 nginx-1.20.1 + +drwxrwxrwx. 4 root root 103 10月 21 13:20 dist + +## 配置导向 + +[root@cloud web]# cd nginx-1.20.1 + +[root@cloud nginx-1.20.1]# ./configure --prefix=/opt/cloud/nginx --with-http_ssl_module + +## 编译安装 + +[root@cloud nginx-1.20.1]# make + +[root@cloud nginx-1.20.1]# make install +---- + +==== 修改配置文件nginx.conf + +配置文件在/opt/cloud/nginx路径下,可以按照github上readme对nginx.conf进行对比修改。ip请配置为当前服务器的ip。 + +[literal] +---- +server { + +listen 9104; + +server_name 192.168.31.43; + +location / { + +root /opt/cloud/web/dist; + +index index.html index.htm; + +} + +error_page 500 502 503 504 /50x.html; + +location = /50x.html { + +root html; + +} + +} +---- + +==== 启动nginx + +[literal] +---- +[root@cloud sbin]# pwd + +/opt/cloud/nginx/sbin + +[root@cloud sbin]# ./nginx -c /opt/cloud/nginx/conf/nginx.conf + +[root@cloud sbin]# ps -ef | grep nginx + +root 2179 131037 0 09:46 pts/1 00:00:00 grep --color=auto nginx + +root 55047 1 0 10月21 ? 00:00:00 nginx: master process ./nginx -c /opt/cloud/nginx/conf/nginx.conf + +nobody 55048 55047 0 10月21 ? 00:00:00 nginx: worker process +---- + +=== operator部署 + +请自行搭建K8S,此处描述为在K8S集群上安装ivory-operator和load镜像。 + +==== 安装ivory-operator + +参见 + +https://github.com/IvorySQL/ivory-operator/tree/IVYO_REL_4_STABLE[https://github.com/IvorySQL/ivory-operator/tree/IVYO_REL_5_STABLE] + +网站上的readme + +==== load镜像 + +如果服务器可以直接访问到docker hub,可以跳过该章节。否则需要在所有的K8S集群节点提前load 如下docker镜像 + +[literal] +---- +docker.io/ivorysql/pgadmin:ubi8-9.9-5.0-1 + +docker.io/ivorysql/pgbackrest:ubi8-2.56.0-5.0-1 + +docker.io/ivorysql/pgbouncer:ubi8-1.23.0-5.0-1 + +docker.io/ivorysql/postgres-exporter:ubi8-0.17.0-5.0-1 + +docker.io/ivorysql/ivorysql:ubi8-5.0-5.0-1 + +docker.io/prom/prometheus:v2.33.5 + +docker.io/prom/alertmanager:v0.22.2 + +docker.io/grafana/grafana:8.5.10 +---- + diff --git a/CN/modules/ROOT/pages/master/4.7.2.adoc b/CN/modules/ROOT/pages/master/4.7.2.adoc new file mode 100644 index 0000000..f90ab1a --- /dev/null +++ b/CN/modules/ROOT/pages/master/4.7.2.adoc @@ -0,0 +1,246 @@ + +:sectnums: +:sectnumlevels: 5 +:imagesdir: ./_images + += 使用说明 + +IvorySQL Cloud是一个基于Web的服务平台,用户可以在任意电脑上通过浏览器进行访问,安装云服务平台的服务器IP为192.168.31.43,然后在浏览器输入http://192.168.31.43:9104/(9104为前端nginx.conf.default中设置的端口)即可进入登录页面页面: + +image::media/image3.png[image3,width=274,height=355] + +== 登录和退出 + +=== 用户登录 + +进入登录页面,根据提示输入信息即可访问瀚高云服务平台: + +image::media/image4.png[image4,width=552,height=272] + +=== 退出登录 + +点击页面右上角的头像,会显示当前登录用户名和“Log Out”。点击“Log Out”退出当前登录页面。点击用户名则保留当前登录页面: + +image::media/image5.png[image5,width=552,height=62] + +== 管理员功能 + +=== 添加集群 + +[arabic] +. 平台登录admin用户后,点击左侧菜单栏的“K8S集群管理”按钮,进入集群管理页。 + +image::media/image6.png[image6,width=601,height=91] + +[arabic, start=2] +. 点击页面左上角“增加Kubernetes集群”按钮,输入集群信息后提交。 + +image::media/image7.png[image7,width=333,height=291] + +=== 管理集群 + +在集群管理页面,可以查看已添加集群的详细信息,同时对集群信息进行编辑和删除操作。 + +image::media/image8.png[image8,width=553,height=82] + +== demo用户功能 + +=== 数据库订阅 + +[arabic] +. 使用demo用户登录平台。 + +. 点击左侧菜单栏"数据库订阅"按钮,填写需要申请的数据库的各个参数,然后点击"下一步:确认信息"。 + +image::media/image9.png[image9,width=552,height=272] + +[arabic, start=3] +. 检查信息后,点击"确定" + +image::media/image10.png[image10,width=552,height=272] + +[arabic, start=4] +. "确定"后,会自动跳转到"数据库管理"页面,查看订阅任务 + +image::media/image11.png[image11,width=552,height=77] + +image::media/image12.png[image12,width=552,height=79] + +=== 数据库管理 + +显示云服务平台管理的数据库信息。 + +image::media/image12.png[image12,width=552,height=79] + +=== 数据库重启 + +[arabic] +. demo用户登录平台。 + +. 点击左侧导航栏"数据库管理",选中数据库,点击"操作"列的"更多"按钮,在下拉选项中选择"重启"选项。 + +image::media/image13.png[image13,width=79,height=286] + +[arabic, start=3] +. 检查信息后,点"确认" + +image::media/image14.png[image14,width=553,height=210] + +=== 修改密码 + +[arabic] +. demo用户登录平台。 + +. 点击左侧导航栏"数据库管理",选中数据库,点击"实例ID"列。 + +image::media/image15.png[image15,width=553,height=48] + +[arabic, start=3] +. 进入数据库详情页面,点击"修改密码"列的图标image::media/image16.png[image16,width=19,height=16]。 + +image::media/image17.png[image17,width=553,height=173] + +[arabic, start=4] +. 输入新的数据库密码,点击"确定"按钮。 + +image::media/image18.png[image18,width=553,height=352] + +=== 删除实例 + +[arabic] +. demo用户登录平台。 + +. 点击左侧导航栏"数据库管理",选中数据库,点击"操作"列的"更多"按钮,在下拉选项中选择"删除实例"选项。 + +image::media/image19.png[image19,width=55,height=201] + +[arabic, start=3] +. 检查信息后,点击"确定"按钮。 + +image::media/image20.png[image20,width=552,height=207] + +=== 磁盘扩容 + +[arabic] +. 此功能需用户自行配置相关插件,如topolvm +. demo用户登录平台。 +. 点击左侧导航栏"磁盘扩容",选中数据库,点击"操作"列的"修改"按钮;或者点击左侧导航栏"数据库管理",选中数据库,点击"操作"列的"更多"按钮,在下拉选项中选择"磁盘扩容"选项。 + +image::media/image21.png[image21,width=552,height=197] + +image::media/image22.png[image22,width=63,height=200] + +[arabic, start=4] +. 检查并输入磁盘扩容的大小后,点击"确定"按钮。 + +image::media/image23.png[image23,width=553,height=242] + +=== 规格变更 + +[arabic] +. demo用户登录平台。 + +. 点击左侧导航栏"规格变更",选中数据库,点击"操作"列的"修改"按钮;或者点击左侧导航栏"数据库管理",选中数据库,点击"操作"列的"更多"按钮,在下拉选项中选择"规格变更"选项。 + +image::media/image24.png[image24,width=552,height=196] + +image::media/image25.png[image25,width=59,height=205] + +[arabic, start=3] +. 检查信息并输入规格变更的大小后,点击"确定"按钮。 + +image::media/image26.png[image26,width=552,height=240] + +=== 数据库备份 + +[arabic] +. demo用户登录平台。 + +. 点击左侧导航栏"数据库备份",选中数据库,点击"操作"列的"备份";或者点击左侧导航栏"数据库管理",选中数据库,点击"操作"列的"更多"按钮,在下拉选项中选择"备份"选项。 + +image::media/image27.png[image27,width=552,height=197] + +image::media/image28.png[image28,width=64,height=199] + +[arabic, start=3] +. 检查信息并输入备份名称后,点击"确定"按钮。 + +image::media/image29.png[image29,width=552,height=285] + +=== 数据库恢复 + +[arabic] +. demo用户登录平台。 + +. 点击左侧导航栏"数据库恢复",选中数据库,点击"操作"列的"查看"按钮;或者点击左侧导航栏"数据库管理",选中数据库,点击"操作"列的"更多"按钮,在下拉选项中选择"恢复"选项。 + +image::media/image30.png[image30,width=552,height=196] + +image::media/image31.png[image31,width=58,height=201] + +[arabic, start=3] +. 选择需要备份的文件后,点"操作"列的"恢复" + +image::media/image32.png[image32,width=552,height=304] + +image::media/image33.png[image33,width=552,height=305] + +[arabic, start=4] +. 输入需要恢复的数据库信息,密码为备份前的数据库密码 + +image::media/image34.png[image34,width=552,height=246] + +[arabic, start=5] +. 后续参考"4.1数据库订阅"的步骤。 + +=== 数据库监控 + +[arabic] +. demo用户登录平台。 + +. 点击左侧导航栏"监控工具",选择数据库所在的集群;或者点击左侧导航栏"数据库管理",选中数据库,点击"操作"列的"更多"按钮,在下拉选项中选择"监控"选项。 + +image::media/image35.png[image35,width=552,height=261] + +image::media/image36.jpeg[image36,width=65,height=215] + +[arabic, start=3] +. 等待监控创建完毕后,再次重复(2)中操作,跳转新页面,输入用户名:admin,密码admin,点击login登录 + +____ +image::media/image37.png[image37,width=552,height=272] +____ + +[arabic, start=4] +. 选择图标image::media/image38.jpeg[image38,width=24,height=17],点击查看监控指标。 + +image::media/image39.png[image39,width=553,height=264] + +image::media/image40.png[image40,width=552,height=261] + +image::media/image41.png[image41,width=553,height=261] + +image::media/image42.png[image42,width=552,height=72] + +image::media/image43.png[image43,width=552,height=259] + +image::media/image44.png[image44,width=552,height=280] + +=== 可视化登录工具 + +[arabic] +. demo用户登录平台。 + +. 点击左侧导航栏"数据库管理",选中数据库,点击"操作"列的"更多"按钮,选择"登录"选项。 + +image::media/image45.jpeg[image45,width=65,height=205] + +[arabic, start=3] +. 跳转新页面后,输入数据库用户名sysdba@ivyo.com及数据库密码,点击"Login"按钮。 + +image::media/image46.png[image46,width=383,height=263] + +[arabic, start=4] +. 连接数据库,即可进行操作。 + + diff --git a/EN/modules/ROOT/images/media/image10.png b/EN/modules/ROOT/images/media/image10.png new file mode 100644 index 0000000..7c3334d Binary files /dev/null and b/EN/modules/ROOT/images/media/image10.png differ diff --git a/EN/modules/ROOT/images/media/image11.png b/EN/modules/ROOT/images/media/image11.png new file mode 100644 index 0000000..56ffaab Binary files /dev/null and b/EN/modules/ROOT/images/media/image11.png differ diff --git a/EN/modules/ROOT/images/media/image12.png b/EN/modules/ROOT/images/media/image12.png new file mode 100644 index 0000000..4c6c784 Binary files /dev/null and b/EN/modules/ROOT/images/media/image12.png differ diff --git a/EN/modules/ROOT/images/media/image13.png b/EN/modules/ROOT/images/media/image13.png new file mode 100644 index 0000000..8ff015f Binary files /dev/null and b/EN/modules/ROOT/images/media/image13.png differ diff --git a/EN/modules/ROOT/images/media/image14.png b/EN/modules/ROOT/images/media/image14.png new file mode 100644 index 0000000..0f8ea22 Binary files /dev/null and b/EN/modules/ROOT/images/media/image14.png differ diff --git a/EN/modules/ROOT/images/media/image15.png b/EN/modules/ROOT/images/media/image15.png new file mode 100644 index 0000000..11ae1ce Binary files /dev/null and b/EN/modules/ROOT/images/media/image15.png differ diff --git a/EN/modules/ROOT/images/media/image16.png b/EN/modules/ROOT/images/media/image16.png new file mode 100644 index 0000000..a78afba Binary files /dev/null and b/EN/modules/ROOT/images/media/image16.png differ diff --git a/EN/modules/ROOT/images/media/image17.png b/EN/modules/ROOT/images/media/image17.png new file mode 100644 index 0000000..41f4178 Binary files /dev/null and b/EN/modules/ROOT/images/media/image17.png differ diff --git a/EN/modules/ROOT/images/media/image18.png b/EN/modules/ROOT/images/media/image18.png new file mode 100644 index 0000000..5eab6cd Binary files /dev/null and b/EN/modules/ROOT/images/media/image18.png differ diff --git a/EN/modules/ROOT/images/media/image19.png b/EN/modules/ROOT/images/media/image19.png new file mode 100644 index 0000000..4c05fa0 Binary files /dev/null and b/EN/modules/ROOT/images/media/image19.png differ diff --git a/EN/modules/ROOT/images/media/image20.png b/EN/modules/ROOT/images/media/image20.png new file mode 100644 index 0000000..8818128 Binary files /dev/null and b/EN/modules/ROOT/images/media/image20.png differ diff --git a/EN/modules/ROOT/images/media/image21.png b/EN/modules/ROOT/images/media/image21.png new file mode 100644 index 0000000..51d8c60 Binary files /dev/null and b/EN/modules/ROOT/images/media/image21.png differ diff --git a/EN/modules/ROOT/images/media/image22.png b/EN/modules/ROOT/images/media/image22.png new file mode 100644 index 0000000..41a6f74 Binary files /dev/null and b/EN/modules/ROOT/images/media/image22.png differ diff --git a/EN/modules/ROOT/images/media/image23.png b/EN/modules/ROOT/images/media/image23.png new file mode 100644 index 0000000..68444c1 Binary files /dev/null and b/EN/modules/ROOT/images/media/image23.png differ diff --git a/EN/modules/ROOT/images/media/image24.png b/EN/modules/ROOT/images/media/image24.png new file mode 100644 index 0000000..c63ef9b Binary files /dev/null and b/EN/modules/ROOT/images/media/image24.png differ diff --git a/EN/modules/ROOT/images/media/image25.png b/EN/modules/ROOT/images/media/image25.png new file mode 100644 index 0000000..7427fc7 Binary files /dev/null and b/EN/modules/ROOT/images/media/image25.png differ diff --git a/EN/modules/ROOT/images/media/image26.png b/EN/modules/ROOT/images/media/image26.png new file mode 100644 index 0000000..61e1007 Binary files /dev/null and b/EN/modules/ROOT/images/media/image26.png differ diff --git a/EN/modules/ROOT/images/media/image27.png b/EN/modules/ROOT/images/media/image27.png new file mode 100644 index 0000000..5dfa6fa Binary files /dev/null and b/EN/modules/ROOT/images/media/image27.png differ diff --git a/EN/modules/ROOT/images/media/image28.png b/EN/modules/ROOT/images/media/image28.png new file mode 100644 index 0000000..aa5fd09 Binary files /dev/null and b/EN/modules/ROOT/images/media/image28.png differ diff --git a/EN/modules/ROOT/images/media/image29.png b/EN/modules/ROOT/images/media/image29.png new file mode 100644 index 0000000..4e329ef Binary files /dev/null and b/EN/modules/ROOT/images/media/image29.png differ diff --git a/EN/modules/ROOT/images/media/image3.png b/EN/modules/ROOT/images/media/image3.png new file mode 100644 index 0000000..62902e6 Binary files /dev/null and b/EN/modules/ROOT/images/media/image3.png differ diff --git a/EN/modules/ROOT/images/media/image30.png b/EN/modules/ROOT/images/media/image30.png new file mode 100644 index 0000000..c164111 Binary files /dev/null and b/EN/modules/ROOT/images/media/image30.png differ diff --git a/EN/modules/ROOT/images/media/image31.png b/EN/modules/ROOT/images/media/image31.png new file mode 100644 index 0000000..bd660a8 Binary files /dev/null and b/EN/modules/ROOT/images/media/image31.png differ diff --git a/EN/modules/ROOT/images/media/image32.png b/EN/modules/ROOT/images/media/image32.png new file mode 100644 index 0000000..510d7dc Binary files /dev/null and b/EN/modules/ROOT/images/media/image32.png differ diff --git a/EN/modules/ROOT/images/media/image33.png b/EN/modules/ROOT/images/media/image33.png new file mode 100644 index 0000000..37352d1 Binary files /dev/null and b/EN/modules/ROOT/images/media/image33.png differ diff --git a/EN/modules/ROOT/images/media/image34.png b/EN/modules/ROOT/images/media/image34.png new file mode 100644 index 0000000..f8dabee Binary files /dev/null and b/EN/modules/ROOT/images/media/image34.png differ diff --git a/EN/modules/ROOT/images/media/image35.png b/EN/modules/ROOT/images/media/image35.png new file mode 100644 index 0000000..b2c7f4a Binary files /dev/null and b/EN/modules/ROOT/images/media/image35.png differ diff --git a/EN/modules/ROOT/images/media/image36.jpeg b/EN/modules/ROOT/images/media/image36.jpeg new file mode 100644 index 0000000..4b2e013 Binary files /dev/null and b/EN/modules/ROOT/images/media/image36.jpeg differ diff --git a/EN/modules/ROOT/images/media/image37.png b/EN/modules/ROOT/images/media/image37.png new file mode 100644 index 0000000..1c7a8a0 Binary files /dev/null and b/EN/modules/ROOT/images/media/image37.png differ diff --git a/EN/modules/ROOT/images/media/image38.jpeg b/EN/modules/ROOT/images/media/image38.jpeg new file mode 100644 index 0000000..a376a08 Binary files /dev/null and b/EN/modules/ROOT/images/media/image38.jpeg differ diff --git a/EN/modules/ROOT/images/media/image39.png b/EN/modules/ROOT/images/media/image39.png new file mode 100644 index 0000000..6c209b2 Binary files /dev/null and b/EN/modules/ROOT/images/media/image39.png differ diff --git a/EN/modules/ROOT/images/media/image4.png b/EN/modules/ROOT/images/media/image4.png new file mode 100644 index 0000000..545b07c Binary files /dev/null and b/EN/modules/ROOT/images/media/image4.png differ diff --git a/EN/modules/ROOT/images/media/image40.png b/EN/modules/ROOT/images/media/image40.png new file mode 100644 index 0000000..ca5858c Binary files /dev/null and b/EN/modules/ROOT/images/media/image40.png differ diff --git a/EN/modules/ROOT/images/media/image41.png b/EN/modules/ROOT/images/media/image41.png new file mode 100644 index 0000000..ebabdbb Binary files /dev/null and b/EN/modules/ROOT/images/media/image41.png differ diff --git a/EN/modules/ROOT/images/media/image42.png b/EN/modules/ROOT/images/media/image42.png new file mode 100644 index 0000000..4e1a44f Binary files /dev/null and b/EN/modules/ROOT/images/media/image42.png differ diff --git a/EN/modules/ROOT/images/media/image43.png b/EN/modules/ROOT/images/media/image43.png new file mode 100644 index 0000000..aebc64d Binary files /dev/null and b/EN/modules/ROOT/images/media/image43.png differ diff --git a/EN/modules/ROOT/images/media/image44.png b/EN/modules/ROOT/images/media/image44.png new file mode 100644 index 0000000..80d2d14 Binary files /dev/null and b/EN/modules/ROOT/images/media/image44.png differ diff --git a/EN/modules/ROOT/images/media/image45.jpeg b/EN/modules/ROOT/images/media/image45.jpeg new file mode 100644 index 0000000..53bd76d Binary files /dev/null and b/EN/modules/ROOT/images/media/image45.jpeg differ diff --git a/EN/modules/ROOT/images/media/image46.png b/EN/modules/ROOT/images/media/image46.png new file mode 100644 index 0000000..8c990ed Binary files /dev/null and b/EN/modules/ROOT/images/media/image46.png differ diff --git a/EN/modules/ROOT/images/media/image47.png b/EN/modules/ROOT/images/media/image47.png new file mode 100644 index 0000000..4b3354c Binary files /dev/null and b/EN/modules/ROOT/images/media/image47.png differ diff --git a/EN/modules/ROOT/images/media/image5.png b/EN/modules/ROOT/images/media/image5.png new file mode 100644 index 0000000..6aaf302 Binary files /dev/null and b/EN/modules/ROOT/images/media/image5.png differ diff --git a/EN/modules/ROOT/images/media/image6.png b/EN/modules/ROOT/images/media/image6.png new file mode 100644 index 0000000..7f11ad1 Binary files /dev/null and b/EN/modules/ROOT/images/media/image6.png differ diff --git a/EN/modules/ROOT/images/media/image7.png b/EN/modules/ROOT/images/media/image7.png new file mode 100644 index 0000000..10641ea Binary files /dev/null and b/EN/modules/ROOT/images/media/image7.png differ diff --git a/EN/modules/ROOT/images/media/image8.png b/EN/modules/ROOT/images/media/image8.png new file mode 100644 index 0000000..0038af2 Binary files /dev/null and b/EN/modules/ROOT/images/media/image8.png differ diff --git a/EN/modules/ROOT/images/media/image9.png b/EN/modules/ROOT/images/media/image9.png new file mode 100644 index 0000000..b779b1e Binary files /dev/null and b/EN/modules/ROOT/images/media/image9.png differ diff --git a/EN/modules/ROOT/nav.adoc b/EN/modules/ROOT/nav.adoc index 10273cf..2f3da4d 100644 --- a/EN/modules/ROOT/nav.adoc +++ b/EN/modules/ROOT/nav.adoc @@ -11,6 +11,8 @@ ** xref:master/4.3.adoc[Developer] ** xref:master/4.4.adoc[Operation Management] ** xref:master/4.5.adoc[Migration] +** xref:master/4.7.1.adoc[IvorySQL Installation Manual] +** xref:master/4.7.2.adoc[IvorySQL User Manual] * IvorySQL Ecosystem ** xref:master/cpu_arch_adp.adoc[CPU Architecture Adaption] ** xref:master/os_arch_adp.adoc[Operating System Adaption] diff --git a/EN/modules/ROOT/pages/master/4.7.1.adoc b/EN/modules/ROOT/pages/master/4.7.1.adoc new file mode 100644 index 0000000..aacb162 --- /dev/null +++ b/EN/modules/ROOT/pages/master/4.7.1.adoc @@ -0,0 +1,384 @@ +:sectnums: +:sectnumlevels: 5 +:imagesdir: ./_images + += Installation Guide + +The IvorySQL Cloud platform is a comprehensive solution that integrates the IvorySQL database and its surrounding ecosystem to deliver end-to-end database and resource management capabilities. Before starting the installation, compile and install the following projects from GitHub: + +Frontend: https://github.com/IvorySQL/ivory-cloud-web + +Backend: https://github.com/IvorySQL/ivory-cloud + +Prepare a Kubernetes cluster (version 1.23) and install `ivory-operator` on the master node: + +https://github.com/IvorySQL/ivory-operator/tree/IVYO_REL_5_STABLE + +== IvorySQL Cloud Platform Installation + +The IvorySQL Cloud platform currently supports installation on Linux systems. The required packages are listed below. + +[width="99%",cols="<28%,<72%",options="header"] +|=== +|Component |Package +|Frontend |dist +|Backend |cloudnative-1.0-SNAPSHOT.jar +|K8S cluster a| +[arabic] +. docker.io/ivorysql/ivory-operator:v5.0 +. docker.io/ivorysql/pgadmin:ubi8-9.9-5.0-1 +. docker.io/ivorysql/pgbackrest:ubi8-2.56.0-5.0-1 +. docker.io/ivorysql/postgres-exporter:ubi8-0.17.0-5.0-1 +. docker.io/ivorysql/ivorysql:ubi8-5.0-5.0-1 +|=== + +In addition, install the following supporting components: + +* *Backend database*: Stores and manages all data related to cloud resources, user information, access control, billing, and more. Use a PostgreSQL-compatible database such as PostgreSQL, HighGo DB, or IvorySQL. +* *NGINX*: Hosts the web user interface of the cloud platform. + +== Pre-installation Checklist + +Complete the preparation steps on every server before installation. Deploy IvorySQL Cloud on a Kubernetes (1.23) cluster that already has a default storage class. + +=== Disable the firewall + +Disable the firewall on every server to ensure full connectivity. + +[literal] +---- +systemctl stop firewalld.service + +systemctl disable firewalld.service +---- + +=== Backend deployment + +[[backend-db]] +==== Backend database + +Install the backend database yourself by following the instructions on the IvorySQL official website. + +==== Backend services + +===== Compile the backend service + +[literal] +---- +# Clone the code + +git clone https://github.com/IvorySQL/ivory-cloud.git + +# Go to the project root + +cd ivory-cloud +---- + +Ensure that every `.sh` file in `ivory-cloud\cloudnative\src\main\resources\monitor` and its subdirectories uses the Unix format. If not, run `dos2unix` to convert them. + +[literal] +---- +dos2unix cloudnative\src\main\resources\monitor\* + +# Build + +mvn clean + +mvn package -D maven.test.skip=true + +The packaged artifact `cloudnative-1.0-SNAPSHOT.jar` can be found under `ivory-cloud/cloudnative/target`. +---- + +===== Deploy the service + +[literal] +---- +Execute the following steps on the Kubernetes server: + +# Create a working directory + +mkdir -p /home/ivory + +# Upload `ivory-cloud/cloudnative/target/cloudnative-1.0-SNAPSHOT.jar` to the directory created above + +# Configuration files + +## Create a configuration directory + +mkdir -p /home/ivory/config + +## Upload configuration files + +Copy the following files from `ivory-cloud/cloudnative/src/main/resources` to `/home/ivory/config`: + +application.yaml + +application-native.yaml + +spring_pro_logback.xml + +## Update the configuration + +Replace `url`, `username`, and `password` with the database information configured in <>. + +## /home/ivory/config/application-native.yaml + +datasource: + +druid: + +db-type: com.alibaba.druid.pool.DruidDataSource + +driver-class-name: org.postgresql.Driver + +url: jdbc:postgresql://127.0.0.1:5432/ivorysql + +username: ivorysql + +password: "ivory@123" +---- + +==== Start the backend service + +[literal] +---- +# Install JDK 1.8 + +yum install -y java-1.8.0-openjdk.x86_64 + +[root@cloud ivory]# pwd + +/home/ivory/ + +[root@cloud ivory]# nohup java -jar cloudnative-1.0-SNAPSHOT.jar > log_native 2>&1 & + +[root@cloud ivory]# ps -ef | grep java + +root 77494 1 0 Oct09 ? 00:03:07 java -jar cloudnative-1.0-SNAPSHOT.jar +---- + +=== Frontend deployment + +==== Compile the frontend + +[literal] +---- +## Fetch the code + +git clone https://github.com/IvorySQL/ivory-cloud-web.git + +## Go to the project root + +cd ivorysql-cloud-web + +## Install dependencies + +npm install + +## Build for production + +npm run build:prod +---- + +==== Update directory and file permissions + +[literal] +---- +# Create a deployment directory + +[root@cloud opt]# mkdir -p /opt/cloud/web + +# Copy the generated `dist` folder to /opt/cloud/web + +# Grant permissions + +[root@cloud web]# chmod 755 /opt/cloud/web/dist + +[root@cloud web]# chmod -R 777 /opt/cloud/web/dist +---- + +==== Update config.js + +Edit the configuration file: + +[literal] +---- +[root@cloud dist]# pwd + +/home/cloud/web/dist + +[root@cloud dist]# vi config.js + +var PLATFROM_CONFIG = {}; + +// Replace with the IP address of the current server + +PLATFROM_CONFIG.baseUrl = "http://192.168.31.43:8081/cloudapi/api/v1" + +// true: show the “Register” button on the login page + +// false: hide the “Register” button on the login page + +globalShowRegister = true + +// Hide the cloud-native database? true: hide; false: show + +disableNative = false + +// Database type + +dbtype = "IvorySQL" + +dbversion = "5.0" +---- + +=== Install and configure NGINX + +The IvorySQL Cloud host must have NGINX installed to serve the web interface. Users can select any installation method; the following steps are provided for reference. + +==== Download the NGINX source package + +[literal] +---- +[root@cloud web]# wget https://nginx.org/download/nginx-1.20.1.tar.gz + +[root@cloud web]# ls -lrt + +total 3924 + +-rwxrwxr-x. 1 root root 1061461 May 25 2021 nginx-1.20.1.tar.gz + +-rwxrwxr-x. 1 root root 2943732 Oct 9 16:43 dist.tar.gz + +drwxrwxrwx. 4 root root 103 Oct 21 13:20 dist +---- + +==== Install dependencies + +[literal] +---- +[root@host30 cloud]# yum -y install pcre-devel + +[root@host30 cloud]# yum -y install openssl openssl-devel +---- + +==== Build and install NGINX + +NGINX is installed under the directory specified by `--prefix` during `configure`. The example below installs it to `/opt/cloud/nginx`. + +[literal] +---- +## Extract nginx-1.20.1.tar.gz + +[root@cloud web]# tar -zxvf nginx-1.20.1.tar.gz + +## Verify that nginx-1.20.1 was created + +[root@cloud web]# ls -lrt + +total 3924 + +-rwxrwxr-x. 1 root root 1061461 May 25 2021 nginx-1.20.1.tar.gz + +-rwxrwxr-x. 1 root root 2943732 Oct 9 16:43 dist.tar.gz + +drwxrwxr-x. 9 1001 1001 186 Oct 9 16:53 nginx-1.20.1 + +drwxrwxrwx. 4 root root 103 Oct 21 13:20 dist + +## Configure + +[root@cloud web]# cd nginx-1.20.1 + +[root@cloud nginx-1.20.1]# ./configure --prefix=/opt/cloud/nginx --with-http_ssl_module + +## Compile and install + +[root@cloud nginx-1.20.1]# make + +[root@cloud nginx-1.20.1]# make install +---- + +==== Update nginx.conf + +The configuration file is stored under `/opt/cloud/nginx`. Adjust it according to the README on GitHub, and replace the IP with the address of the current server. + +[literal] +---- +server { + +listen 9104; + +server_name 192.168.31.43; + +location / { + +root /opt/cloud/web/dist; + +index index.html index.htm; + +} + +error_page 500 502 503 504 /50x.html; + +location = /50x.html { + +root html; + +} + +} +---- + +==== Start NGINX + +[literal] +---- +[root@cloud sbin]# pwd + +/opt/cloud/nginx/sbin + +[root@cloud sbin]# ./nginx -c /opt/cloud/nginx/conf/nginx.conf + +[root@cloud sbin]# ps -ef | grep nginx + +root 2179 131037 0 09:46 pts/1 00:00:00 grep --color=auto nginx + +root 55047 1 0 Oct21 ? 00:00:00 nginx: master process ./nginx -c /opt/cloud/nginx/conf/nginx.conf + +nobody 55048 55047 0 Oct21 ? 00:00:00 nginx: worker process +---- + +=== Operator deployment + +Set up the Kubernetes cluster yourself. This section describes how to install `ivory-operator` on the cluster and preload container images. + +==== Install ivory-operator + +Refer to the README on GitHub: + +https://github.com/IvorySQL/ivory-operator/tree/IVYO_REL_4_STABLE[https://github.com/IvorySQL/ivory-operator/tree/IVYO_REL_5_STABLE] + +==== Load container images + +If your servers have direct access to Docker Hub, you can skip this step. Otherwise, preload the following images on every node in the Kubernetes cluster. + +[literal] +---- +docker.io/ivorysql/pgadmin:ubi8-9.9-5.0-1 + +docker.io/ivorysql/pgbackrest:ubi8-2.56.0-5.0-1 + +docker.io/ivorysql/pgbouncer:ubi8-1.23.0-5.0-1 + +docker.io/ivorysql/postgres-exporter:ubi8-0.17.0-5.0-1 + +docker.io/ivorysql/ivorysql:ubi8-5.0-5.0-1 + +docker.io/prom/prometheus:v2.33.5 + +docker.io/prom/alertmanager:v0.22.2 + +docker.io/grafana/grafana:8.5.10 +---- + diff --git a/EN/modules/ROOT/pages/master/4.7.2.adoc b/EN/modules/ROOT/pages/master/4.7.2.adoc new file mode 100644 index 0000000..ead3bf9 --- /dev/null +++ b/EN/modules/ROOT/pages/master/4.7.2.adoc @@ -0,0 +1,236 @@ +:sectnums: +:sectnumlevels: 5 +:imagesdir: ../../images + += User Guide + +IvorySQL Cloud is a web-based service platform that can be accessed from any computer through a browser. After installing the cloud service platform on the server with IP `192.168.31.43`, open a browser and enter `http://192.168.31.43:9104/` (9104 is the port configured in `nginx.conf.default`) to reach the login page: + +image::media/image3.png[image3,width=274,height=355] + +== Sign In and Sign Out + +=== Sign In + +On the login page, enter the prompted information to access the IvorySQL Cloud service platform: + +image::media/image4.png[image4,width=552,height=272] + +=== Sign Out + +Click the avatar in the upper-right corner to display the current username and the **Log Out** action. Click **Log Out** to exit; click the username to stay on the current page: + +image::media/image5.png[image5,width=552,height=62] + +== Administrator Features + +=== Add a Cluster + +[arabic] +. After signing in as the `admin` user, click **K8S Cluster Management** in the left navigation bar to open the cluster list. + +image::media/image6.png[image6,width=601,height=91] + +[arabic, start=2] +. Click **Add Kubernetes Cluster** in the upper-left corner, fill in the cluster information, and submit. + +image::media/image7.png[image7,width=333,height=291] + +=== Manage Clusters + +The cluster management page lists details for each cluster and allows you to edit or delete them. + +image::media/image8.png[image8,width=553,height=82] + +== demo User Features + +=== Database Subscription + +[arabic] +. Sign in with the `demo` user. +. Click **Database Subscription** in the left navigation, fill in the database parameters, and click **Next: Confirm**. + +image::media/image9.png[image9,width=552,height=272] + +[arabic, start=3] +. Review the information and click **Confirm**. + +image::media/image10.png[image10,width=552,height=272] + +[arabic, start=4] +. After confirming, the page automatically redirects to **Database Management** to show the subscription task. + +image::media/image11.png[image11,width=552,height=77] + +image::media/image12.png[image12,width=552,height=79] + +=== Database Management + +Displays all databases managed by the cloud service platform. + +image::media/image12.png[image12,width=552,height=79] + +=== Restart a Database + +[arabic] +. Sign in with the `demo` user. +. Go to **Database Management**, select a database, click **More** in the **Actions** column, and choose **Restart**. + +image::media/image13.png[image13,width=79,height=286] + +[arabic, start=3] +. Review the information and click **Confirm**. + +image::media/image14.png[image14,width=553,height=210] + +=== Change the Password + +[arabic] +. Sign in with the `demo` user. +. Go to **Database Management**, select a database, and click its **Instance ID**. + +image::media/image15.png[image15,width=553,height=48] + +[arabic, start=3] +. On the database details page, click the password icon image::media/image16.png[image16,width=19,height=16]. + +image::media/image17.png[image17,width=553,height=173] + +[arabic, start=4] +. Enter a new password and click **Confirm**. + +image::media/image18.png[image18,width=553,height=352] + +=== Delete an Instance + +[arabic] +. Sign in with the `demo` user. +. Go to **Database Management**, select a database, click **More** in the **Actions** column, and choose **Delete Instance**. + +image::media/image19.png[image19,width=55,height=201] + +[arabic, start=3] +. Review the confirmation window and click **Confirm**. + +image::media/image20.png[image20,width=552,height=207] + +=== Storage Expansion + +[arabic] +. This feature requires additional plug-ins such as TopoLVM. +. Sign in with the `demo` user. +. Click **Storage Expansion**, select a database, then click **Edit** in the **Actions** column; alternatively, go to **Database Management**, click **More**, and choose **Storage Expansion**. + +image::media/image21.png[image21,width=552,height=197] + +image::media/image22.png[image22,width=63,height=200] + +[arabic, start=4] +. Enter the expanded storage size and click **Confirm**. + +image::media/image23.png[image23,width=553,height=242] + +=== Specification Change + +[arabic] +. Sign in with the `demo` user. +. Click **Specification Change**, select a database, then click **Edit** in the **Actions** column; or go to **Database Management**, click **More**, and choose **Specification Change**. + +image::media/image24.png[image24,width=552,height=196] + +image::media/image25.png[image25,width=59,height=205] + +[arabic, start=3] +. Enter the new specification and click **Confirm**. + +image::media/image26.png[image26,width=552,height=240] + +=== Database Backup + +[arabic] +. Sign in with the `demo` user. +. Go to **Database Backup**, select a database, and click **Backup** in the **Actions** column; or go to **Database Management**, click **More**, and choose **Backup**. + +image::media/image27.png[image27,width=552,height=197] + +image::media/image28.png[image28,width=64,height=199] + +[arabic, start=3] +. Enter a backup name and click **Confirm**. + +image::media/image29.png[image29,width=552,height=285] + +=== Database Restore + +[arabic] +. Sign in with the `demo` user. +. Go to **Database Restore**, select a database, and click **View** in the **Actions** column; or go to **Database Management**, click **More**, and choose **Restore**. + +image::media/image30.png[image30,width=552,height=196] + +image::media/image31.png[image31,width=58,height=201] + +[arabic, start=3] +. Select the backup file and click **Restore** in the **Actions** column. + +image::media/image32.png[image32,width=552,height=304] + +image::media/image33.png[image33,width=552,height=305] + +[arabic, start=4] +. Enter the target database information. Use the database password from before the backup. + +image::media/image34.png[image34,width=552,height=246] + +[arabic, start=5] +. Continue following the workflow described in “4.1 Database Subscription”. + +=== Database Monitoring + +[arabic] +. Sign in with the `demo` user. +. Click **Monitoring Tools** in the left navigation and select the cluster where the database resides; or go to **Database Management**, select a database, click **More**, and choose **Monitoring**. + +image::media/image35.png[image35,width=552,height=261] + +image::media/image36.jpeg[image36,width=65,height=215] + +[arabic, start=3] +. After the monitoring stack is created, repeat step (2) to open the monitoring page, then sign in with `admin/admin` and click **Login**. + +____ +image::media/image37.png[image37,width=552,height=272] +____ + +[arabic, start=4] +. Click the icon image::media/image38.jpeg[image38,width=24,height=17] to view monitoring metrics. + +image::media/image39.png[image39,width=553,height=264] + +image::media/image40.png[image40,width=552,height=261] + +image::media/image41.png[image41,width=553,height=261] + +image::media/image42.png[image42,width=552,height=72] + +image::media/image43.png[image43,width=552,height=259] + +image::media/image44.png[image44,width=552,height=280] + +=== Visual Login Tool + +[arabic] +. Sign in with the `demo` user. +. Go to **Database Management**, select a database, click **More** in the **Actions** column, and choose **Login**. + +image::media/image45.jpeg[image45,width=65,height=205] + +[arabic, start=3] +. On the new page, enter the database account `sysdba@ivyo.com` and the database password, then click **Login**. + +image::media/image46.png[image46,width=383,height=263] + +[arabic, start=4] +. Once the connection is established, you can operate on the database. + +