Token导航 LogoToken导航TokenDH.com
Openshift Ipi MCP logo
运维云端stdio官方级别未说明来源级核验

Openshift Ipi MCP

MCP Server

一个用于生成、验证和管理OpenShift裸机IPI集群配置文件的工具,支持BMC连接测试、网络配置验证和集群安装过程指导。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
PythonClaude云端部署ClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

redhat-community-ai-tools

提供方

redhat-community-ai-tools

最后核验

2026/5/17 20:21

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

uv run pytest tests/ -v

详细介绍

IPI配置器MCP服务器

用于OpenShift裸机IPI(安装程序配置的基础设施)集群配置的MCP(模型上下文协议)服务器。此工具可帮助您生成、验证和管理install-config.yaml文件,测试BMC连接,验证网络配置,并指导您完成集群安装过程。

特性

  • 安装配置管理:生成并验证install-config.yaml文件
  • BMC测试:测试Redfish/IPMI BMC连接
  • 网络验证:验证CIDR范围、VIP和DNS配置
  • 集群生命周期:提取安装程序、创建清单和管理安装
  • 模板:用于Compact和HA部署的预构建模板

建筑

ipi-provisioner-mcp/
├── mcp_server/
│   ├── config.py              # Configuration and environment variables
│   ├── main.py                # FastMCP server setup
│   ├── models/                # Pydantic data models
│   │   ├── install_config.py  # InstallConfig models
│   │   ├── baremetal.py       # Baremetal host models
│   │   └── network.py         # Network configuration models
│   ├── services/              # Business logic
│   │   ├── validation_service.py   # Config validation
│   │   ├── bmc_service.py          # BMC operations
│   │   ├── network_service.py      # Network validation
│   │   └── openshift_service.py    # Installer operations
│   ├── tools/                 # MCP tool implementations
│   │   ├── config_tools.py    # Config generation/validation
│   │   ├── bmc_tools.py       # BMC testing
│   │   ├── network_tools.py   # Network validation
│   │   └── cluster_tools.py   # Cluster lifecycle
│   └── utils/                 # Utilities
│       ├── yaml_handler.py    # YAML operations
│       └── templates.py       # Template management
├── templates/                 # Install-config templates
│   ├── baremetal-ipi-compact.yaml
│   └── baremetal-ipi-ha.yaml
└── tests/                     # Unit tests

可用的MCP工具

配置生成和验证(6个工具)

  1. validate_install_config -验证install-config.yaml内容
  2. generate_install_config -根据参数生成install-config.yaml
  3. get_config_template -获取预构建模板
  4. list_config_templates -列出所有可用模板
  5. create_baremetal_host_entry -为安装配置创建主机条目

BMC操作(4个工具)

  1. test_bmc_connection -测试单个BMC连接(Redfish)
  2. validate_bmc_addresses -验证多个BMC地址
  3. parse_bmc_address -解析并验证BMC地址格式
  4. generate_bmc_test_script -为BMC测试生成bash脚本

网络验证(8个工具)

  1. validate_network_cidr -验证CIDR表示法
  2. check_ip_in_network -检查IP是否在CIDR范围内
  3. check_network_overlap -检查两个网络是否重叠
  4. validate_vip_configuration -验证VIP配置
  5. generate_dns_config -为群集生成DNS记录
  6. calculate_cluster_network_capacity -计算吊舱网络容量
  7. generate_network_diagram -生成网络图
  8. validate_complete_network_config -全面的网络验证

集群生命周期(6个工具)

  1. check_installer_binary -检查是否存在openshift安装
  2. extract_openshift_installer -从发布映像中提取安装程序
  3. create_installation_manifests -创建Kubernetes清单
  4. prepare_cluster_installation -准备安装命令
  5. prepare_cluster_destroy -准备集群销毁命令
  6. get_installation_status -获取安装状态
  7. get_installation_logs -获取安装日志

安装

cd /Users/jhajyahy/mcp/ipi-provisioner-mcp
uv sync  # Creates venv and installs dependencies
source .venv/bin/activate  # On Windows: .venv\Scripts\activate

配置

环境变量(可选)

# OpenShift Configuration
export OPENSHIFT_RELEASE_IMAGE="quay.io/openshift-release-dev/ocp-release:4.17.0-x86_64"
export PULL_SECRET_PATH="$HOME/pull-secret.json"
export SSH_KEY_PATH="$HOME/.ssh/id_rsa.pub"

# MCP Transport (default: stdio)
export MCP_TRANSPORT="stdio"  # or "sse" for web-based integration
export MCP_HOST="127.0.0.1"   # for sse transport
export MCP_PORT="8000"         # for sse transport

MCP客户端配置

克劳德桌面/光标IDE

添加到您的 ~/.config/claude-desktop/mcp.json~/.cursor/mcp.json:

{
  "mcpServers": {
    "ipi-provisioner": {
      "command": "uv",
      "args": ["run", "python", "/Users/jhajyahy/mcp/ipi-provisioner-mcp/main.py"],
      "description": "IPI Cluster Provisioning Assistant for OpenShift Baremetal",
      "env": {
        "OPENSHIFT_RELEASE_IMAGE": "quay.io/openshift-release-dev/ocp-release:4.17.0-x86_64",
        "PULL_SECRET_PATH": "/path/to/pull-secret.json",
        "SSH_KEY_PATH": "/path/to/id_rsa.pub"
      }
    }
  }
}

