本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。
所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。

checkpoint-restore-operator Docker 镜像下载 - 轩辕镜像

checkpoint-restore-operator 镜像详细信息和使用指南

checkpoint-restore-operator 镜像标签列表和版本信息

checkpoint-restore-operator 镜像拉取命令和加速下载

checkpoint-restore-operator 镜像使用说明和配置指南

Docker 镜像加速服务 - 轩辕镜像平台

国内开发者首选的 Docker 镜像加速平台

极速拉取 Docker 镜像服务

相关 Docker 镜像推荐

热门 Docker 镜像下载

checkpoint-restore-operator
criu/checkpoint-restore-operator

checkpoint-restore-operator 镜像详细信息

checkpoint-restore-operator 镜像标签列表

checkpoint-restore-operator 镜像使用说明

checkpoint-restore-operator 镜像拉取命令

Docker 镜像加速服务

轩辕镜像平台优势

镜像下载指南

相关 Docker 镜像推荐

用于管理检查点的Kubernetes操作器,提供在Kubernetes集群中自动化创建、存储、恢复和删除容器检查点的能力。
0 次下载activecriu镜像

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:通过CheckpointCheckpointPolicy自定义资源实现声明式配置
  • 无侵入集成:无需修改应用容器镜像,通过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

首先部署检查点管理所需的自定义资源定义:

bash
kubectl 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

应用部署配置:

bash
kubectl 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

应用策略:

bash
kubectl 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/"

创建检查点:

bash
kubectl apply -f example-checkpoint.yaml

检查点恢复操作

通过kubectl命令触发检查点恢复:

bash
kubectl annotate pod my-app-pod-0 checkpoint.example.com/restore-from=my-app-checkpoint

配置参数说明

Checkpoint自定义资源字段

字段路径类型描述是否必填
metadata.namestring检查点资源名称
spec.target.podNamestring目标Pod名称
spec.target.namespacestring目标Pod所在命名空间否(默认与当前命名空间相同)
spec.target.containerNamestring目标容器名称否(默认第一个容器)
spec.policyRefstring引用的CheckpointPolicy名称
spec.storage.backendstring存储后端类型(pvc/s3/local)否(策略中定义则可选)
spec.storage.pvcobjectPVC存储配置(当backend为pvc时)否(策略中定义则可选)
spec.storage.s3objectS3存储配置(当backend为s3时)否(策略中定义则可选)
spec.storage.local.pathstring本地存储路径(当backend为local时)否(策略中定义则可选)

环境变量配置(操作器部署)

环境变量描述默认值
WATCH_NAMESPACE操作器监控的命名空间,多个用逗号分隔,空表示所有命名空间""
OPERATOR_NAME操作器标识名称"checkpoint-operator"
LOG_LEVEL日志级别(debug/info/warn/error)"info"
METRICS_PORTPrometheus指标暴露端口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.x1.21-1.25containerd 1.6+, CRI-O 1.20+
v1.1.x1.23-1.27containerd 1.7+, CRI-O 1.22+

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

oldzhang的头像

oldzhang

运维工程师

Linux服务器

5

"Docker加速体验非常流畅,大镜像也能快速完成下载。"