使用之前的话
本教程旨在补充需要手工安装和升级的方式。
- 优先通过安装器进行安装 https://docs.daocloud.io/install/intro/ ,请以官方教程文档为准。
- 优先通过安装器进行安装 https://docs.daocloud.io/install/intro/ ,请以官方教程文档为准。
- 优先通过安装器进行安装 https://docs.daocloud.io/install/intro/ ,请以官方教程文档为准。
安装器 v0.3.28 及之前
默认安装不支持;在安装规划时,可以修改 mainfest.yaml 开启 Skoala 自动安装
检查预装环境
./dce5-installer install-app -m /sample/manifest.yaml
安装器 v0.3.29
20222.12.15 即将发版)支持默认安装 Skoala;仍旧建议检查mainfest.yaml ,确保 Skoala 会被安装器安装。
enable 需要为 true,需要指定对应的 helmVersion:
...
components:
skoala:
enable: true
helmVersion: v0.12.2
variables:
...
- 重要的话:默认安装器版本携带的是当时最新经过测试的版本;如无特殊情况,不建议更新默认的 helm 安装版本。
- 重要的话:默认安装器版本携带的是当时最新经过测试的版本;如无特殊情况,不建议更新默认的 helm 安装版本。
- 重要的话:默认安装器版本携带的是当时最新经过测试的版本;如无特殊情况,不建议更新默认的 helm 安装版本。
安装前的检测
检测 skoala 安装情况
查看 命名空间为 skoala-system 的之中是否有以下对应的资源,如果没有任何资源,说明 Skoala 的确没有安装。
~ kubectl -n skoala-system get pods
NAME READY STATUS RESTARTS AGE
hive-8548cd9b59-948j2 2/2 Running 2 (3h48m ago) 3h48m
sesame-5955c878c6-jz8cd 2/2 Running 0 3h48m
ui-7c9f5b7b67-9rpzc 2/2 Running 0 3h48m
~ helm -n skoala-system list
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
skoala skoala-system 3 2022-12-16 11:17:35.187799553 +0800 CST deployed skoala-0.13.0 0.13.0
2.2. 依赖 common-mysql 的安装情况
skoala 在安装时需要用到 mysql 来存储配置,所以必须要保证数据库存在;另外查看下 common-mysql 是否有 skoala 这个数据库。
~ kubectl -n mcamel-system get statefulset
NAME READY AGE
mcamel-common-mysql-cluster-mysql 2/2 7d23h
建议给到 skoala 用到的数据库信息如下:
- host: mcamel-common-mysql-cluster-mysql-master.mcamel-system.svc.cluster.local
- port: 3306
- database : skoala
- user: skoala
- password:
关于 insight-agent
Skoala 所有的监控的信息,需要依赖 Insight 的能力,则需要在集群中安装对应的 insight-agent;
对 Skoala 的影响:
- 如果 skoala-init 安装时未先安装 insight-agent,不会安装 service-monitor
- 如果需要安装 service-monitor,请先安装 insight-agent,再安装 skoala-init
如果先安装了 skoala-init, 目前需要在安装 insight-agent 后,重装 skoala-init
手动安装过程
初始化 数据库表
如果在 common-mysql 内的 skoala 数据库为空,请登录到 skoala 数据库后,执行以下 SQL:
CREATE TABLE `registry` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`uid` varchar(32) DEFAULT NULL,
`name` varchar(50) NOT NULL,
`type` varchar(50) NOT NULL,
`addresses` varchar(1000) NOT NULL,
`namespaces` varchar(2000) NOT NULL,
`deleted_at` timestamp NULL COMMENT 'Time deteled',
`created_at` timestamp NOT NULL DEFAULT current_timestamp(),
`updated_at` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
PRIMARY KEY (`id`),
UNIQUE KEY `idx_uid` (`uid`),
UNIQUE KEY `idx_name` (`name`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4;
CREATE TABLE `book` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`uid` varchar(32) DEFAULT NULL,
`name` varchar(50) NOT NULL,
`author` varchar(32) NOT NULL,
`status` int(1) DEFAULT 1 COMMENT '0:下架,1:上架',
`isPublished` tinyint(1) unsigned NOT NULL DEFAULT 1 COMMENT '0: unpublished, 1: published',
`publishedAt` timestamp NULL DEFAULT NULL COMMENT '出版时间',
`deleted_at` timestamp NULL COMMENT 'Time deteled',
`createdAt` timestamp NOT NULL DEFAULT current_timestamp(),
`updatedAt` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
PRIMARY KEY (`id`),
UNIQUE KEY `idx_uid` (`uid`),
UNIQUE KEY `idx_name` (`name`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4;
CREATE TABLE `api` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`is_hosted` tinyint DEFAULT 0,
`registry` varchar(50) NOT NULL,
`service_name` varchar(200) NOT NULL,
`nacos_namespace` varchar(200) NOT NULL COMMENT 'Nacos namespace id',
`nacos_group_name` varchar(200) NOT NULL,
`data_type` varchar(100) NOT NULL COMMENT 'JSON or YAML.',
`detail` mediumtext NOT NULL,
`deleted_at` timestamp NULL COMMENT 'Time deteled',
`created_at` timestamp NOT NULL DEFAULT current_timestamp(),
`updated_at` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
PRIMARY KEY (`id`),
UNIQUE KEY `idx_registry_and_service_name` (`registry`, `service_name`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4;
INSERT INTO `book` VALUES (1,'book-init','MicroService Pattern','daocloud',1,1,'2022-03-23 13:50:00',null,now(),now());
alter table registry add is_hosted tinyint default 0 not null after namespaces;
alter table registry add workspace_id varchar(50) not null DEFAULT 'default' after uid;
alter table registry add ext_id varchar(50) null after workspace_id;
drop index idx_name on registry;
create unique index idx_name on registry (name, workspace_id);
完成以上操作,会在 Skoala 数据库内有 3 张表,注意检测对应 SQL 是否全部是生效。