kubernetes-deployment

SkillWeb & browsing

Deep knowledge about deploying applications to Kubernetes clusters using kubectl, helm, and manifests.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the kubernetes-deployment skill

What this skill tells your AI

The instructions your AI receives, as published by porcupine-md/anoa-browser in .claude/skills/library/deploy/kubernetes/SKILL.md and read by ahel’s review.

Context

Deploying {{project_name}} ({{project_type}}) to Kubernetes. You will follow a strict 6-phase Deployment Lifecycle Contract.

Instructions

Execute the following phases in order:

Phase 1: Authentication

  1. Ensure the KUBECONFIG environment variable is set to a valid configuration file, or the configuration is located in ~/.kube/config.
  2. Authenticate to the cluster (if using cloud providers like AWS EKS or GCP GKE, use their respective commands: aws eks update-kubeconfig or gcloud container clusters get-credentials).
  3. Verify access by running kubectl cluster-info and kubectl get nodes.

Phase 2: Build

  1. Prepare the artifacts for deployment.
  2. Build your Docker image: docker build -t <registry>/<image-name>:<tag> .
  3. Push the image to your container registry (DockerHub, GHCR, ECR, GCR): docker push <registry>/<image-name>:<tag>

Phase 3: Install / Provisioning

  1. Ensure the target Kubernetes namespace exists: kubectl create namespace <namespace> (if it doesn't exist).
  2. Create or update necessary ConfigMaps and Secrets: kubectl apply -f k8s/configmap.yaml or use kubectl create secret generic.
  3. If using Helm, ensure the Helm chart dependencies are updated: helm dependency update <chart-dir>.

Phase 4: Deploy

  1. Ship the artifact to Kubernetes.
  2. Using raw manifests: Update the image tag in your Deployment YAML, then run kubectl apply -f k8s/.
  3. Using Kustomize: kustomize build k8s/ | kubectl apply -f -.
  4. Using Helm: helm upgrade --install <release-name> <chart-dir> --namespace <namespace> --set image.tag=<tag>.

Phase 5: Checking

  1. Verify the deployment was successful.
  2. Check the rollout status: kubectl rollout status deployment/<deployment-name> -n <namespace>. This command will block until the deployment is successful or fails.
  3. Check pod status if there are issues: kubectl get pods -n <namespace>.
  4. Inspect pod logs if they are crashing: kubectl logs -l app=<app-label> -n <namespace>.
  5. Curl the service or ingress URL if available externally.

Phase 6: Update / Rollback

  1. If Phase 5 fails (e.g., rollout gets stuck or pods crashloop), immediately initiate a rollback.
  2. Using kubectl: kubectl rollout undo deployment/<deployment-name> -n <namespace>.
  3. Using Helm: helm rollback <release-name> -n <namespace>.
  4. Note the failure in the progress log.

Validation

  • Cluster authentication (kubectl cluster-info) succeeds.
  • Docker image builds and pushes successfully.
  • Kubernetes rollout status is successful.
  • Pods are running and healthy.

Signals

GitHub stars
23
Forks
2
Last commit
Sep 2026

ahel review

  • S4info
    community integration — published by porcupine-md, not kubernetes

Automated review, not a security audit. Ruleset v1+k2.

Advanced
Catalog kind
skill
Gateway key
kubernetes-deployment-porcupine-md
Source
github.com/porcupine-md/anoa-browser