Key Differences Between Upgrade Plans and Upgrade Templates

Upgrade Templates

Upgrade Templates are AI-curated, reusable workflows that serve as blueprints for upgrades:
  • Purpose: Generic, environment-scoped workflows that can be used across multiple clusters
  • Scope: Generated for an entire environment (e.g., dev, staging, prod)
  • Content: Contains tested sequences of steps and stages for safely upgrading Kubernetes clusters or add-ons
  • Reusability: Can be used to create multiple Upgrade Plans for different clusters
  • Customization: Can be reviewed, customized with custom steps, and approved before use
  • Status Lifecycle:
    • Waiting for Template → Available → Approved for Use → Environment Upgraded

Upgrade Plans

Upgrade Plans are instantiated, cluster-specific workflows created from approved Templates:
  • Purpose: Specific execution workflows tailored to individual clusters
  • Scope: Generated for a specific cluster by instantiating an approved Template
  • Content: Inherits all Template information PLUS cluster-specific details like:
    • Cluster name and region
    • Node Group details
    • Which applications are using deprecated/removed APIs
    • Application client changes in add-ons
    • Application misconfigurations (like incorrect Pod Disruption Budgets)
  • Execution: Ready-to-execute workflows with step-by-step instructions
  • Status Lifecycle:
    • Waiting for Plan → In Progress → Completed or Canceled

The Relationship

  1. Templates are created first - either requested directly or derived from Upgrade Assessments
  2. Templates are reviewed and approved - teams can add custom steps, comments, and approve them
  3. Plans are instantiated from approved Templates - each Plan is customized for a specific cluster
  4. Plans are executed - providing the actual upgrade workflow for individual clusters

Key Analogy

Think of Templates as recipes that can be used multiple times, while Plans are specific cooking instructions tailored to your particular kitchen and ingredients. This approach allows teams to standardize upgrade processes across environments while still accommodating cluster-specific requirements and enabling safe delegation of upgrade tasks.