diff --git "a/docs/user-guide/\351\203\250\347\275\262\346\214\207\345\215\227/pictures/WEB\347\225\214\351\235\242.png" "b/docs/user-guide/\351\203\250\347\275\262\346\214\207\345\215\227/pictures/WEB\347\225\214\351\235\242.png" index bb9be4e33ce470865fe5a07decbc056b9ee4e9bb..4714190d2ea7866662d2b3dfddbbd7f0bc0a9898 100644 Binary files "a/docs/user-guide/\351\203\250\347\275\262\346\214\207\345\215\227/pictures/WEB\347\225\214\351\235\242.png" and "b/docs/user-guide/\351\203\250\347\275\262\346\214\207\345\215\227/pictures/WEB\347\225\214\351\235\242.png" differ diff --git "a/docs/user-guide/\351\203\250\347\275\262\346\214\207\345\215\227/\346\227\240\347\275\221\347\273\234\347\216\257\345\242\203\344\270\213\351\203\250\347\275\262\346\214\207\345\215\227.md" "b/docs/user-guide/\351\203\250\347\275\262\346\214\207\345\215\227/\346\227\240\347\275\221\347\273\234\347\216\257\345\242\203\344\270\213\351\203\250\347\275\262\346\214\207\345\215\227.md" index e4135d9c7a3afd487a74553ffb65ec73417f75a2..fded6d3073d4ab7fb5617311ec63e50b216dc506 100644 --- "a/docs/user-guide/\351\203\250\347\275\262\346\214\207\345\215\227/\346\227\240\347\275\221\347\273\234\347\216\257\345\242\203\344\270\213\351\203\250\347\275\262\346\214\207\345\215\227.md" +++ "b/docs/user-guide/\351\203\250\347\275\262\346\214\207\345\215\227/\346\227\240\347\275\221\347\273\234\347\216\257\345\242\203\344\270\213\351\203\250\347\275\262\346\214\207\345\215\227.md" @@ -1,98 +1,107 @@ -# 无网络环境下部署指南 +# EulerCopilot 智能助手部署指南 -## 介绍 +版本信息 +当前版本:v0.9.4 +更新日期:2025年2月19日 -openEuler Copilot System 是一款智能问答工具,使用 openEuler Copilot System 可以解决操作系统知识获取的便捷性,并且为OS领域模型赋能开发者及运维人员。作为获取操作系统知识,使能操作系统生产力工具 (如 A-Ops / A-Tune / x2openEuler / EulerMaker / EulerDevOps / StratoVirt / iSulad 等),颠覆传统命令交付方式,由传统命令交付方式向自然语义进化,并结合智能体任务规划能力,降低开发、使用操作系统特性的门槛。 +## 概述 -### 主要组件介绍 +EulerCopilot 是一款智能问答工具,使用 EulerCopilot 可以解决操作系统知识获取的便捷性,并且为OS领域模型赋能开发者及运维人员。作为获取操作系统知识,使能操作系统生产力工具 (如 A-Ops / A-Tune / x2openEuler / EulerMaker / EulerDevOps / StratoVirt / iSulad 等),颠覆传统命令交付方式,由传统命令交付方式向自然语义进化,并结合智能体任务规划能力,降低开发、使用操作系统特性的门槛。 + +本指南提供基于自动化脚本的EulerCopilot智能助手系统部署说明,支持一键自动部署和手动分步部署两种方式。 + +### 组件介绍 | 组件 | 端口 | 说明 | | ----------------------------- | --------------- | -------------------- | | euler-copilot-framework | 8002 (内部端口) | 智能体框架服务 | | euler-copilot-web | 8080 | 智能体前端界面 | | euler-copilot-rag | 9988 (内部端口) | 检索增强服务 | -| euler-copilot-vectorize-agent | 8001 (内部端口) | 文本向量化服务 | +| authhub-backend-service | 11120 (内部端口) | 鉴权服务后端 | +| authhub-web-service | 8000 | 鉴权服务前端 | | mysql | 3306 (内部端口) | MySQL数据库 | | redis | 6379 (内部端口) | Redis数据库 | +| minio | 9000 (内部端口) 9001(外部部端口) | minio数据库 | +| mongo | 27017 (内部端口) | mongo数据库 | | postgres | 5432 (内部端口) | 向量数据库 | | secret_inject | 无 | 配置文件安全复制工具 | -## 环境要求 ### 软件要求 - -| 类型 | 版本要求 | 说明 | -|------------| -------------------------------------|--------------------------------------| +| 类型 | 版本要求 | 说明 | +|----------------| -------------------------------------|--------------------------------------| | 操作系统 | openEuler 22.03 LTS 及以上版本 | 无 | | K3s | >= v1.30.2,带有 Traefik Ingress 工具 | K3s 提供轻量级的 Kubernetes 集群,易于部署和管理 | -| Helm | >= v3.15.3 | Helm 是一个 Kubernetes 的包管理工具,其目的是快速安装、升级、卸载 openEuler Copilot System 服务 | +| Helm | >= v3.15.3 | Helm 是一个 Kubernetes 的包管理工具,其目的是快速安装、升级、卸载 EulerCopilot 服务 | | python | >=3.9.9 | python3.9.9 以上版本为模型的下载和安装提供运行环境 | - +--- ### 硬件要求 -| 类型 | 硬件要求 | -|----------------| -----------------------------| -| 服务器 | 1台 | -| CPU | 鲲鹏或x86_64,>= 32 cores | -| RAM | >= 64GB | -| 存储 | >= 500 GB | -| GPU | Tesla V100 16GB,4张 | -| NPU | 支持大模型推理的NPU卡或服务器 | +| 硬件资源 | 服务器(最小要求) | 服务器(推荐) | +|--------------|----------------------------|------------------------------| +| CPU | 4 核心 | 16 核心及以上 | +| RAM | 4 GB | 64 GB | +| 存储 | 32 GB | 64G | +| 大模型名称 | deepseek-llm-7b-chat | DeepSeek-R1-Llama-8B | +| 显存 (GPU) | 8 GB (NVIDIA RTX A4000, 1个) | 16 GB (NVIDIA A100, 2个) | -注意: +**注意**: 1. 若无 GPU 或 NPU 资源,建议通过调用 OpenAI 接口的方式来实现功能。 2. 调用第三方 OpenAI 接口的方式不需要安装高版本的 python (>=3.9.9) -3. 英伟达 GPU 对 Docker 的支持必需要新版本 Docker (>= v25.4.0) +4. 如果k8s集群环境,则不需要单独安装k3s,要求version >= 1.28 +--- ### 部署视图 ![部署图](./pictures/部署视图.png) -## 获取 openEuler Copilot System +--- +### 域名要求 +为确保 EulerCopilot 的正确部署和使用,请准备以下两个服务的域名:authhub、eulercopilot。这些子域名需属于同一个主域名下,例如 `www.eulercopilot.local`,`authhub.eulercopilot.local ` -- 从 openEuler Copilot System 的官方Git仓库 [euler-copilot-framework](https://gitee.com/openeuler/euler-copilot-framework) 下载最新的部署仓库 -- 如果您正在使用 Kubernetes,则不需要安装 k3s 工具。 +您可以通过两种方式来完成这项准备工作: - ```bash - # 下载目录以 home 为例 - cd /home - ``` +- **预先申请域名**:为每个服务(AuthHub、Euler Copilot)分别注册上述格式的子域名。 - ```bash - git clone https://gitee.com/openeuler/euler-copilot-framework.git - ``` +- **本地配置**:如果是在开发或测试环境中,您可以直接在本地Windows主机文件中进行配置。打开位于 `C:\Windows\System32\drivers\etc\hosts` 的文件,并添加相应的条目以映射这些子域名到本地或特定的IP地址,例如: +```bash +172.0.0.1 authhub.eulercopilot.local +172.0.0.1 www.eulercopilot.local +``` -## 环境准备 +## 快速开始 +### 获取部署脚本 -如果您的服务器、硬件、驱动等全部就绪,即可启动环境初始化流程,以下部署步骤在无公网环境执行。 +- 从 EulerCopilot 的官方Git仓库 [euler-copilot-framework](https://gitee.com/openeuler/euler-copilot-framework) 下载最新的部署仓库 +- 如果您正在使用 Kubernetes,则不需要安装 k3s 工具。 -### 1. 环境检查 +```bash +# 下载目录以 home 为例 +cd /home +``` +```bash +git clone https://gitee.com/openeuler/euler-copilot-framework.git -b 0.9.4 +``` +```bash +cd euler-copilot-framework/deploy/chart +``` -环境检查主要是对服务器的主机名、DNS、防火墙设置、磁盘剩余空间大小、网络、检查 SELinux 的设置。 +### 环境准备 -- 主机名设置 - 在Shell中运行如下命令: +如果您的服务器、硬件、驱动等全部就绪,即可启动环境初始化流程,以下部署步骤在无公网环境执行。 - ```bash - cat /etc/hostname - echo "主机名" > /etc/hostname - ``` +### 1. 环境检查 -- 系统DNS设置:需要给当前主机设置有效的DNS -- 防火墙设置 +环境检查主要是对服务器的防火墙设置、磁盘剩余空间大小、网络、检查 SELinux 的设置。 +- 防火墙设置 ```bash # 查看防火墙状态 systemctl status firewalld - # 查看防火墙列表 - firewall-cmd --list-all # 关闭防火墙 - systemctl stop firewalld - systemctl disable firewalld + systemctl disable firewalld --now ``` - - SELinux设置 - ```bash # 永久关闭 SELinux sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config @@ -102,50 +111,36 @@ openEuler Copilot System 是一款智能问答工具,使用 openEuler Copilot ### 2. 文件下载 -- 模型文件 bge-reranker-large、bge-mixed-model 下载 [模型文件下载链接](https://repo.oepkgs.net/openEuler/rpm/openEuler-22.03-LTS/contrib/EulerCopilot/) - +- 模型文件 bge-m3下载 [模型文件下载链接](https://repo.oepkgs.net/openEuler/rpm/openEuler-22.03-LTS/contrib/EulerCopilot),部署ollma, 并加载bge-m3模型 ```bash - mkdir -p /home/EulerCopilot/models - cd /home/EulerCopilot/models - # 将需要下载的bge文件放置在models目录 - wget https://repo.oepkgs.net/openEuler/rpm/openEuler-22.03-LTS/contrib/EulerCopilot/bge-mixed-model.tar.gz - wget https://repo.oepkgs.net/openEuler/rpm/openEuler-22.03-LTS/contrib/EulerCopilot/bge-reranker-large.tar.gz + wget https://repo.oepkgs.net/openEuler/rpm/openEuler-22.03-LTS/contrib/EulerCopilot/bge-m3.tar ``` + + - 镜像包下载 您可在联网的宿主机通过docker pull 拉取下面镜像到本地(即执行 docker pull remote_image_address ),并上传至待部署服务器。 ```bash # X86架构镜像地址如下所示,ARM架构修改tag为arm - hub.oepkgs.net/neocopilot/euler-copilot-framework:0.9.3-x86 - hub.oepkgs.net/neocopilot/euler-copilot-vectorize-agent:0.9.3-x86 - hub.oepkgs.net/neocopilot/euler-copilot-web:0.9.3-x86 - hub.oepkgs.net/neocopilot/data_chain_back_end:0.9.3-x86 - hub.oepkgs.net/neocopilot/data_chain_web:0.9.3-x86 - hub.oepkgs.net/neocopilot/authhub-backend:0.9.1-x86 - hub.oepkgs.net/neocopilot/authhub-web:0.9.1-x86 + hub.oepkgs.net/neocopilot/euler-copilot-framework:0.9.4-x86 + hub.oepkgs.net/neocopilot/euler-copilot-web:0.9.4-x86 + hub.oepkgs.net/neocopilot/data_chain_back_end:0.9.4-x86 + hub.oepkgs.net/neocopilot/data_chain_web:0.9.4-x86 + hub.oepkgs.net/neocopilot/authhub:0.9.3-x86 + hub.oepkgs.net/neocopilot/authhub-web:0.9.3-x86 hub.oepkgs.net/neocopilot/pgsql-empty:pg16-x86 hub.oepkgs.net/neocopilot/redis:7.4-alpine-x86 hub.oepkgs.net/neocopilot/mysql:8-x86 hub.oepkgs.net/neocopilot/minio:empty-x86 - hub.oepkgs.net/neocopilot/mongo:7.0.15-x86 - hub.oepkgs.net/neocopilot/secret_inject:x86 + hub.oepkgs.net/neocopilot/mongo:7.0.16-x86 + hub.oepkgs.net/neocopilot/secret_inject:dev-x86 ``` ### 3. 安装部署工具 #### 3.1 安装 K3s 并导入镜像 -- 安装 SELinux 配置文件 - - ```bash - yum install -y container-selinux selinux-policy-base - ``` - - ```bash - rpm -i https://rpm.rancher.io/k3s-selinux-0.1.1-rc1.el7.noarch.rpm - ``` - - 安装 k3s 可以在有网络的环境上获取 k3s 相关包并上传至服务器, 并执行安装操作,以 'v1.30.3+k3s1' 示例 @@ -158,21 +153,20 @@ openEuler Copilot System 是一款智能问答工具,使用 openEuler Copilot wget https://github.com/k3s-io/k3s/releases/download/v1.30.3%2Bk3s1/k3s-arm64 wget https://github.com/k3s-io/k3s/releases/download/v1.30.3%2Bk3s1/k3s-airgap-images-arm64.tar.zst ``` - + ```bash + mkdir -p /var/lib/rancher/k3s/agent/images + ``` ```bash # x86 架构 cp k3s /usr/local/bin/ # Arm 架构 - cp k3s-arm64 /usr/local/bin/ - ``` - ```bash - mkdir -p /var/lib/rancher/k3s/agent + cp k3s /usr/local/bin/ ``` ```bash # x86 架构 - cp k3s-airgap-images-amd64.tar.zst /var/lib/rancher/k3s/agent/images + cp k3s-airgap-images-amd64.tar.zst /var/lib/rancher/k3s/agent/images/ # Arm 架构 - cp k3s-airgap-images-arm64.tar.zst /var/lib/rancher/k3s/agent/images + cp k3s-airgap-images-arm64.tar.zst /var/lib/rancher/k3s/agent/images/ ``` ```bash curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh @@ -183,6 +177,10 @@ openEuler Copilot System 是一款智能问答工具,使用 openEuler Copilot ```bash export KUBECONFIG=/etc/rancher/k3s/k3s.yaml ``` + ```bash + k3s-killall.sh + systemctl restart k3s + ``` - 导入镜像 @@ -211,23 +209,16 @@ openEuler Copilot System 是一款智能问答工具,使用 openEuler Copilot rm -rf linux-arm64 ``` -#### 3.3 域名配置 - - 需要准备4个域名`minio\authhub\eulercopilot\witchaind`,可预先申请域名或在 `C:\Windows\System32\drivers\etc\hosts`下配置。 - - 必须是同根域名,如`minio.test.com`、`authhub.test.com`、`eulercopilot.test.com`、`witchaind.test.com` - - -#### 3.4 大模型准备 +### 4. 大模型准备 - 使用第三方 openai 在线接口 - 基于硬件本都部署大模型,本地部署大模型可参考附录部分。 - - ## 安装 -您的环境现已就绪,接下来即可启动 openEuler Copilot System 的安装流程。 +您的环境现已就绪,接下来即可启动 EulerCopilot 的安装流程。 -- 下载目录以home为例,进入 openEuler Copilot System 仓库的 Helm 配置文件目录 +- 下载目录以X86架构为例,进入 EulerCopilot 仓库的 Helm 配置文件目录 ```bash cd /home/euler-copilot-framework && ll @@ -239,34 +230,6 @@ openEuler Copilot System 是一款智能问答工具,使用 openEuler Copilot drwxr-xr-x 5 root root 4096 Aug 28 17:45 deploy/ ``` -- 查看deploy的目录 - - ```bash - tree deploy - ``` - - ```bash - deploy/chart - ├── databases - │   ├── Chart.yaml - │   ├── configs - │   ├── templates - │   └── values.yaml - ├── authhub - │   ├── Chart.yaml - │   ├── configs - │   ├── templates - │   └── values.yaml - └── euler_copilot - ├── Chart.yaml - ├── configs - ├── templates - │   ├── NOTES.txt - │   ├── rag - │   ├── vectorize - │   └── web - └── values.yaml - ``` - 创建命名空间 ```bash @@ -284,21 +247,18 @@ openEuler Copilot System 是一款智能问答工具,使用 openEuler Copilot - 编辑 values.yaml ```bash - cd deploy/chart/databases - ``` - - ```bash - vim values.yaml + cd /home/euler-copilot-framework/deploy/chart/databases ``` **填写说明:** - 1. **密码设置**:所有密码必须设置为数字与字母的组合,并请确认所有条目均已准确填写; - 2. **域名设置**:依据之前的域名配置,请正确填写 MinIO 的域名; - 3. **镜像标签调整**:根据系统架构,请相应地调整镜像标签(tag)。 + **镜像标签调整**:根据系统架构,请修改 globals.arch 为 `x86` 或者 `arm`;不填写可在命令中添加`--set globals.arch=x86` 或 `--set globals.arch=arm` ; - 安装数据库 ```bash - helm install -n euler-copilot databases . + # values.yaml指定架构 + helm install databases -n euler-copilot . + # values.yaml未指定架构 + helm install databases --set globals.arch=x86 -n euler-copilot . ``` - 检查 Pod 的状态 @@ -308,40 +268,10 @@ openEuler Copilot System 是一款智能问答工具,使用 openEuler Copilot ``` ```bash - pgsql-deploy-databases-86b4dc4899-ppltc 1/1 Running 0 17d - redis-deploy-databases-f8866b56-kj9jz 1/1 Running 0 17d - minio-deploy-databases-6b8dfcdc5d-7d4td 1/1 Running 0 17d - mongo-deploy-databases-85c75cbb-v88r6 1/1 Running 0 17d - ``` - -- 问题定位 - - - 查看 Pod 的 日志 - - ```bash - kubectl -n euler-copilot logs minio-deploy-databases-6b8dfcdc5d-7d4td - ``` - - 进入 Pod - - ```bash - kubectl -n euler-copilot exec pgsql-deploy-databases-86b4dc4899-ppltc -- bash - ``` - ```bash - # 连接数据库 - psql -U postgres -d postgres - ``` - - 清除 PVC - - ```bash - kubectl -n euler-copilot get pvc - ``` - - ```bash - kubectl -n euler-copilot delete pvc minio-pvc-databases - ``` - - 更新配置 - ```bash - helm upgrade -n euler-copilot databases . + minio-deploy-746786cf66-zjg4r 1/1 Running 0 3d19h + mongo-deploy-c89868d7d-jzhjh 1/1 Running 0 3d19h + mysql-deploy-7c6b8997cf-lll6j 1/1 Running 0 3d19h + pgsql-deploy-84fdb967ff-ll8gt 1/1 Running 0 3d19h ``` ### 2. 安装鉴权平台Authhub @@ -349,20 +279,22 @@ openEuler Copilot System 是一款智能问答工具,使用 openEuler Copilot - 编辑 values.yaml ```bash - cd ../authhub + cd /home/euler-copilot-framework/deploy/chart/authhub ``` ```bash vim values.yaml ``` **填写说明:** - 1. **密码设置**:所有密码必须设置为数字与字母的组合,并请确认所有条目均已准确填写; - 2. **域名设置**:依据之前的域名配置,请正确填写 authhub-web 的域名; - 3. **镜像标签调整**:根据系统架构,请相应地调整镜像标签(tag)。 + 1. **域名设置**:依据之前的域名配置,请正确填写 authhub 的域名, 不填写则使用默认域名 `authhub.eulercopilot.local`; + 2. **镜像标签调整**:根据系统架构,请修改 globals.arch 为 `x86` 或者 `arm`,不填写可在命令中添加 `--set globals.arch=x86` 或 `--set globals.arch=arm` ; - 安装 AuthHub ```bash - helm install -n euler-copilot authhub . + # values.yaml指定架构 + helm install authhub -n euler-copilot . + # values.yaml未指定架构 + helm install authhub --set globals.arch=x86 -n euler-copilot . ``` - 查看 pod 状态 @@ -372,58 +304,53 @@ openEuler Copilot System 是一款智能问答工具,使用 openEuler Copilot ``` ```bash - NAME READY STATUS RESTARTS AGE - authhub-backend-deploy-authhub-64896f5cdc-m497f 2/2 Running 0 16d - authhub-web-deploy-authhub-7c48695966-h8d2p 1/1 Running 0 17d - pgsql-deploy-databases-86b4dc4899-ppltc 1/1 Running 0 17d - redis-deploy-databases-f8866b56-kj9jz 1/1 Running 0 17d - minio-deploy-databases-6b8dfcdc5d-7d4td 1/1 Running 0 17d - mongo-deploy-databases-85c75cbb-v88r6 1/1 Running 0 17d + NAME READY STATUS RESTARTS AGE + authhub-backend-deploy-5dccfdcf-8t9qh 1/1 Running 0 9m36s + authhub-web-deploy-5fc4f6789d-slc96 1/1 Running 0 9m36s + mysql-deploy-68bddc7447-wks9g 1/1 Running 0 9m36s ``` - 登录 AuthHub - AuthHub 的域名以 为例,浏览器输入`https://authhub.test.com`,登录界面如下图所示: + AuthHub 的域名以 为例,浏览器输入`https://authhub.eulercopilot.local`,登录界面如下图所示: ![部署图](./pictures/authhub登录界面.png) **AuthHub 登录默认账号 `administrator`, 密码 `changeme`** -- 创建应用eulercopilot +- 创建应用 EulerCopilot ![部署图](./pictures/创建应用界面.png) 点击**创建应用**后,请按照以下示例填写相关信息: - - **应用名称**: eulercopilot - - **应用主页 URL**: https://eulercopilot.test.com - - **应用回调地址(登录后)**: https://eulercopilot.test.com/api/auth/login + - **应用名称**: EulerCopilot + - **应用主页 URL**: https://www.eulercopilot.local + - **应用回调地址(登录后)**: https://www.eulercopilot.local/api/auth/login - 点击**创建**,即可完成应用创建流程,系统将自动生成一个 **Client ID** 和 **Client Secret**。请保存好这对凭据,稍后在 `deploy/chart/euler_copilot/values.yaml` 配置文件中需要添加它们。 ![部署图](./pictures/创建应用成功界面.png) -### 3. 安装 openEuler Copilot System +### 3. 安装 EulerCopilot - 编辑 values.yaml ```bash - cd ../euler_copilot + cd /home/euler-copilot-framework/deploy/chart/euler_copilot ``` ```bash vim values.yaml ``` **填写说明:** + **填写说明:** + 1. **域名设置**:依据之前的域名配置,请正确填写 euler_copilot 和 authhub 的域名, 不填写则使用默认域名 `authhub.eulercopilot.local` 和 `www.eulercopilot.local`; + 2. **镜像标签调整**:根据系统架构,请修改 globals.arch 为 `x86` 或者 `arm`,不填写可在命令中添加 `--set globals.arch=x86` 或 `--set globals.arch=arm` ; + 3. **OIDC 设置**: login 的 client.id 和 client.secret 的正确配置 + 4. **插件部署(可选)**:用于问答的大模型和用于数据向量化(Embedding)的模型接口的填写 - 1. **密码设置**:所有密码必须是数字与字母的组合,请确保所有条目均已准确无误地填写。 - 2. **域名配置**:请根据先前的域名设置,正确填写 eulercopilot 和 witchind 的对应域名。 - 3. **镜像标签调整**:依据系统的架构要求,适当调整容器镜像的标签(tag)。 - 4. **Volume挂载目录**:创建并指定正确的卷(volume)挂载路径。 - 5. **OIDC 设置**:完成 framework章节中 OIDC 的正确配置。 - 6. **插件部署(可选)**:如果选择部署插件,需配置用于Function Call的模型。注意,部署sglang时需要有GPU支持环境,详情请参阅附件。 - -- 安装 openEuler Copilot System +- 安装 EulerCopilot ```bash - helm install -n euler-copilot service . + helm install euler-copilot --set globals.arch=x86 -n euler-copilot . ``` - 查看 Pod 状态 @@ -435,94 +362,40 @@ openEuler Copilot System 是一款智能问答工具,使用 openEuler Copilot 镜像拉取过程可能需要大约一分钟的时间,请耐心等待。部署成功后,所有 Pod 的状态应显示为 Running。 ```bash - NAME READY STATUS RESTARTS AGE - authhub-backend-deploy-authhub-64896f5cdc-m497f 2/2 Running 0 16d - authhub-web-deploy-authhub-7c48695966-h8d2p 1/1 Running 0 17d - pgsql-deploy-databases-86b4dc4899-ppltc 1/1 Running 0 17d - redis-deploy-databases-f8866b56-kj9jz 1/1 Running 0 17d - mysql-deploy-databases-57f5f94ccf-sbhzp 2/2 Running 0 17d - framework-deploy-service-bb5b58678-jxzqr 2/2 Running 0 16d - rag-deploy-service-5b7887644c-sm58z 2/2 Running 0 110m - vectorize-deploy-service-57f5f94ccf-sbhzp 2/2 Running 0 17d - web-deploy-service-74fbf7999f-r46rg 1/1 Running 0 2d + NAME READY STATUS RESTARTS AGE + authhub-backend-deploy-5b47b9f959-pz5dd 1/1 Running 0 3d23h + authhub-web-deploy-7957555974-2d6f7 1/1 Running 0 3d23h + framework-deploy-7d7bdcff79-8jxvk 1/1 Running 0 3d23h + minio-deploy-746786cf66-zjg4r 1/1 Running 0 3d23h + mongo-deploy-c89868d7d-jzhjh 1/1 Running 0 3d23h + mysql-deploy-7c6b8997cf-lll6j 1/1 Running 0 3d23h + pgsql-deploy-84fdb967ff-ll8gt 1/1 Running 0 3d23h + rag-deploy-7ff64bd746-zrpmp 1/1 Running 0 3d23h + rag-web-deploy-79bd698949-wrj8d 1/1 Running 0 3d23h + redis-deploy-7fb5b67844-mw948 1/1 Running 0 3d23h + web-deploy-5c9778798-srqsb 1/1 Running 0 3d23h ``` - - **故障排查:** - - 当 Pod 状态显示为失败时,建议遵循以下步骤进行问题排查: - - 1. **获取集群事件信息** - - 为了更好地定位 Pod 失败的原因,请首先检查 Kubernetes 集群中的事件 (Events)。这可以提供有关 Pod 状态变化的上下文信息。 - - ```bash - kubectl get events -n euler-copilot - ``` - - 2. **验证镜像拉取状态** - - 确认容器镜像是否成功拉取。如果镜像未能正确加载,可能是由于网络问题或镜像仓库配置错误。 - - ```bash - k3s crictl images - ``` - - 3. **审查 Pod 日志** - - 检查相关 Pod 的日志,以寻找可能的错误信息或异常行为。这对于诊断应用程序级别的问题特别有用。 - - ```bash - kubectl logs rag-deploy-service-5b7887644c-sm58z -n euler-copilot - ``` - - 4. **评估资源可用性** - - 确保 Kubernetes 集群有足够的资源(如 CPU、内存和存储)来支持 Pod 的运行。资源不足可能导致镜像拉取失败或其他性能问题。 - - ```bash - kubectl top nodes - ``` - - 5. **确认 k3s 版本兼容性** - - 如果遇到镜像拉取失败且镜像大小为 0 的问题,请检查您的 k3s 版本是否符合最低要求(v1.30.2 或更高)。较低版本可能存在不兼容的问题。 - - ```bash - k3s -v - ``` - - 6. **检查 OIDC 设置** - - 审核 `values.yaml` 文件中关于框架的 OIDC 配置,确保身份验证和授权服务已正确设置,这对于集成外部认证服务至关重要。 - - ```bash - cat /home/euler-copilot-framework/deploy/chart/euler_copilot/values.yaml | grep oidc - ``` - ## 验证安装 -恭喜您,**openEuler Copilot System** 已成功部署!为了开始您的体验,请在浏览器中输入 `https://您的EulerCopilot域名` 链接访问 openEuler Copilot System 的网页界面: +恭喜您,**EulerCopilot** 已成功部署!为了开始您的体验,请在浏览器中输入 `https://您的EulerCopilot域名` 链接访问 EulerCopilot 的网页界面: 首次访问时,您需要点击页面上的 **立即注册** 按钮来创建一个新的账号,并完成登录过程。 ![Web登录界面](./pictures/WEB登录界面.png) ![Web 界面](./pictures/WEB界面.png) -## 安装插件 - -详细信息请参考文档 [插件部署指南](./插件部署指南) - ## 构建专有领域智能问答 -详细信息请参考文档 [本地资产库构建指南](./本地资产库构建指南.md) +点击知识库,可登录本地知识库管理页面,详细信息请参考文档 [本地资产库构建指南](./本地资产库构建指南.md) +**知识库登录默认账号 `admin`, 密码 `123456`** +--- ## 附录 ### 大模型准备 - #### GPU 环境 -参考以下方式进行部署 +可直接使用部署的deepseek大模型参考以下方式进行部署 1. 下载模型文件: @@ -757,6 +630,58 @@ vim /home/euler-copilot-framework_openeuler/deploy/chart_ssl/traefik-secret.yaml kubectl apply -f traefik-secret.yaml ``` -#### 9. Pod 状态从 Running 变为 Pending 或 Completed +#### 9. 问题排查方法 + +1. **获取集群事件信息** + + 为了更好地定位 Pod 失败的原因,请首先检查 Kubernetes 集群中的事件 (Events)。这可以提供有关 Pod 状态变化的上下文信息。 + + ```bash + kubectl get events -n euler-copilot + ``` + +2. **验证镜像拉取状态** + + 确认容器镜像是否成功拉取。如果镜像未能正确加载,可能是由于网络问题或镜像仓库配置错误。 + + ```bash + k3s crictl images + ``` + +3. **审查 Pod 日志** + + 检查相关 Pod 的日志,以寻找可能的错误信息或异常行为。这对于诊断应用程序级别的问题特别有用。 + + ```bash + kubectl logs rag-deploy-service-5b7887644c-sm58z -n euler-copilot + ``` + +4. **评估资源可用性** -Pod 状态变化可能是因为宿主机存储空间不足。使用 `df -h` 检查磁盘使用情况,并保证至少有 30% 的可用空间。这有助于维持 Pod 的稳定运行状态。 + 确保 Kubernetes 集群有足够的资源(如 CPU、内存和存储)来支持 Pod 的运行。资源不足可能导致镜像拉取失败或其他性能问题,或使得 Pod 状态从 Running 变为 Pending 或 Completed。可查看磁盘空间并保证至少有 30% 的可用空间。这有助于维持 Pod 的稳定运行状态。参考该链接挂载空间较大的磁盘[How to move k3s data to another location](https://mrkandreev.name/snippets/how_to_move_k3s_data_to_another_location/) + + ```bash + kubectl top nodes + ``` + +5. **确认 k3s 版本兼容性** + + 如果遇到镜像拉取失败且镜像大小为 0 的问题,请检查您的 k3s 版本是否符合最低要求(v1.30.2 或更高)。较低版本可能存在不兼容的问题。 + + ```bash + k3s -v + ``` + +6. **检查配置** + + 检查 `values.yaml` 文件中关于 OIDC 配置和域名配置是否填写正确,确保配置无误后更新服务。 + + ```bash + cat /home/euler-copilot-framework/deploy/chart/euler_copilot + ``` + ```bash + vim values.yaml | grep oidc + ``` + ```bash + helm upgrade euler-copilot -n euler-copilot . + ``` diff --git "a/docs/user-guide/\351\203\250\347\275\262\346\214\207\345\215\227/\347\275\221\347\273\234\347\216\257\345\242\203\344\270\213\351\203\250\347\275\262\346\214\207\345\215\227.md" "b/docs/user-guide/\351\203\250\347\275\262\346\214\207\345\215\227/\347\275\221\347\273\234\347\216\257\345\242\203\344\270\213\351\203\250\347\275\262\346\214\207\345\215\227.md" index a45cb297f67142bee5f498b3cd813fc86c8df7d5..82be9f4cb4018bde9412feea1841d05ca235e7c1 100644 --- "a/docs/user-guide/\351\203\250\347\275\262\346\214\207\345\215\227/\347\275\221\347\273\234\347\216\257\345\242\203\344\270\213\351\203\250\347\275\262\346\214\207\345\215\227.md" +++ "b/docs/user-guide/\351\203\250\347\275\262\346\214\207\345\215\227/\347\275\221\347\273\234\347\216\257\345\242\203\344\270\213\351\203\250\347\275\262\346\214\207\345\215\227.md" @@ -193,8 +193,8 @@ helm upgrade euler-copilot -n euler-copilot . ## 构建专有领域智能问答 -详细信息请参考文档 [本地资产库构建指南](./本地资产库构建指南.md) -**witChaind 登录默认账号 `admin`, 密码 `123456`** +点击知识库,可登录本地知识库管理页面,详细信息请参考文档 [本地资产库构建指南](./本地资产库构建指南.md) +**知识库登录默认账号 `admin`, 密码 `123456`** --- ## 附录 @@ -439,56 +439,57 @@ kubectl apply -f traefik-secret.yaml #### 9. 问题排查方法 - 1. **获取集群事件信息** +1. **获取集群事件信息** - 为了更好地定位 Pod 失败的原因,请首先检查 Kubernetes 集群中的事件 (Events)。这可以提供有关 Pod 状态变化的上下文信息。 + 为了更好地定位 Pod 失败的原因,请首先检查 Kubernetes 集群中的事件 (Events)。这可以提供有关 Pod 状态变化的上下文信息。 - ```bash - kubectl get events -n euler-copilot - ``` + ```bash + kubectl get events -n euler-copilot + ``` - 2. **验证镜像拉取状态** +2. **验证镜像拉取状态** - 确认容器镜像是否成功拉取。如果镜像未能正确加载,可能是由于网络问题或镜像仓库配置错误。 + 确认容器镜像是否成功拉取。如果镜像未能正确加载,可能是由于网络问题或镜像仓库配置错误。 - ```bash - k3s crictl images - ``` + ```bash + k3s crictl images + ``` - 3. **审查 Pod 日志** +3. **审查 Pod 日志** - 检查相关 Pod 的日志,以寻找可能的错误信息或异常行为。这对于诊断应用程序级别的问题特别有用。 + 检查相关 Pod 的日志,以寻找可能的错误信息或异常行为。这对于诊断应用程序级别的问题特别有用。 - ```bash - kubectl logs rag-deploy-service-5b7887644c-sm58z -n euler-copilot - ``` + ```bash + kubectl logs rag-deploy-service-5b7887644c-sm58z -n euler-copilot + ``` - 4. **评估资源可用性** +4. **评估资源可用性** - 确保 Kubernetes 集群有足够的资源(如 CPU、内存和存储)来支持 Pod 的运行。资源不足可能导致镜像拉取失败或其他性能问题,或使得 Pod 状态从 Running 变为 Pending 或 Completed。可查看磁盘空间并保证至少有 30% 的可用空间。这有助于维持 Pod 的稳定运行状态。 + 确保 Kubernetes 集群有足够的资源(如 CPU、内存和存储)来支持 Pod 的运行。资源不足可能导致镜像拉取失败或其他性能问题,或使得 Pod 状态从 Running 变为 Pending 或 Completed。可查看磁盘空间并保证至少有 30% 的可用空间。这有助于维持 Pod 的稳定运行状态。参考该链接挂载空间较大的磁盘[How to move k3s data to another location](https://mrkandreev.name/snippets/how_to_move_k3s_data_to_another_location/) - ```bash - kubectl top nodes - ``` - 5. **确认 k3s 版本兼容性** + ```bash + kubectl top nodes + ``` - 如果遇到镜像拉取失败且镜像大小为 0 的问题,请检查您的 k3s 版本是否符合最低要求(v1.30.2 或更高)。较低版本可能存在不兼容的问题。 +5. **确认 k3s 版本兼容性** - ```bash - k3s -v - ``` + 如果遇到镜像拉取失败且镜像大小为 0 的问题,请检查您的 k3s 版本是否符合最低要求(v1.30.2 或更高)。较低版本可能存在不兼容的问题。 - 6. **检查配置** + ```bash + k3s -v + ``` + +6. **检查配置** - 审核 `values.yaml` 文件中关于 OIDC 配置和域名配置是否填写正确,确保配置无误后更新服务。 + 检查 `values.yaml` 文件中关于 OIDC 配置和域名配置是否填写正确,确保配置无误后更新服务。 - ```bash - cat /home/euler-copilot-framework/deploy/chart/euler_copilot - ``` - ```bash - vim values.yaml | grep oidc - ``` - ```bash - helm upgrade euler-copilot -n euler-copilot . - ``` + ```bash + cat /home/euler-copilot-framework/deploy/chart/euler_copilot + ``` + ```bash + vim values.yaml | grep oidc + ``` + ```bash + helm upgrade euler-copilot -n euler-copilot . + ```