附录
# 附录
# 操作命令
# PostgreSQL 操作命令
# 启动
./bin/maas.sh middleware start postgresql
# 停止
./bin/maas.sh middleware stop postgresql
# 查看状态
./bin/maas.sh middleware status postgresql
# 查看日志
./bin/maas.sh middleware logs postgresql
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
# MinIO 操作命令
# 启动
./bin/maas.sh middleware start minio
# 停止
./bin/maas.sh middleware stop minio
# 查看状态
./bin/maas.sh middleware status minio
# 查看日志
./bin/maas.sh middleware logs minio
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
# Apusiclet 介绍
# 主要功能
- 对进程操作和管理
- apusiclet 通过对进程的纳管,确保在节点上对进程进行启动、停止、重启等操作。
- 对 peasecod 资源的管理
- 定时同步与 ACP 平台进程的状态,虚拟机状态。
- 健康检查(Liveness/Readiness):
- apusiclet 会定期检查容器的健康状况,执行 liveness(存活)和 readiness(就绪)探针。如果容器健康检查失败,apusiclet 会重新启动容器。
- 日志收集
- apusiclet 会处理进程日志的收集。
- 资源监控
- apusiclet 会定期报告节点资源使用情况(如 CPU、内存、磁盘等)给 ACP 控制平面,以便集群管理员可以监控节点健康和负载。
- 与 ACP 服务器通信:
- apusiclet 定期向 ACP API 服务器报告节点和进程的状态,并接收新的调度指令。它负责与 API 服务器的实时通信,确保进程与集群的状态一致。
# 工作流程
# 操作说明
获取当前虚拟机中所有的进程对象。
名词解释:
- pc(进程组):由一个或者多个进程组成的集合。
- NAMESPACE:ACP 中租户 ID。
- CONTEXT:当前实例集群的名称。
- READY:进程组正常能访问的个数(正常进程个数/进程组总数)。
- RESTART:重启次数。当被纳管的进程关闭或自动退出时,
apusiclet会自动拉起该进程,重启次数依次递增,最大重启时间为 5min。 - STATUS:当前进程组的状态,可能值包括 INITIALIZED(初始化)、CREATED(已创建)、RUNNING(运行中)、CHECKING(状态校验)、FAILED(已失败)、UPGRADE(升级中)、EXISTED(进程退出)、SUCCESS(成功)、STOPPED(已停止)。
$ apusiclet pc ls ID NAME CONTEXT NAMESPACE READY RESTART STATUS TIME 0 demo-exporter-ayynukaq-0 示例集群 1 1/1 0 SUCCESS 2024-11-25 15:25:09 1 demo-app-omgyciiw-0 示例集群 1 1/1 0 SUCCESS 2024-11-25 15:25:031
2
3
4
5获取当前进程组资源状态及对象 YAML,使用上下方向键选择目标进程组。
$ apusiclet pc get Use the arrow keys to navigate: ↓ ↑ → ← and / toggles search select peasecod Output format. One of: yaml 😼 demo-exporter-ayynukaq-0 示例集群 1 demo-app-omgyciiw-0 1 --------- Info ---------- Name: demo-exporter-ayynukaq-0 Context: 示例集群1
2
3
4
5
6
7
8
9获取当前实例的进程日志。
步骤与
apusiclet pc get类似,使用上下方向键选择目标进程组后即可查看对应日志。$ apusiclet logs Use the arrow keys to navigate: ↓ ↑ → ← and / toggles search select peasecod Output format. One of: yaml 😼 demo-exporter-ayynukaq-0 示例集群 1 demo-app-omgyciiw-0 1 --------- Info ---------- Name: demo-exporter-ayynukaq-0 Context: 示例集群 😸 Select:demo-exporter-ayynukaq-0 server address is 127.0.0.1:2185 exporter_port is 9145 2024/11/25 15:25:09 info: zookeeper hosts: [127.0.0.1:2185] 2024/11/25 15:25:09 info: serving metrics at :9145/metrics server address is 127.0.0.1:2185 exporter_port is 9145 2024/11/25 15:25:09 info: zookeeper hosts: [127.0.0.1:2185] 2024/11/28 14:02:33 info: serving metrics at :9145/metrics 2024/12/02 14:53:50 info: zookeeper hosts: [127.0.0.1:2185] 2024/12/02 14:53:50 info: serving metrics at :9145/metrics 2024/12/02 14:53:50 fatal: shutting down exporter: listen tcp :9145: bind: address already in use1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23查看当前 volumes 挂载的卷
$ apusiclet volume ls ID NAME PATH MOUNT SIZE STATUS TIME1
2
3
# apusiclet 制品包的制作
方式一:
构建 apusiclet 与 apusic 制品包
$ apusiclet preset build <REPOSITORY_NAME>:<VERSION> ✔ Name (软件包名称): minio ✔ Version (软件包版本): 20210422 ✔ Maintainer (作者): apusic Preset (软件包): minio-20210422-linux-amd64.tar.gz WorkDir (工作路径): /root/minio-test Volumes (Bind mount a volume [hostPath:containerPath],[hostPath1:containerPath1]): ./data:./data Environment (环境变量): MINIO_ROOT_USER=[YOUR_USERNAME],MINIO_ROOT_PASSWORD=[YOUR_PASSWORD] Command (执行命令(输入 'exit' 退出)) 请输入command:: ./minio server ./data/minio 请输入command:: exit1
2
3
4
5
6
7
8
9
10
11⚠️ 安全提示:生产环境部署必须修改为强密码,避免使用默认凭证。
方式二:
- 初始化
metadata.json,初始化成功后会在当前目录生成一个metadata.json文件。
apusiclet preset init
1
- 修改当前
metadata.json
{
"metadata": {},
"raw": {
"name": "minio",
"version": "20210422",
"maintainer": "apusic"
},
"images": {
"preset": "minio-20210422-linux-amd64.tar.gz"
},
"os": "linux",
"command": [
"./minio server /root/minio-dev/data"
],
"create_time": "0001-01-01T00:00:00Z"
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
- 构建 preset 中间件安装包
apusiclet preset build minio:v1 -f metadata.json
=> naming to minio:v1
1
2
2
# 关于 apusiclet 升级
# 查看当前虚拟机中的 apusiclet 当前的版本
apusiclet version
APUSICLET
apusic 中间件生命周期管理
Version: 8.0.5.23
GitRevision: 075de3cd90e7d279657267cfb1d47a7093cc877a
GolangVersion: go1.23.4
BuildStatus: develop
GitTag: v8.0.5.23
Platform: linux/amd64
BuildDate: 2025-06-17-14:31:53
# 如果需要更新到最新版本,可以通过页面上更新 apusiclet,也可以通过命令行更新
apusiclet upgrade
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 手动安装 apusiclet
# 手动卸载 apusiclet 软件包
systemctl stop apusiclet
yum remove -y apusiclet
# 下载并安装 apusiclet
wget https://<internal-nexus-url>/repository/file-server/acp/apusiclet/apusiclet-8.0.5.23-Linux-amd64.rpm
rpm -ivh apusiclet-8.0.5.23-Linux-amd64.rpm
rm apusiclet-8.0.5.23-Linux-amd64.rpm -rf
systemctl daemon-reload
systemctl start apusiclet
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
如果更新过程中出现问题,可使用以下命令查看日志
$ cat /var/log/messages | grep upgrade.sh
1
# apusiclet 制品库管理
查询制品包列表
$ apusiclet preset ls REPOSITORY TAG ID CREATED SIZE 172.24.3.XX:9010/acp/minio latest c4d70f148d 2025-03-11 15:50:11 17 MB1
2
3
4删除本地制品包
$ apusiclet preset rm 172.24.3.XX:9010/acp/minio:latest remove preset down ...1
2拉取仓库的制品包
$ apusiclet pull 172.24.3.XX:9010/acp/minio:latest Connecting to 172.24.3.XX:9010 ... connected. Length: 16690390 (17 MB) [application/x-rpm] minio-latest.tar.gz 100% [==============================] (616 MB/s) 2025-03-11 18:15:16 - 'minio-latest.tar.gz' saved [16690390:16690390]1
2
3
4
5推送仓库的制品包
$ apusiclet push 172.24.3.XX:9010/acp/minio:latest Length: 16690388 (17 MB) [application/octet-stream] minio-latest.tar.gz 100% [==============================] (204 MB/s) 2025-03-11 18:15:59 - 'minio-latest.tar.gz' pushed... [16690388:16690388]1
2
3
4推送制品包和拉取制品包时,需要登录对应的仓库
$ apusiclet login 172.24.3.XX:9010 Username:: [YOUR_USERNAME] ✔ Password:: [YOUR_PASSWORD] Login Succeeded1
2
3
4⚠️ 安全提示:生产环境部署必须修改为强密码,避免使用默认凭证。
运行指定的制品包服务
$ apusiclet preset run --name minio-demo 172.24.3.XX:9010/acp/minio:latest peasecod minio-demo created # 查询当前服务运行状态 $ apusiclet pc ls ID NAME CONTEXT NAMESPACE READY RESTART STATUS TIME 0 minio-demo minio-demo default 1/1 0 SUCCESS 2025-03-11 18:20:38 # 获取当前服务的日志 # apusiclet pc logs <NAME> <NAMESPACE> $ apusiclet pc logs minio-demo default Endpoint: http://172.24.3.XX:9000 http://192.168.x.x:9000 http://192.168.x.x:9000 http://192.168.x.x:9000 http://192.168.x.x:9000 http://192.168.x.x:9000 http://192.168.x.x:9000 http://192.168.x.x:9000 http://192.18.0.x:9000 http://127.0.0.1:9000 Browser Access: http://172.24.3.XX:9000 http://192.168.x.x:9000 http://192.168.x.x:9000 http://192.168.x.x:9000 http://192.168.x.x:9000 http://192.168.x.x:9000 http://192.168.x.x:9000 http://192.168.x.x:9000 http://192.18.0.x:9000 http://127.0.0.1:9000 Object API (Amazon S3 compatible): Go: https://docs.min.io/docs/golang-client-quickstart-guide Java: https://docs.min.io/docs/java-client-quickstart-guide Python: https://docs.min.io/docs/python-client-quickstart-guide JavaScript: https://docs.min.io/docs/javascript-client-quickstart-guide .NET: https://docs.min.io/docs/dotnet-client-quickstart-guide Detected default credentials 'minioadmin:minioadmin', please change the credentials immediately using 'MINIO_ROOT_USER' and 'MINIO_ROOT_PASSWORD' IAM initialization complete1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
访问当前 MinIO 是否正常运行:

编辑页面 (opens new window)