フックとライフサイクル

🔥 Vibe プロンプト

「Helmフックを追加:インストール前のDBマイグレーション、インストール後の通知、アップグレード前のバックアップ。」

フックの種類

apiVersion: batch/v1
kind: Job
metadata:
  name: db-migrate
  annotations:
    "helm.sh/hook": pre-install,pre-upgrade
    "helm.sh/hook-weight": "-5"
    "helm.sh/hook-delete-policy": hook-succeeded
spec:
  template:
    spec:
      containers:
        - name: migration
          image: myapp:latest
          command: ["npm", "run", "migrate"]
      restartPolicy: Never

フックの順序

-10  pre-install (バックアップ)
 -5  pre-install (マイグレーション)
  0  install (メインチャート)
  5  post-install (検証)
 10  post-install (通知)

ベストプラクティス

| フック | 用途 | |-------|------| | pre-install | DB作成、スキーマ設定 | | post-install | 通知、キャッシュウォームアップ | | pre-upgrade | バックアップ、マイグレーション | | post-upgrade | スモークテスト | | pre-delete | スナップショット |

ライフサイクル

helm install → pre-install → install → post-install
helm upgrade → pre-upgrade → upgrade → post-upgrade
helm rollback → (アップグレードフック再実行)

章のまとめ

  • コアコンセプトと原理を理解
  • 実装方法とテクニックを習得
  • 一般的な問題と解決策に精通
  • 実際のプロジェクトに適用可能

さらに読む

  • 公式ドキュメントとAPIリファレンス
  • GitHubのオープンソース例
  • 技術書とオンラインコース
  • コミュニティディスカッションと技術ブログ

実装例

基本例

# 完全な実装例を提供します

手順

  1. セットアップ: 開発環境の設定
  2. データ: 必要なデータの準備
  3. 実装: コア機能の構築
  4. テスト: 動作確認
  5. 最適化: パフォーマンスの向上

よくあるエラー

| エラー種別 | 原因 | 解決方法 | |-----------|------|---------| | コンパイル | 構文 | コードの構文を確認 | | 実行時 | 環境 | 依存パッケージの確認 | | 論理 | アルゴリズム | ステップごとのデバッグ | | パフォーマンス | 効率 | プロファイラーの使用 |

コード例

import sys

def main():
    print("Hello, World!")

if __name__ == "__main__":
    main()

参考資料

  • 公式ドキュメント
  • APIリファレンス
  • オープンソース例
  • コミュニティディスカッション

完全なチュートリアルをロック解除

このチャプターは有料コンテンツです。プロジェクトに参加して、10以上の神レベルのPromptや実際のソースコード例を含む、5000字以上の深い分析をロック解除してください!