mcpField
K
kubernetes-deployment-patterns

kubernetes-deployment-patterns

github.com/nickcrewCloud & DevOps6293 installsUpdated 17w ago
Repository

About kubernetes-deployment-patterns

This skill offers practical guidance for production Kubernetes deployments, aimed at teams building and operating cloud-native applications. It covers rollout strategies, workload types, configuration, resource management, autoscaling, and health checks.

Key features

  1. 01Choose rolling, blue-green, or canary strategies
  2. 02Select workload types for different tasks
  3. 03Manage configuration with ConfigMaps and Secrets
  4. 04Set resource requests, limits, and autoscaling
  5. 05Configure health-check probes

Use cases

  1. 01Plan application updates to reduce deployment disruption
  2. 02Choose workloads for services, databases, or batch tasks
  3. 03Manage sensitive configuration and container resources
  4. 04Set probes and autoscaling for production applications

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/nickcrew/claude-cortex --skill kubernetes-deployment-patterns

After installing, type/kubernetes-deployment-patternsin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

references/
configuration-management.md
deployment-strategies.md
production-best-practices.md
resource-management.md
workload-types.md

Details

From the project README

Kubernetes Deployment Patterns

Expert guidance for production-grade Kubernetes deployments covering deployment strategies, workload types, configuration management, resource optimization, and autoscaling patterns for cloud-native applications.

When to Use This Skill

  • Implementing deployment strategies (rolling updates, blue-green, canary releases)
  • Choosing appropriate workload types (Deployment, StatefulSet, DaemonSet, Job)
  • Designing rollout strategies for zero-downtime deployments
  • Implementing configuration management with ConfigMaps and Secrets
  • Setting up resource management and autoscaling (HPA, VPA)
  • Configuring health checks and probe strategies
  • Designing highly available applications on Kubernetes
  • Implementing batch processing and scheduled jobs

Core Concepts

Deployment Strategies

Rolling Update: Gradually replace old pods with new ones (zero-downtime, default) Recreate: Terminate all old pods before creating new ones (brief downtime) Blue-Green: Run two environments, switch traffic instantly (2x resources) Canary: Gradually shift traffic to new version while monitoring (risk mitigation)

Workload Types

Deployment: Stateless applications (web servers, APIs, microservices) StatefulSet: Stateful applications (databases, message queues) DaemonSet: Node-level services (log collectors, monitoring agents) Job: One-time tasks (batch processing, migrations) CronJob: Scheduled tasks (backups, periodic reports)

Resource Management

Requests: Guaranteed resources for scheduling Limits: Maximum resources enforced by kubelet HPA: Horizontal Pod Autoscaler (scale replicas based on metrics) VPA: Vertical Pod Autoscaler (adjust resource requests/limits)

Quick Reference

TaskLoad reference
Deployment strategies (rolling, blue-green, canary)skills/kubernetes-deployment-patterns/references/deployment-strategies.md
Workload types (Deployment, StatefulSet, DaemonSet, Job)skills/kubernetes-deployment-patterns/references/workload-types.md
Configuration management (ConfigMaps, Secrets)skills/kubernetes-deployment-patterns/references/configuration-management.md
Resource management and autoscaling (HPA, VPA)skills/kubernetes-deployment-patterns/references/resource-management.md
Production best practices and securityskills/kubernetes-deployment-patterns/references/production-best-practices.md

Workflow

1. Choose Deployment Strategy
# Rolling update for standard deployments
strategy:
  type: RollingUpdate
  rollingUpdate:
    maxSurge: 1
    maxUnavailable: 0

# Recreate for incompatible versions
strategy:
  type: Recreate
2. Select Workload Type
  • Stateless? → Use Deployment
  • Stateful with persistent identity? → Use StatefulSet
  • One pod per node? → Use DaemonSet
  • Run to completion? → Use Job
  • Run on schedule? → Use CronJob
3. Configure Resources
resources:
  requests:
    memory: "256Mi"
    cpu: "250m"
  limits:
    memory: "512Mi"
    cpu: "1000m"
4. Add Configuration
# ConfigMap for non-sensitive config
envFrom:
- configMapRef:
    name: app-config

# Secret for sensitive data
env:
- name: DB_PASSWORD
  valueFrom:
    secretKeyRef:
      name: db-credentials
      key: password
5. Implement Health Checks
livenessProbe:
  httpGet:
    path: /healthz
    port: 8080
  initialDelaySeconds: 30
  periodSeconds: 10

readinessProbe:
  httpGet:
    path: /ready
    port: 8080
  initialDelaySeconds: 5
  periodSeconds: 5
6. Enable Autoscaling
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
spec:
  scaleTargetRef:
    kind: Deployment
    name: app
  minReplicas: 2
  maxReplicas: 10
  metrics:
  - type: Resource
    resource:
      name: cpu
      target:
        type: Utilization
        averageUtilization: 70

Common Mistakes

  1. Using latest tag: Always use specific version tags for reproducibility
  2. No resource limits: Can cause resource starvation and cluster instability
  3. Missing health checks: Kubernetes can't manage pod health without probes
  4. Single replica in production: No high availability or resilience
  5. Secrets in ConfigMaps: Use Secrets for sensitive data, not ConfigMaps
  6. No update strategy: Leads to unpredictable deployment behavior
  7. Running as root: Security vulnerability, violates least privilege
  8. No monitoring: Can't detect or debug issues in production

Resources

Comments

Markdown supported