使用示例

1.列出可用模板

User: List available install-config templates

响应显示了带有描述的Compact和HA模板。

2.生成安装配置

User: Generate an install-config for a 3-master HA cluster named 'prod-cluster'
with base domain 'example.com', API VIP 192.168.1.10, Ingress VIP 192.168.1.11

3.验证安装配置

User: Validate this install-config.yaml:
[paste your config]

返回验证错误、警告和摘要。

4.测试BMC连接

User: Test BMC connection to redfish://192.168.1.100 with username admin and password secret

5.验证网络配置

User: Validate network config with cluster CIDR 10.128.0.0/14, service CIDR 172.30.0.0/16,
machine CIDR 192.168.1.0/24, API VIP 192.168.1.10, Ingress VIP 192.168.1.11

6.生成DNS配置

User: Generate DNS config for cluster 'ocp' with base domain 'example.com',
API VIP 192.168.1.10, Ingress VIP 192.168.1.11, and hosts:
- master-0 with IP 192.168.1.20
- master-1 with IP 192.168.1.21
- master-2 with IP 192.168.1.22

这将为所有群集组件生成A和PTR记录,包括API VIP、Ingress VIP和所有主机。

7.提取OpenShift安装程序

User: Extract openshift-install from release image
quay.io/openshift-release-dev/ocp-release:4.17.0-x86_64

8.检查安装状态

User: Get installation status for /path/to/install-dir

常见工作流

工作流1:验证现有配置

  1. 验证配置: validate_install_config(yaml_content)
  2. 验证网络: validate_complete_network_config(...)
  3. 验证BMC: validate_bmc_addresses(hosts)
  4. 生成DNS配置: generate_dns_config(...)

工作流程2:安装故障排除

  1. 检查状态: get_installation_status(install_dir)
  2. 获取日志: get_installation_logs(install_dir, lines=100)
  3. 验证网络: validate_complete_network_config(...)
  4. 测试BMC: validate_bmc_addresses(hosts)

测试

运行测试套件:

uv run pytest tests/ -v

模板

可用模板

  1. 裸金属-ipi紧凑型yaml -紧凑型集群

- 3个主节点(也充当workers) - 需要API和入口贵宾 - 适用于资源受限的环境

  1. 裸金属锂离子电池 -高可用性

- 3个主节点 - 2+个专用工作节点 - 需要API和入口贵宾 - 生产就绪配置

网络要求

机器网络

  • 裸机主机的物理网络
  • 包含API VIP和入口VIP(用于HA)
  • 示例:192.168.1.0/24

集群网络(Pod网络)

  • 吊舱间通信的虚拟网络
  • 示例:10.128.0.0/14
  • 每个节点有一个/23子网(每个节点510个IP)

服务网络

  • Kubernetes服务的虚拟网络
  • 示例:172.30.0.0/16

DNS要求(HA/Compact)

A记录

  • api.. → API VIP
  • *.apps.. → 入口VIP(通配符)
  • . → 主机IP(每个群集节点)

PTR记录(反向DNS)

  • API VIP→ api..
  • 每个主机IP→ .

域为“Example.com”的集群“ocp”的示例:

# A Records
api.ocp.example.com.        A    10.1.235.200
*.apps.ocp.example.com.     A    10.1.235.201
master-0.example.com.       A    10.1.235.25
master-1.example.com.       A    10.1.235.26
master-2.example.com.       A    10.1.235.27

# PTR Records
200.235.1.10.in-addr.arpa.  PTR  api.ocp.example.com.
25.235.1.10.in-addr.arpa.   PTR  master-0.example.com.
26.235.1.10.in-addr.arpa.   PTR  master-1.example.com.
27.235.1.10.in-addr.arpa.   PTR  master-2.example.com.

BMC要求

支持的BMC类型

  • 红鱼(推荐)
  • 红鱼虚拟媒体
  • 智能平台管理接口
  • iDRAC虚拟介质

BMC地址格式

  • 红鱼: redfish://192.168.1.100redfish+https://192.168.1.100:443
  • IPMI: ipmi://192.168.1.100

故障排除

常见问题

  1. BMC连接失败

- 使用 test_bmc_connection 验证连接 - 检查BMC凭据 - 验证与BMC的网络连接

  1. 网络验证错误

- 使用 validate_complete_network_config 检查是否有重叠 - 确保VIP在机器网络范围内 - 验证DNS配置是否正确

  1. 安装失败

- 使用 get_installation_logs 检查日志 - 验证所有BMC是否可用 - 检查网络配置 - 确保DNS记录存在(适用于HA)

贡献

欢迎投稿!请确保:

  • 所有测试均通过: uv run pytest tests/ -v
  • 代码遵循现有模式
  • 添加新功能的测试

许可证

Apache 2.0

______________________________________________________________________

专为OpenShift金属平台团队打造

目录标签

目录标签

PythonClaude云端部署OpenShift本地部署裸机部署集群配置BMC管理网络验证

支持客户端

ClaudeCursor

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP