checkpoint-restore-operator Docker 镜像下载 - 轩辕镜像
checkpoint-restore-operator 镜像详细信息和使用指南
checkpoint-restore-operator 镜像标签列表和版本信息
checkpoint-restore-operator 镜像拉取命令和加速下载
checkpoint-restore-operator 镜像使用说明和配置指南
Docker 镜像加速服务 - 轩辕镜像平台
国内开发者首选的 Docker 镜像加速平台
极速拉取 Docker 镜像服务
相关 Docker 镜像推荐
热门 Docker 镜像下载
checkpoint-restore-operator 镜像详细信息
checkpoint-restore-operator 镜像标签列表
checkpoint-restore-operator 镜像使用说明
checkpoint-restore-operator 镜像拉取命令
Docker 镜像加速服务
轩辕镜像平台优势
镜像下载指南
相关 Docker 镜像推荐
checkpoint-restore-operator 镜像详细说明
checkpoint-restore-operator 使用指南
checkpoint-restore-operator 配置说明
checkpoint-restore-operator 官方文档
检查点管理Kubernetes操作器
镜像概述
本镜像包含一个Kubernetes操作器(Operator),专门用于在Kubernetes集群中管理容器检查点(Container Checkpoints)的全生命周期。作为Kubernetes的自定义控制器,该操作器通过自定义资源定义(CRD)扩展Kubernetes API,提供检查点创建、存储、恢复和清理的自动化能力,简化有状态应用的状态管理流程。
核心功能与特性
主要功能
- 检查点自动化创建:支持基于时间策略(如定时)或事件触发(如Pod重启前)自动创建容器检查点
- 多存储后端支持:兼容Kubernetes持久卷(PVC)、对象存储(如S3)及本地存储等多种检查点存储方式
- 检查点恢复机制:提供从保存的检查点快速恢复容器状态的能力,支持原Pod恢复或新Pod重建
- 生命周期管理:自动清理过期或超出保留策略的检查点,释放集群存储资源
- 状态监控与告警:集成Prometheus指标,监控检查点创建/恢复状态,支持异常状态告警
关键特性
- 声明式API:通过
Checkpoint和CheckpointPolicy自定义资源实现声明式配置 - 无侵入集成:无需修改应用容器镜像,通过Kubernetes运行时接口(CRI)与容器运行时交互
- 高可用性:支持多副本部署,确保操作器本身的故障容错
- 可扩展性:模块化设计,支持添加新的存储后端或检查点处理逻辑
使用场景与适用范围
典型使用场景
- 有状态应用故障恢复:数据库、消息队列等有状态应用发生故障时,从最近检查点恢复状态,减少数据丢失
- 资源密集型任务状态保存:AI训练、科学计算等长时间任务,定期保存检查点避免任务中断后重新计算
- 测试环境状态复现:在测试或调试过程中,保存特定场景的容器状态,支持精确复现问题环境
- 集群迁移/升级:在Kubernetes集群版本升级或节点迁移前,为关键应用创建检查点,确保升级失败时可快速回滚
适用范围
- Kubernetes集群版本:v1.21+(需支持CRD v1和Operator SDK依赖的API)
- 容器运行时:支持检查点功能的容器运行时(如containerd 1.6+、CRI-O 1.20+)
- 应用类型:需要状态持久化的有状态容器应用,特别是无法通过传统数据卷完全恢复状态的场景
使用方法与配置说明
前置条件
- Kubernetes集群已部署,版本v1.21+
- 容器运行时启用检查点功能(如containerd需配置
[plugins."io.containerd.snapshotter.v1.devmapper"]支持) - 集群内已安装kubectl命令行工具,并具有集群管理员权限
部署步骤
1. 安装CRD
首先部署检查点管理所需的自定义资源定义:
bashkubectl apply -f [***] kubectl apply -f [***]
2. 部署操作器
通过Deployment部署操作器到集群(默认命名空间checkpoint-operator-system):
yaml# checkpoint-operator-deployment.yaml apiVersion: apps/v1 kind: Deployment metadata: name: checkpoint-operator namespace: checkpoint-operator-system spec: replicas: 2 selector: matchLabels: control-plane: controller-manager template: metadata: labels: control-plane: controller-manager spec: serviceAccountName: checkpoint-operator-controller-manager containers: - name: manager image: [镜像仓库地址]/checkpoint-operator:v1.0.0 command: - /manager args: - --leader-elect env: - name: WATCH_NAMESPACE valueFrom: fieldRef: fieldPath: metadata.namespace - name: POD_NAME valueFrom: fieldRef: fieldPath: metadata.name - name: OPERATOR_NAME value: "checkpoint-operator" resources: limits: cpu: 500m memory: 512Mi requests: cpu: 100m memory: 20Mi
应用部署配置:
bashkubectl apply -f checkpoint-operator-deployment.yaml
3. 创建检查点策略(可选)
定义检查点创建的全局策略(如保留数量、存储位置等):
yaml# example-checkpoint-policy.yaml apiVersion: checkpoint.example.com/v1alpha1 kind: CheckpointPolicy metadata: name: default-policy spec: retention: maxCount: 5 # 最多保留5个检查点 maxAge: 72h # 检查点最长保留72小时 storage: backend: "pvc" # 使用PVC存储 pvcTemplate: accessModes: ["ReadWriteOnce"] resources: requests: storage: 10Gi
应用策略:
bashkubectl apply -f example-checkpoint-policy.yaml
4. 创建检查点
为目标Pod创建检查点:
yaml# example-checkpoint.yaml apiVersion: checkpoint.example.com/v1alpha1 kind: Checkpoint metadata: name: my-app-checkpoint spec: target: podName: my-app-pod-0 # 目标Pod名称 namespace: default # 目标Pod所在命名空间 containerName: main # 目标容器名称(默认为Pod中第一个容器) policyRef: default-policy # 引用检查点策略(可选) storage: # 覆盖策略中的存储配置(可选) backend: "s3" s3: endpoint: "s3.example.com" bucket: "checkpoints" prefix: "my-app/"
创建检查点:
bashkubectl apply -f example-checkpoint.yaml
检查点恢复操作
通过kubectl命令触发检查点恢复:
bashkubectl annotate pod my-app-pod-0 checkpoint.example.com/restore-from=my-app-checkpoint
配置参数说明
Checkpoint自定义资源字段
| 字段路径 | 类型 | 描述 | 是否必填 |
|---|---|---|---|
| metadata.name | string | 检查点资源名称 | 是 |
| spec.target.podName | string | 目标Pod名称 | 是 |
| spec.target.namespace | string | 目标Pod所在命名空间 | 否(默认与当前命名空间相同) |
| spec.target.containerName | string | 目标容器名称 | 否(默认第一个容器) |
| spec.policyRef | string | 引用的CheckpointPolicy名称 | 否 |
| spec.storage.backend | string | 存储后端类型(pvc/s3/local) | 否(策略中定义则可选) |
| spec.storage.pvc | object | PVC存储配置(当backend为pvc时) | 否(策略中定义则可选) |
| spec.storage.s3 | object | S3存储配置(当backend为s3时) | 否(策略中定义则可选) |
| spec.storage.local.path | string | 本地存储路径(当backend为local时) | 否(策略中定义则可选) |
环境变量配置(操作器部署)
| 环境变量 | 描述 | 默认值 |
|---|---|---|
| WATCH_NAMESPACE | 操作器监控的命名空间,多个用逗号分隔,空表示所有命名空间 | "" |
| OPERATOR_NAME | 操作器标识名称 | "checkpoint-operator" |
| LOG_LEVEL | 日志级别(debug/info/warn/error) | "info" |
| METRICS_PORT | Prometheus指标暴露端口 | 8080 |
| HEALTH_PROBE_PORT | 健康检查端口 | 8081 |
监控与故障排查
监控指标
操作器暴露以下Prometheus指标(默认端口8080):
checkpoint_operator_checkpoint_total{status="created/failed"}:检查点创建总数checkpoint_operator_restore_total{status="success/failed"}:检查点恢复总数checkpoint_operator_checkpoint_age_seconds:检查点存活时间
常见故障排查
- 检查点创建失败:查看操作器日志
kubectl logs -l control-plane=controller-manager -n checkpoint-operator-system - 存储后端连接错误:验证存储配置(如S3访问密钥、PVC权限)
- 容器运行时不支持:确认容器运行时已启用检查点功能(如containerd需配置
[plugins."io.containerd.grpc.v1.cri".containerd.checkpoint])
版本兼容性
| 操作器版本 | 支持Kubernetes版本 | 支持容器运行时版本 |
|---|---|---|
| v1.0.x | 1.21-1.25 | containerd 1.6+, CRI-O 1.20+ |
| v1.1.x | 1.23-1.27 | containerd 1.7+, CRI-O 1.22+ |
用户好评
来自真实用户的反馈,见证轩辕镜像的优质服务
常见问题
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
轩辕镜像下载加速使用手册
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
登录仓库拉取
通过 Docker 登录认证访问私有仓库
Linux
在 Linux 系统配置镜像加速服务
Windows/Mac
在 Docker Desktop 配置镜像加速
Docker Compose
Docker Compose 项目配置加速
K8s Containerd
Kubernetes 集群配置 Containerd
宝塔面板
在宝塔面板一键配置镜像加速
群晖
Synology 群晖 NAS 配置加速
飞牛
飞牛 fnOS 系统配置镜像加速
极空间
极空间 NAS 系统配置加速服务
爱快路由
爱快 iKuai 路由系统配置加速
绿联
绿联 NAS 系统配置镜像加速
威联通
QNAP 威联通 NAS 配置加速
Podman
Podman 容器引擎配置加速
Singularity/Apptainer
HPC 科学计算容器配置加速
其他仓库配置
ghcr、Quay、nvcr 等镜像仓库
专属域名拉取
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429