KubeHeal/openshift-aiops-platform

GitHub: KubeHeal/openshift-aiops-platform

面向 OpenShift 与 Kubernetes 的生产级 AIOps 自愈平台,通过融合确定性规则与机器学习实现智能故障检测与自动修复。

Stars: 3 | Forks: 3

# OpenShift AI Ops 自愈平台 [![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) [![OpenShift](https://img.shields.io/badge/OpenShift-4.18+-red.svg)](https://www.openshift.com/) [![Python](https://img.shields.io/badge/Python-3.11-blue.svg)](https://www.python.org/) [![CI/CD Pipeline](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/18473f6239090256.svg)](https://github.com/KubeHeal/openshift-aiops-platform/actions/workflows/ci.yml) [![Helm Chart Validation](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/d82e619682090257.svg)](https://github.com/KubeHeal/openshift-aiops-platform/actions/workflows/helm-validation.yml) ## 🎯 这是什么? **OpenShift AI Ops 自愈平台** 是一个生产就绪的 AIOps 解决方案,具备以下特点: - 🤖 **混合方法**:结合了确定性自动化(Machine Config Operator,基于规则)与 AI 驱动的分析(ML 模型,异常检测) - 🔧 **自愈能力**:自动检测并修复常见的集群问题 - 📊 **ML 驱动**:使用 Isolation Forest、LSTM 模型进行异常检测 - 🚀 **OpenShift 原生**:基于 Red Hat OpenShift AI、KServe、Tekton、ArgoCD 构建 - 💬 **自然语言接口**:通过 MCP(Model Context Protocol)与 OpenShift Lightspeed 集成 - 🌐 **平台无关**:同时支持 **vanilla Kubernetes** 和 **OpenShift** 集群 ## 🧠 部署您自己的 ML 模型 本平台遵循**用户部署模型架构**: - **✅ 您训练并部署** 您自己的 ML 模型,通过 KServe InferenceServices - **✅ 平台提供** 协调引擎、基础设施和集成 - **✅ 适用于** vanilla Kubernetes(配合 KServe)和 OpenShift(配合 OpenShift AI) - **✅ 完全控制** 模型版本、更新和生命周期 请参阅 **[用户模型部署指南](docs/guides/USER-MODEL-DEPLOYMENT-GUIDE.md)** 获取在 vanilla Kubernetes 和 OpenShift 上部署模型的完整说明。 ## 📚 文档 | 文档 | 描述 | |----------|-------------| | **[AGENTS.md](AGENTS.md)** | 🤖 **AI Agent 开发指南**(综合参考) | | **[CLAUDE.md](CLAUDE.md)** | 🤖 **AI Agent 快速参考**(部署和故障排除) | | **[docs/adrs/](docs/adrs/)** | 🏛️ 架构决策记录(29+ ADRs) | | **[DEPLOYMENT.md](DEPLOYMENT.md)** | 🚀 分步部署指南 | | **[docs/guides/USER-MODEL-DEPLOYMENT-GUIDE.md](docs/guides/USER-MODEL-DEPLOYMENT-GUIDE.md)** | 🧠 **用户模型部署指南**(通过 KServe 部署您自己的 ML 模型) | | **[docs/guides/TROUBLESHOOTING-GUIDE.md](docs/guides/TROUBLESHOOTING-GUIDE.md)** | 🔧 **故障排除指南**(常见问题及解决方案) | | **[docs/guides/JUNIOR-DEVELOPER-DEPLOYMENT-GUIDE.md](docs/guides/JUNIOR-DEVELOPER-DEPLOYMENT-GUIDE.md)** | 👨‍💻 **初级开发者指南**(部署测试演练) | | **[notebooks/README.md](notebooks/README.md)** | 📓 Jupyter notebook 工作流 | ## 🚀 快速开始(5 分钟) ### 支持的集群拓扑 本平台支持 HighlyAvailable (HA) 和 Single Node OpenShift (SNO) 部署: | 拓扑 | 节点 | 存储 | ODF | 用例 | |----------|-------|---------|-----|----------| | **HA (HighlyAvailable)** | 3+ (控制平面/工作节点分离) | ODF + CSI | ✅ 是 | 生产环境,全功能 | | **SNO SingleReplica** | 1 (单节点承担所有角色) | 仅 CSI | ❌ 否 | 边缘,开发,测试 | **支持的 OpenShift 版本:** - OpenShift 4.18, 4.19, 4.20 - 部署期间自动检测 - 特定版本的 Operator 覆盖 **自动检测:** 平台会自动检测您的集群拓扑和版本。在安装先决条件并登录到您的集群后(见下文安装步骤),使用 `make show-cluster-info` 进行验证。 📖 **另请参阅:** [SNO 部署指南](docs/how-to/deploy-on-sno.md) ### RHPDS 部署选项 您可以在 **Red Hat Product Demo System (RHPDS)** 集群上部署此平台。提供两个目录项目: #### 选项 1:带 OpenShift AI 3 的 SNO(推荐用于快速开始) **目录项目:** [Red Hat OpenShift AI 3](https://catalog.demo.redhat.com/catalog?item=babylon-catalog-prod/published.openshift-ai-v3.prod&utm_source=webapp&utm_medium=share-link) **包含内容:** - 带 GPU 实例的单节点 OpenShift (SNO) - OpenShift AI 3(最新版,正式发布版) - 预配置并准备好进行平台部署 - 非常适合演示、POC 和探索 **部署时间:** 约 1 小时 **拓扑:** SNO (Single Node OpenShift) #### 选项 2:AWS 上带 NVIDIA GPU 的 HA 集群 **目录项目:** [RHOAI on OCP on AWS with NVIDIA GPUs](https://catalog.demo.redhat.com/catalog?item=babylon-catalog-prod/sandboxes-gpte.ocp4-demo-rhods-nvidia-gpu-aws.prod&utm_source=webapp&utm_medium=share-link) **包含内容:** - OpenShift Container Platform 4.18(HA 集群) - Red Hat OpenShift AI 2.25 - NVIDIA L4 Tensor Core GPU - 多节点完整 HA 部署 **部署时间:** 约 1 小时 40 分钟 **拓扑:** HA (HighlyAvailable) **注意:** 当前为 OCP 4.18,建议更新到 4.20 以获得最新的平台支持 **自动停止:** 6 小时 | **自动销毁:** 48 小时 **部署说明:** - 两个 RHPDS 选项均预装了 OpenShift AI,可减少部署时间 - 遵循标准部署工作流(见下文安装部分) - 对于 SNO 集群(选项 1),确保使用 SNO 特定配置更新 `values-hub.yaml` - 对于 HA 集群(选项 2),适用标准 HA 配置 ### 前置条件 **HA 集群要求:** - OpenShift 4.18+ 集群(管理员访问权限) - 6+ 节点(3 个控制平面,3+ 个工作节点,建议 1 个启用 GPU) - 24+ CPU 核心,96+ GB RAM,500+ GB 存储 **SNO 集群要求:** - OpenShift 4.18+ 集群(管理员访问权限) - 1 个节点(所有角色:控制平面、master、worker) - 8+ CPU 核心(建议 16+),32+ GB RAM(建议 64+),120+ GB 存储 **本地工作站工具:** - `podman` - 用于构建执行环境的容器运行时 - `oc` 和 `kubectl` - OpenShift/Kubernetes CLI - `helm` 3.12+ - Kubernetes 包管理器 - `ansible-navigator` - Ansible 执行环境运行器 - `ansible-builder` - 构建自定义 Ansible 执行环境 - `yq` - YAML 处理器 - `tkn` - Tekton CLI(可选,用于 Pipeline 管理) - `git`, `make`, `jq` - 标准开发工具 **凭证:** - Red Hat Ansible Automation Hub token([在此获取](https://console.redhat.com/ansible/automation-hub/token)) ### RHEL 9/10 工作站设置(一次性) 如果您使用的是 **RHEL 9** 或 **RHEL 10**,请运行先决条件安装脚本(从克隆的仓库中)以设置所有必需的工具: ``` # 从克隆的仓库目录运行(参见下面的安装步骤) ./scripts/install-prerequisites-rhel.sh # 开启一个新的终端或 source 你的 shell 配置 source ~/.bashrc ``` **脚本安装的内容:** - 通过 `dnf` 安装系统软件包(podman, git, make, jq, python3-pip, development headers) - 位于 `~/.venv/aiops-platform` 的 Python 虚拟环境,包含 ansible-navigator, ansible-builder - CLI 工具:`oc`, `kubectl`, `helm`, `yq`, `tkn`(安装到 `/usr/local/bin/`) ### 安装 #### 选项 1:Fork 并部署(推荐用于开发) **⚠️ 重要**:在部署之前务必先 Fork 仓库。这允许您自定义 values 文件并维护您自己的部署配置。 ``` # 1. 在 GitHub 上 Fork 该仓库 # 点击 https://github.com/KubeHeal/openshift-aiops-platform 的 "Fork" # 2. Clone 你 Fork 的仓库 git clone https://github.com/YOUR-USERNAME/openshift-aiops-platform.git cd openshift-aiops-platform # 3. 安装工作站先决条件(仅限 RHEL 9/10 - 如果工具已安装则跳过) ./scripts/install-prerequisites-rhel.sh source ~/.bashrc # 4. 登录你的 OpenShift 集群 oc login # 5. 从示例创建 values 文件(在任何 make target 之前必须执行) cp values-global.yaml.example values-global.yaml cp values-hub.yaml.example values-hub.yaml # if not already present # 6. 更新 values 文件以指向你的仓库 # 编辑 values-global.yaml - 更新 git.repoURL: vi values-global.yaml # 更改:repoURL: "https://github.com/YOUR-USERNAME/openshift-aiops-platform.git" # 为:repoURL: "https://github.com//openshift-aiops-platform.git" # 编辑 values-hub.yaml - 更新 repoURL: vi values-hub.yaml # 更改:repoURL: "https://gitea-with-admin-gitea.apps.cluster-pvbs6..." # 为:repoURL: "https://github.com//openshift-aiops-platform.git" # 7. 验证集群拓扑和版本 make show-cluster-info # 输出显示:Topology (ha or sno), OpenShift Version, Platform, ODF Channel # # 重要提示:如果拓扑显示 "sno",还需更新 values-hub.yaml: # cluster.topology: "sno" # storage.modelStorage.storageClass: "gp3-csi" # 8. 配置集群基础设施(ODF, 节点扩容) # HA 集群:安装完整 ODF (Ceph + NooBaa),扩容 MachineSets(需要 10-15 分钟) # SNO 集群:安装仅 MCG 的 ODF (NooBaa S3 不含 Ceph) make configure-cluster # 在已有存储的 HA 集群上跳过 ODF:./scripts/configure-cluster-infrastructure.sh --skip-odf # 9. 获取 Execution Environment # # 选项 A:拉取预构建镜像(推荐) podman pull quay.io/takinosh/openshift-aiops-platform-ee:latest podman tag quay.io/takinosh/openshift-aiops-platform-ee:latest \ openshift-aiops-platform-ee:latest # # 选项 B:本地构建(需要 ANSIBLE_HUB_TOKEN) # export ANSIBLE_HUB_TOKEN='your-token-here' # podman login registry.redhat.io # make token # make build-ee # 10. 验证集群先决条件 make check-prerequisites # 11. 运行 Ansible 先决条件(创建 secrets, RBAC, namespaces) make operator-deploy-prereqs # 12. 通过 Validated Patterns Operator 部署平台 make operator-deploy # 13. 等待 Operator 创建 ArgoCD Application oc wait --for=jsonpath='{.kind}'=Application \ application/self-healing-platform -n self-healing-platform-hub --timeout=120s # 14. 同步 ArgoCD(如需要) # self-healing-platform-hub ArgoCD 项目可能需要手动同步或刷新 oc annotate application self-healing-platform -n self-healing-platform-hub \ argocd.argoproj.io/refresh=hard --overwrite # 15. 验证部署 make argo-healthcheck # 16. 运行 Tekton 验证流水线(验证 coordination engine + 模型连接性) tkn pipeline start deployment-validation-pipeline --showlog # 17. 检查模型训练流水线状态 # ArgoCD 会在首次部署时自动触发两个模型的初始训练。 # 验证 PipelineRuns 已创建并正在进行中: tkn pipelinerun list -n self-healing-platform # 如果训练失败或未触发,请手动启动流水线: tkn pipeline start model-training-pipeline \ -p model-name=anomaly-detector \ -p notebook-path=notebooks/02-anomaly-detection/01-isolation-forest-implementation.ipynb \ -p data-source=prometheus \ -p training-hours=168 \ -p inference-service-name=anomaly-detector \ -p health-check-enabled=true \ -p git-url= \ -p git-ref=main \ -n self-healing-platform --showlog tkn pipeline start model-training-pipeline-gpu \ -p model-name=predictive-analytics \ -p notebook-path=notebooks/02-anomaly-detection/05-predictive-analytics-kserve.ipynb \ -p data-source=prometheus \ -p training-hours=720 \ -p inference-service-name=predictive-analytics \ -p health-check-enabled=true \ -p git-url= \ -p git-ref=main \ -n self-healing-platform --showlog ``` #### 选项 2:使用本地 Gitea 部署(离线/开发) 对于离线环境或本地开发,您可以在 OpenShift 集群上部署 Gitea 并在那里 Fork 仓库: ``` # 1. Clone 仓库 git clone https://github.com/KubeHeal/openshift-aiops-platform.git cd openshift-aiops-platform # 2. 安装工作站先决条件(仅限 RHEL 9/10 - 如果工具已安装则跳过) ./scripts/install-prerequisites-rhel.sh source ~/.bashrc # 3. 登录你的 OpenShift 集群 oc login # 4. 从示例创建 values 文件(在任何 make target 之前必须执行) cp values-global.yaml.example values-global.yaml cp values-hub.yaml.example values-hub.yaml # if not already present # 5. 验证集群拓扑和版本 make show-cluster-info # 输出显示:Topology (ha or sno), OpenShift Version, Platform, ODF Channel # 6. 配置集群基础设施(ODF, 节点扩容) # HA 集群:安装完整 ODF (Ceph + NooBaa),扩容 MachineSets(需要 10-15 分钟) # SNO 集群:安装仅 MCG 的 ODF (NooBaa S3 不含 Ceph) make configure-cluster # 在已有存储的 HA 集群上跳过 ODF:./scripts/configure-cluster-infrastructure.sh --skip-odf # 7. 在 OpenShift 上部署 Gitea make deploy-gitea # 这将部署 Gitea operator 并创建一个 Gitea 实例 # 8. 获取 Gitea URL GITEA_URL=$(oc get route gitea -n gitea -o jsonpath='{.spec.host}') echo "Gitea URL: https://${GITEA_URL}" # 9. 在 Gitea 中 Fork 仓库 # - 登录 Gitea UI(默认:admin / 密码见 giteuserpass.md) # - 创建新仓库或从 GitHub 导入 # - 仓库名称:openshift-aiops-platform # 10. 更新 values 文件以指向 Gitea vi values-global.yaml # 设置:repoURL: "https://gitea-with-admin-gitea.apps.//openshift-aiops-platform.git" vi values-hub.yaml # 设置:repoURL: "https://gitea-with-admin-gitea.apps.//openshift-aiops-platform.git" # # 重要提示:如果步骤 5 显示拓扑为 "sno",还需更新 values-hub.yaml: # cluster.topology: "sno" # storage.modelStorage.storageClass: "gp3-csi" # 11. 获取 Execution Environment # 选项 A:拉取预构建镜像(推荐) podman pull quay.io/takinosh/openshift-aiops-platform-ee:latest podman tag quay.io/takinosh/openshift-aiops-platform-ee:latest \ openshift-aiops-platform-ee:latest # 选项 B:本地构建 # export ANSIBLE_HUB_TOKEN='your-token-here' # podman login registry.redhat.io # make build-ee # 12. 验证集群先决条件 make check-prerequisites # 13. 运行 Ansible 先决条件(创建 secrets, RBAC, namespaces) make operator-deploy-prereqs # 14. 通过 Validated Patterns Operator 部署平台 make operator-deploy # 15. 等待 Operator 创建 ArgoCD Application oc wait --for=jsonpath='{.kind}'=Application \ application/self-healing-platform -n self-healing-platform-hub --timeout=120s # 16. 同步 ArgoCD(如需要) oc annotate application self-healing-platform -n self-healing-platform-hub \ argocd.argoproj.io/refresh=hard --overwrite # 17. 验证部署 make argo-healthcheck # 18. 运行 Tekton 验证流水线(验证 coordination engine + 模型连接性) tkn pipeline start deployment-validation-pipeline --showlog ``` **🎉 完成!** 您的自愈平台现在已运行。 **访问 Jupyter notebook:** ``` oc port-forward self-healing-workbench-0 8888:8888 -n self-healing-platform # 打开 http://localhost:8888 ``` **部署后清理(可选):** ``` # 清理由上游 Validated Patterns 默认创建的额外命名空间 # 这些可以安全删除,不会影响你的部署 oc delete namespace self-healing-platform-example imperative --ignore-not-found=true ``` ## 🛠️ 开发设置 ### 贡献者 ``` # 1. Fork 和 clone git clone https://github.com/YOUR-USERNAME/openshift-aiops-platform.git cd openshift-aiops-platform # 2. 获取 Execution Environment # # 选项 A:拉取预构建镜像(推荐) podman pull quay.io/takinosh/openshift-aiops-platform-ee:latest podman tag quay.io/takinosh/openshift-aiops-platform-ee:latest \ openshift-aiops-platform-ee:latest # # 选项 B:本地构建(需要 ANSIBLE_HUB_TOKEN) # export ANSIBLE_HUB_TOKEN='your-token' # make token # make build-ee # 3. 测试执行环境 make test-ee # 4. 运行 linting make super-linter # Or use pre-commit hooks # 5. 安装 pre-commit hooks(可选但推荐) pip install pre-commit pre-commit install ``` ### 测试 ``` # Notebook 验证 cd notebooks jupyter nbconvert --to notebook --execute 00-setup/00-platform-readiness-validation.ipynb # 端到端部署测试 make test-deploy-complete-pattern # 验证 operator 和服务 make validate-deployment ``` ### 开发工作流 1. **阅读文档**:从 [AGENTS.md](AGENTS.md) 和 [ADRs](docs/adrs/) 开始 2. **创建功能分支**:`git checkout -b feature/your-feature-name` 3. **进行更改**:遵循编码标准(YAML 2 空格缩进,符合 yamllint 规范) 4. **本地测试**:`make test-ee`(先拉取或构建 EE;见 [DEPLOYMENT.md](DEPLOYMENT.md)) 5. **提交**:使用约定式提交(`feat:`, `fix:`, `docs:`, `chore:`) 6. **推送和 PR**:推送到您的 Fork,打开包含描述的 Pull Request ## 📁 项目结构 ``` openshift-aiops-platform/ ├── ansible/ # Ansible roles and playbooks │ ├── roles/ # 8 production-ready reusable roles │ └── playbooks/ # Deployment, validation, cleanup ├── charts/ # Helm charts │ └── hub/ # Main pattern chart ├── docs/ # Documentation │ ├── adrs/ # Architectural Decision Records │ ├── guides/ # How-to guides │ └── tutorials/ # Learning-oriented guides ├── k8s/ # Kubernetes manifests │ ├── operators/ # Operator deployments │ └── mcp-server/ # MCP server manifests ├── notebooks/ # Jupyter notebooks (ML workflows) │ ├── 00-setup/ # Platform validation │ ├── 01-data-collection/ # Metrics, logs, events │ ├── 02-anomaly-detection/ # ML models │ ├── 03-self-healing-logic/ # Integration │ ├── 04-model-serving/ # KServe deployment │ └── 05-end-to-end-scenarios/# Complete use cases ├── src/ # Source code (models, utilities) ├── tekton/ # CI/CD pipelines (26 validation checks) ├── tests/ # Test suites ├── Makefile # Main build/deploy/test targets ├── AGENTS.md # 🤖 AI agent development guide └── README.md # This file ``` ## 🏗️ 架构 ### 混合自愈方法 ``` ┌─────────────────────────────────────────────────────────────┐ │ Self-Healing Platform │ ├─────────────────────────────────────────────────────────────┤ │ Coordination Engine (Python Flask API) │ │ ├─ Conflict Resolution │ │ ├─ Priority Management │ │ └─ Action Orchestration │ ├─────────────────────────────────────────────────────────────┤ │ Deterministic Layer │ AI-Driven Layer │ │ ├─ Machine Config │ ├─ Anomaly Detection │ │ │ Operator │ │ (Isolation Forest, LSTM) │ │ ├─ Known Remediation │ ├─ Root Cause Analysis │ │ │ Procedures │ ├─ Predictive Analytics │ │ └─ Rule-Based Actions │ └─ Adaptive Responses │ ├─────────────────────────────────────────────────────────────┤ │ Shared Observability Layer (Prometheus, AlertManager) │ └─────────────────────────────────────────────────────────────┘ ``` **关键组件:** - **Red Hat OpenShift AI 2.22.2**:用于模型训练和服务的 ML 平台 - **KServe 1.36.1**:模型服务基础设施 - **协调引擎**:编排混合方法(Python/Flask) - **Jupyter Notebooks**:ML 工作流的开发环境 - **Tekton Pipelines**:CI/CD 自动化和验证 - **OpenShift GitOps (ArgoCD)**:GitOps 部署 - **MCP Server**:用于 OpenShift Lightspeed 集成的 Model Context Protocol **📖 架构详情**:[ADR-002: 混合确定性-AI 自愈方法](docs/adrs/002-hybrid-self-healing-approach.md) ## 🤝 贡献 我们欢迎贡献!以下是您可以帮助的方式: ### 贡献方式 1. 🐛 **报告 Bug**:[打开一个 issue](https://github.com/KubeHeal/openshift-aiops-platform/issues/new) 2. 💡 **建议功能**:[功能请求](https://github.com/KubeHeal/openshift-aiops-platform/issues/new) 3. 📝 **改进文档**:修复错别字,添加示例,阐明说明 4. 🧪 **添加测试**:扩展 notebook 和模型的测试覆盖率 5. 🚀 **提交 PR**:修复 Bug,添加功能,提高性能 ### 贡献指南 **提交 PR 之前:** 1. ✅ **阅读 [AGENTS.md](AGENTS.md)**:了解项目架构和约定 2. ✅ **检查现有 ADR**:查看 [docs/adrs/](docs/adrs/) 了解架构决策 3. ✅ **运行测试**:`make test-ee`(先拉取或构建 EE;见 [DEPLOYMENT.md](DEPLOYMENT.md)) 4. ✅ **检查代码**:`make super-linter` 或使用 pre-commit hooks 5. ✅ **更新文档**:如果更改行为,更新相关文档和 ADR 6. ✅ **签名提交**:`git commit -s`(需要 DCO) **PR 标题格式:** ``` (): Examples: feat(notebooks): add LSTM autoencoder anomaly detection fix(kserve): resolve model loading race condition docs(adr): add ADR-038 for deployment validation strategy chore(ci): update GitHub Actions to v4 ``` **PR 描述模板:** ``` ## 描述 Brief description of changes ## 动机 Why is this change needed? ## 相关问题 Closes #123 ## 测试 - [ ] Unit tests pass - [ ] Integration tests pass - [ ] Manually tested in dev environment ## ADR 更新 - [ ] Created/updated relevant ADRs - [ ] Updated docs/adrs/README.md ## 清单 - [ ] Code follows project style guidelines - [ ] Docs updated (if behavior changes) - [ ] Tests added/updated - [ ] All CI checks pass ``` ### Good First Issues 寻找切入点?查看带有以下标签的 issue: - [`good first issue`](https://github.com/KubeHeal/openshift-aiops-platform/labels/good%20first%20issue) - [`documentation`](https://github.com/KubeHeal/openshift-aiops-platform/labels/documentation) - [`help wanted`](https://github.com/KubeHeal/openshift-aiops-platform/labels/help%20wanted) ### 行为准则 保持尊重、包容和专业。我们遵循 [Contributor Covenant Code of Conduct](https://www.contributor-covenant.org/version/2/1/code_of_conduct/)。 ## 🧪 测试 ### CI/CD 流水线 我们使用 GitHub Actions 进行持续集成: - **Helm Chart 验证**:检查并验证所有 Helm Chart - **CI/CD Pipeline**:Python 测试,notebook 验证,安全扫描 - **Pre-commit Hooks**:YAML 检查,尾随空格,机密检测 ### 本地运行测试 ``` # Pre-commit 检查(运行所有 linters) pre-commit run --all-files # Notebook 验证(执行 notebooks) cd notebooks jupyter nbconvert --to notebook --execute \ 00-setup/00-platform-readiness-validation.ipynb # 端到端部署测试 make test-deploy-complete-pattern # Tekton 流水线验证(部署后) tkn pipeline start deployment-validation-pipeline --showlog ``` ## 🔧 故障排除 ### 常见问题 **问题:Operator 失败并显示 "TooManyOperatorGroups"** ``` # 检查多个 OperatorGroups oc get operatorgroups -n openshift-operators # 修复:删除额外的 OperatorGroups(仅保留 global-operators) oc delete operatorgroup -n openshift-operators ``` **问题:Notebook 中 GPU 不可用** ``` # 检查 GPU 节点 oc get nodes -l nvidia.com/gpu.present=true # 验证 GPU operator oc get csv -n openshift-operators | grep gpu-operator # 检查 notebook GPU 分配 oc describe notebook self-healing-workbench -n self-healing-platform ``` **问题:协调引擎无响应** ``` # 检查 Pod 状态(来自外部仓库的基于 Go 的 coordination engine) oc get pods -n self-healing-platform -l app.kubernetes.io/component=coordination-engine # 查看日志 oc logs -n self-healing-platform -l app.kubernetes.io/component=coordination-engine --tail=100 # 测试健康端点 curl http://coordination-engine.self-healing-platform.svc.cluster.local:8080/health # 注意:Coordination engine 来自 https://github.com/KubeHeal/openshift-coordination-engine ``` **📖 完整故障排除**:请参阅 [docs/guides/TROUBLESHOOTING-GUIDE.md](docs/guides/TROUBLESHOOTING-GUIDE.md) 获取全面的问题解决方案 **其他资源**: - [初级开发者部署指南](docs/guides/JUNIOR-DEVELOPER-DEPLOYMENT-GUIDE.md) - 分步测试演练 - [AGENTS.md § Common Pitfalls](AGENTS.md#common-pitfalls) - 特定于开发的问题 ## 📊 项目状态 ### 当前版本 - **版本**:1.0.0 - **OpenShift**:4.18.21+ - **Red Hat OpenShift AI**:2.22.2 - **状态**:生产就绪 ### 功能 - ✅ 混合确定性-AI 自愈 - ✅ 基于 Jupyter notebook 的 ML 工作流 - ✅ Isolation Forest 异常检测 - ✅ LSTM 时间序列异常检测 - ✅ KServe 模型服务 - ✅ 带冲突解决的协调引擎 - ✅ Tekton CI/CD Pipeline(26 项验证检查) - ✅ 通过 ArgoCD 进行 GitOps 部署 - ✅ External Secrets Operator 集成 - ✅ OpenShift Lightspeed MCP 集成 - 🚧 多集群支持(进行中) - 🚧 高级根因分析(计划中) ### 路线图 请参阅 [GitHub Projects](https://github.com/KubeHeal/openshift-aiops-platform/projects) 了解即将推出的功能和里程碑。 ## 📜 许可证 本项目采用 **GNU General Public License v3.0** 许可 - 详情请参阅 [LICENSE](LICENSE) 文件。 **这意味着:** - ✅ 您可以使用、修改和分发本软件 - ✅ 您可以将其用于商业目的 - ⚠️ 修改部分也必须采用 GPL v3.0 许可 - ⚠️ 您必须公开修改版本的源代码 ## 🙏 致谢 ### 构建于 - [Red Hat OpenShift](https://www.openshift.com/) - [Red Hat OpenShift AI](https://www.redhat.com/en/technologies/cloud-computing/openshift/openshift-ai) - [Validated Patterns Framework](https://validatedpatterns.io/) - [KServe](https://kserve.github.io/) - [Kubeflow](https://www.kubeflow.org/) - [Tekton](https://tekton.dev/) - [ArgoCD](https://argo-cd.readthedocs.io/) ### 参考 - [ADR-001: OpenShift 4.18+ 作为基础平台](docs/adrs/001-openshift-platform-selection.md) - [ADR-002: 混合确定性-AI 自愈方法](docs/adrs/002-hybrid-self-healing-approach.md) - [ADR-003: Red Hat OpenShift AI 作为 ML 平台](docs/adrs/003-openshift-ai-ml-platform.md) - [ADR-019: 采用 Validated Patterns Framework](docs/adrs/019-validated-patterns-framework-adoption.md) ## 📞 支持与社区 ### 获取帮助 - 📖 **文档**:[docs/](docs/) - 🐛 **问题**:[GitHub Issues](https://github.com/KubeHeal/openshift-aiops-platform/issues) - 💬 **讨论**:[GitHub Discussions](https://github.com/KubeHeal/openshift-aiops-platform/discussions) ### 维护者 - **Tosin Akinosho** ([@tosin2013](https://github.com/tosin2013)) - 项目负责人 ### 贡献者 感谢所有帮助改进此项目的贡献者! **由 OpenShift AI Ops 社区用 ❤️ 构建** **如果您觉得有用,请给本仓库 ⭐ Star!** **🔗 与您的团队和同事分享!**
标签:AIOps, Apex, ArgoCD, CISA项目, DevSecOps, Helm Chart, IT运维, KServe, KubeHeal, LSTM, MCP, OpenShift, OpenShift Lightspeed, Python, Site Reliability Engineering, Socks5代理, SRE, Tekton, 上游代理, 事故响应, 偏差过滤, 子域名突变, 孤立森林, 异常检测, 提示注入, 无后门, 时序分析, 智能运维, 机器学习, 模块化设计, 模型上下文协议, 模型推理, 深度学习, 确定性自动化, 系统提示词, 红帽, 自动化修复, 自定义请求头, 自愈平台, 自然语言接口, 逆向工具, 集群管理