Kubernetes Operator for ManageIQ 是一个基于 Kubernetes Operator 框架构建的工具,旨在自动化 ManageIQ 平台在 Kubernetes 集群中的部署、配置、运维及全生命周期管理。该 Operator 通过自定义资源定义(CRD)实现声明式 API,将 ManageIQ 的部署和管理逻辑编码为软件,简化用户在 Kubernetes 环境中使用 ManageIQ 进行多云资源管理的复杂度。
主要用途:
基于 Kubernetes CRD(ManageIQ 自定义资源)实现声明式配置,用户通过定义 CR 资源即可描述期望的 ManageIQ 集群状态,Operator 自动协调实际状态与期望状态。
spec.backup 配置)kubectl 工具(版本与集群匹配)方式一:通过 Helm Chart 安装(推荐)
bash# 添加 Helm 仓库 helm repo add manageiq-operator https://manageiq.github.io/operator-charts helm repo update # 安装 Operator(指定命名空间,如 manageiq-system) helm install manageiq-operator manageiq-operator/manageiq-operator \ --namespace manageiq-system \ --create-namespace \ --version 1.0.0 # 替换为实际版本号
方式二:通过 kubectl 安装
bash# 创建命名空间 kubectl create namespace manageiq-system # 部署 CRD kubectl apply -f https://raw.githubusercontent.com/ManageIQ/manageiq-operator/main/config/crd/bases/manageiq.manageiq.org_manageiqs.yaml # 部署 Operator 控制器 kubectl apply -f https://raw.githubusercontent.com/ManageIQ/manageiq-operator/main/config/manager/manager.yaml -n manageiq-system
通过定义 ManageIQ 自定义资源(CR)创建实例,示例 YAML(manageiq-instance.yaml):
yamlapiVersion: manageiq.manageiq.org/v1alpha1 kind: ManageIQ metadata: name: my-manageiq namespace: manageiq-system spec: # 基础配置 image: manageiq/manageiq:ivanchuk-1 # 镜像版本 imagePullPolicy: IfNotPresent # 镜像拉取策略 # 资源限制 resources: requests: cpu: "2" memory: "4Gi" limits: cpu: "4" memory: "8Gi" # 存储配置 storage: storageClassName: standard # 存储类名称 size: 100Gi # 存储大小 # 数据库配置(可选,默认使用内置 PostgreSQL) database: external: false # 是否使用外部数据库 # 外部数据库配置(当 external: true 时需填写) # host: postgres.example.com # port: 5432 # database: manageiq # user: manageiq_user # passwordSecret: # name: postgres-credentials # key: password # 网络配置 network: serviceType: ClusterIP # 服务类型(ClusterIP/NodePort/LoadBalancer) ingress: enabled: true hostname: manageiq.example.com tls: enabled: true secretName: manageiq-tls # 高可用配置 replicas: 3 # 副本数(建议生产环境 ≥3) # 备份配置 backup: enabled: true schedule: "0 3 * * *" # 每日凌晨 3 点执行备份 storageClassName: backup-storage size: 50Gi
应用 CR 创建实例:
bashkubectl apply -f manageiq-instance.yaml -n manageiq-system
| 参数路径 | 类型 | 描述 | 默认值 |
|---|---|---|---|
spec.image | string | ManageIQ 镜像地址及版本 | manageiq/manageiq:latest |
spec.imagePullPolicy | string | 镜像拉取策略(Always/IfNotPresent/Never) | IfNotPresent |
spec.resources | object | CPU/内存资源请求与限制 | requests: {cpu: "1", memory: "2Gi"}, limits: {cpu: "2", memory: "4Gi"} |
spec.storage | object | 存储配置,包含 storageClassName(存储类)和 size(存储大小) | storageClassName: standard, size: 50Gi |
spec.database.external | bool | 是否使用外部数据库 | false |
spec.network.serviceType | string | 服务类型(ClusterIP/NodePort/Load***) | ClusterIP |
spec.network.ingress.enabled | bool | 是否启用 Ingress | false |
spec.replicas | int | ManageIQ 实例副本数 | 1 |
spec.backup.enabled | bool | 是否启用自动备份 | false |
spec.backup.schedule | string | 备份定时任务(Cron 表达式) | "0 0 * * *"(每日凌晨 0 点) |
通过 Ingress 访问(推荐)
若启用 Ingress 且配置 hostname: manageiq.example.com,直接通过 https://manageiq.example.com 访问。
通过 NodePort/Load*** 访问
获取服务地址:
bashkubectl get service my-manageiq -n manageiq-system
根据服务类型,通过 NodePort(节点IP:NodePort)或 Load***(EXTERNAL-IP)访问。
升级 Operator
通过 Helm 升级:
bashhelm upgrade manageiq-operator manageiq-operator/manageiq-operator -n manageiq-system --version 1.1.0
升级 ManageIQ 版本
修改 CR 中的 spec.image 字段至目标版本,Operator 会自动执行滚动升级:
bashkubectl patch manageiq my-manageiq -n manageiq-system --type merge -p '{"spec": {"image": "manageiq/manageiq:jansa-1"}}'
回滚
若升级失败,Operator 会自动回滚至前一版本。也可手动回滚 CR 配置:
bashkubectl apply -f manageiq-instance-rollback.yaml -n manageiq-system # 应用历史稳定版本的 CR 配置
卸载 ManageIQ 实例
bashkubectl delete manageiq my-manageiq -n manageiq-system
卸载 Operator
bashhelm uninstall manageiq-operator -n manageiq-system kubectl delete crd manageiqs.manageiq.manageiq.org
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务