Skip to main content

Kubernetes Implementation

Folder: .github/skills/tsh-implementing-kubernetes/ Used by: DevOps Engineer

Provides Kubernetes deployment patterns, Helm chart conventions, and cluster management best practices.

Deployment Patterns

  • Deployments — Standard stateless workloads with rolling updates.
  • StatefulSets — Stateful applications requiring stable network identities.
  • DaemonSets — Node-level agents (monitoring, logging).
  • CronJobs — Scheduled batch workloads.

Resource Management

ResourceApproach
RequestsSet to the average resource usage
LimitsSet to the peak resource usage with headroom
HPAConfigure horizontal pod autoscaling based on CPU/memory or custom metrics
PDBSet Pod Disruption Budgets to maintain availability during rollouts

Health Probes

ProbePurpose
LivenessRestart the pod if the application is stuck
ReadinessRemove from service until the application is ready to serve traffic
StartupAllow slower startup for applications with long initialization

Security

  • Run containers as non-root with read-only file systems.
  • Use NetworkPolicies to restrict pod-to-pod communication.
  • Configure RBAC with least-privilege service accounts.

Connected Skills

  • tsh-managing-secrets — Secrets management for Kubernetes.
  • tsh-implementing-observability — Monitoring and alerting for workloads.