jpskill.com
🛠️ 開発・MCP コミュニティ

velero

VeleroはKubernetes環境のバックアップと復旧を支援し、クラスタのリソースやデータを保護、異なる環境への移行、定期的なバックアップを自動化するSkill。

📜 元の英語説明(参考)

Velero for Kubernetes backup and disaster recovery. Use when the user needs to back up cluster resources and persistent volumes, restore workloads, migrate between clusters, or schedule automated backups.

🇯🇵 日本人クリエイター向け解説

一言でいうと

VeleroはKubernetes環境のバックアップと復旧を支援し、クラスタのリソースやデータを保護、異なる環境への移行、定期的なバックアップを自動化するSkill。

※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o velero.zip https://jpskill.com/download/15534.zip && unzip -o velero.zip && rm velero.zip
🪟 Windows (PowerShell)
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/15534.zip -OutFile "$d\velero.zip"; Expand-Archive "$d\velero.zip" -DestinationPath $d -Force; ri "$d\velero.zip"

完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。

💾 手動でダウンロードしたい(コマンドが難しい人向け)
  1. 1. 下の青いボタンを押して velero.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → velero フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。

詳しい使い方ガイドを見る →
最終更新
2026-05-18
取得日時
2026-05-18
同梱ファイル
1

📖 Skill本文(日本語訳)

※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。

Velero

Veleroは、ディザスタリカバリと移行のために、Kubernetesクラスタのリソースと永続ボリュームをバックアップおよびリストアします。

インストール

# Velero CLIのインストール
wget https://github.com/vmware-tanzu/velero/releases/download/v1.13.0/velero-v1.13.0-linux-amd64.tar.gz
tar -xzf velero-v1.13.0-linux-amd64.tar.gz
sudo mv velero-v1.13.0-linux-amd64/velero /usr/local/bin/

AWSの設定

# AWSプロバイダーを使用したVeleroのインストール
velero install \
  --provider aws \
  --plugins velero/velero-plugin-for-aws:v1.9.0 \
  --bucket my-velero-backups \
  --backup-location-config region=us-east-1 \
  --snapshot-location-config region=us-east-1 \
  --secret-file ./credentials-velero \
  --use-node-agent \
  --default-volumes-to-fs-backup
# credentials-velero — Velero用のAWS認証情報ファイル
[default]
aws_access_key_id=AKIA...
aws_secret_access_key=...

GCPの設定

# GCPプロバイダーを使用したVeleroのインストール
velero install \
  --provider gcp \
  --plugins velero/velero-plugin-for-gcp:v1.9.0 \
  --bucket my-velero-backups \
  --secret-file ./credentials-velero-gcp.json \
  --use-node-agent

バックアップ操作

# フルクラスタバックアップの作成
velero backup create full-backup-$(date +%Y%m%d)

# 特定のnamespaceのバックアップ
velero backup create app-backup \
  --include-namespaces production,staging \
  --ttl 720h

# ラベルセレクターを使用したバックアップ
velero backup create team-a-backup \
  --selector app.kubernetes.io/team=team-a

# 特定のリソースのバックアップ
velero backup create configs-backup \
  --include-resources configmaps,secrets \
  --include-namespaces default

# リソースの除外
velero backup create partial-backup \
  --exclude-namespaces kube-system,kube-public \
  --exclude-resources events

# バックアップステータスの確認
velero backup describe full-backup-20240115
velero backup logs full-backup-20240115
velero backup get

スケジュールされたバックアップ

# スケジュールされたバックアップの作成 (毎日UTC午前2時)
velero schedule create daily-backup \
  --schedule="0 2 * * *" \
  --ttl 168h \
  --include-namespaces production

# 毎週のフルバックアップ
velero schedule create weekly-full \
  --schedule="0 0 * * 0" \
  --ttl 720h

# スケジュールのリストと管理
velero schedule get
velero schedule describe daily-backup
velero schedule delete daily-backup
# schedule.yaml — マニフェストとしてのVelero Schedule
apiVersion: velero.io/v1
kind: Schedule
metadata:
  name: daily-production
  namespace: velero
spec:
  schedule: "0 2 * * *"
  template:
    includedNamespaces:
      - production
      - database
    ttl: 168h0m0s
    storageLocation: default
    volumeSnapshotLocations:
      - default
    defaultVolumesToFsBackup: true
  useOwnerReferencesInBackup: false

リストア操作

# バックアップ全体のリストア
velero restore create --from-backup full-backup-20240115

# 特定のnamespaceのリストア
velero restore create --from-backup full-backup-20240115 \
  --include-namespaces production

# 異なるnamespaceへのリストア (namespaceマッピング)
velero restore create --from-backup app-backup \
  --namespace-mappings production:production-restored

# 特定のリソースのみのリストア
velero restore create --from-backup full-backup-20240115 \
  --include-resources deployments,services,configmaps

# リストアステータスの確認
velero restore describe restore-name
velero restore logs restore-name
velero restore get

バックアップロケーション

# backup-location.yaml — 追加のバックアップストレージロケーション
apiVersion: velero.io/v1
kind: BackupStorageLocation
metadata:
  name: secondary
  namespace: velero
spec:
  provider: aws
  objectStorage:
    bucket: my-velero-secondary
    prefix: backups
  config:
    region: eu-west-1
  accessMode: ReadWrite

ボリュームバックアップアノテーション

# deployment-with-backup.yaml — ボリュームバックアップアノテーション付きのDeployment
apiVersion: apps/v1
kind: Deployment
metadata:
  name: database
spec:
  template:
    metadata:
      annotations:
        backup.velero.io/backup-volumes: data
    spec:
      containers:
        - name: postgres
          image: postgres:15
          volumeMounts:
            - name: data
              mountPath: /var/lib/postgresql/data
      volumes:
        - name: data
          persistentVolumeClaim:
            claimName: postgres-data

クラスタ移行

# ソースクラスタ: バックアップの作成
velero backup create migration-backup --include-namespaces production

# 同じバックアップロケーションでデスティネーションクラスタを設定
velero backup-location create source \
  --provider aws \
  --bucket my-velero-backups \
  --config region=us-east-1 \
  --access-mode ReadOnly

# デスティネーションクラスタ: リストア
velero restore create --from-backup migration-backup

一般的なコマンド

# ステータスとデバッグ
velero get backups
velero get restores
velero get schedules

# プラグイン管理
velero plugin get

# 古いバックアップの削除
velero backup delete old-backup-name

# アンインストール
velero uninstall
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開

Velero

Velero backs up and restores Kubernetes cluster resources and persistent volumes for disaster recovery and migration.

Installation

# Install Velero CLI
wget https://github.com/vmware-tanzu/velero/releases/download/v1.13.0/velero-v1.13.0-linux-amd64.tar.gz
tar -xzf velero-v1.13.0-linux-amd64.tar.gz
sudo mv velero-v1.13.0-linux-amd64/velero /usr/local/bin/

AWS Setup

# Install Velero with AWS provider
velero install \
  --provider aws \
  --plugins velero/velero-plugin-for-aws:v1.9.0 \
  --bucket my-velero-backups \
  --backup-location-config region=us-east-1 \
  --snapshot-location-config region=us-east-1 \
  --secret-file ./credentials-velero \
  --use-node-agent \
  --default-volumes-to-fs-backup
# credentials-velero — AWS credentials file for Velero
[default]
aws_access_key_id=AKIA...
aws_secret_access_key=...

GCP Setup

# Install Velero with GCP provider
velero install \
  --provider gcp \
  --plugins velero/velero-plugin-for-gcp:v1.9.0 \
  --bucket my-velero-backups \
  --secret-file ./credentials-velero-gcp.json \
  --use-node-agent

Backup Operations

# Create a full cluster backup
velero backup create full-backup-$(date +%Y%m%d)

# Backup specific namespace
velero backup create app-backup \
  --include-namespaces production,staging \
  --ttl 720h

# Backup with label selector
velero backup create team-a-backup \
  --selector app.kubernetes.io/team=team-a

# Backup specific resources
velero backup create configs-backup \
  --include-resources configmaps,secrets \
  --include-namespaces default

# Exclude resources
velero backup create partial-backup \
  --exclude-namespaces kube-system,kube-public \
  --exclude-resources events

# Check backup status
velero backup describe full-backup-20240115
velero backup logs full-backup-20240115
velero backup get

Scheduled Backups

# Create scheduled backup (daily at 2am UTC)
velero schedule create daily-backup \
  --schedule="0 2 * * *" \
  --ttl 168h \
  --include-namespaces production

# Weekly full backup
velero schedule create weekly-full \
  --schedule="0 0 * * 0" \
  --ttl 720h

# List and manage schedules
velero schedule get
velero schedule describe daily-backup
velero schedule delete daily-backup
# schedule.yaml — Velero Schedule as manifest
apiVersion: velero.io/v1
kind: Schedule
metadata:
  name: daily-production
  namespace: velero
spec:
  schedule: "0 2 * * *"
  template:
    includedNamespaces:
      - production
      - database
    ttl: 168h0m0s
    storageLocation: default
    volumeSnapshotLocations:
      - default
    defaultVolumesToFsBackup: true
  useOwnerReferencesInBackup: false

Restore Operations

# Restore entire backup
velero restore create --from-backup full-backup-20240115

# Restore specific namespace
velero restore create --from-backup full-backup-20240115 \
  --include-namespaces production

# Restore to different namespace (namespace mapping)
velero restore create --from-backup app-backup \
  --namespace-mappings production:production-restored

# Restore specific resources only
velero restore create --from-backup full-backup-20240115 \
  --include-resources deployments,services,configmaps

# Check restore status
velero restore describe restore-name
velero restore logs restore-name
velero restore get

Backup Locations

# backup-location.yaml — Additional backup storage location
apiVersion: velero.io/v1
kind: BackupStorageLocation
metadata:
  name: secondary
  namespace: velero
spec:
  provider: aws
  objectStorage:
    bucket: my-velero-secondary
    prefix: backups
  config:
    region: eu-west-1
  accessMode: ReadWrite

Volume Backup Annotations

# deployment-with-backup.yaml — Deployment with volume backup annotations
apiVersion: apps/v1
kind: Deployment
metadata:
  name: database
spec:
  template:
    metadata:
      annotations:
        backup.velero.io/backup-volumes: data
    spec:
      containers:
        - name: postgres
          image: postgres:15
          volumeMounts:
            - name: data
              mountPath: /var/lib/postgresql/data
      volumes:
        - name: data
          persistentVolumeClaim:
            claimName: postgres-data

Cluster Migration

# Source cluster: create backup
velero backup create migration-backup --include-namespaces production

# Configure destination cluster with same backup location
velero backup-location create source \
  --provider aws \
  --bucket my-velero-backups \
  --config region=us-east-1 \
  --access-mode ReadOnly

# Destination cluster: restore
velero restore create --from-backup migration-backup

Common Commands

# Status and debugging
velero get backups
velero get restores
velero get schedules

# Plugin management
velero plugin get

# Delete old backups
velero backup delete old-backup-name

# Uninstall
velero uninstall