MA

managing-network-policies

Generates Kubernetes NetworkPolicy manifests to restrict and secure pod communication.

Install

mkdir -p .claude/skills/managing-network-policies && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/4236" && unzip -o skill.zip -d .claude/skills/managing-network-policies && rm skill.zip

Installs to .claude/skills/managing-network-policies

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Execute use when managing Kubernetes network policies and firewall rules.
73 chars✓ has a “when” trigger
Intermediate

Key capabilities

  • Generate Kubernetes NetworkPolicy manifests for zero-trust networking
  • Configure ingress and egress rules using label selectors and CIDR blocks
  • Implement default-deny policies for namespaces
  • Define DNS egress rules for CoreDNS
  • Apply policies to test namespaces and verify connectivity
  • Monitor for blocked traffic in CNI plugin logs

How it works

The skill guides the user through mapping application communication patterns and then generating NetworkPolicy manifests. It emphasizes starting with default-deny policies and adding explicit allow rules for legitimate traffic, including DNS and external access.

Inputs & outputs

You give it
Application communication patterns and desired network segmentation
You get back
Kubernetes NetworkPolicy manifests for ingress and egress, DNS egress policy, and external access policies

When to use managing-network-policies

  • Create zero-trust default-deny network policies
  • Configure ingress and egress rules for pods
  • Restrict service-to-database communication
  • Implement network segmentation in Kubernetes

About this skill

Managing Network Policies

Overview

Create and manage Kubernetes NetworkPolicy manifests to enforce zero-trust networking between pods, namespaces, and external endpoints. Generate ingress and egress rules with label selectors, namespace selectors, CIDR blocks, and port specifications following the principle of least privilege.

Prerequisites

  • Kubernetes cluster with a CNI plugin that supports NetworkPolicy (Calico, Cilium, Weave Net)
  • kubectl configured with permissions to create and manage NetworkPolicy resources
  • Pod labels consistently defined across deployments for accurate selector targeting
  • Service communication map documenting which pods need to talk to which pods on which ports
  • Understanding of DNS requirements (pods need egress to kube-dns on port 53 for name resolution)

Instructions

  1. Map the application communication patterns: identify all service-to-service, service-to-database, and service-to-external connections
  2. Start with a default-deny policy for both ingress and egress in each namespace to establish zero-trust baseline
  3. Add explicit allow rules for each legitimate communication path: specify source pod labels, destination pod labels, and ports
  4. Always include a DNS egress rule allowing traffic to kube-system namespace on UDP/TCP port 53 for CoreDNS
  5. Define egress rules for external API access: use CIDR blocks or namespaceSelector for known external services
  6. Apply policies to a test namespace first and verify connectivity with kubectl exec curl/wget commands
  7. Monitor for blocked traffic in the CNI plugin logs (Calico: calicoctl node status, Cilium: cilium monitor)
  8. Iterate on policies: add missing allow rules for any legitimate traffic that gets blocked
  9. Document each policy with annotations explaining the business reason for the allowed communication

Output

  • Default-deny NetworkPolicy manifests for ingress and egress per namespace
  • Allow-list NetworkPolicy manifests for each service communication path
  • DNS egress policy allowing pod name resolution
  • External access egress policies with CIDR blocks
  • Connectivity test commands for validation

Error Handling

ErrorCauseSolution
All traffic blocked after applying policyDefault-deny applied without corresponding allow rulesApply allow rules before or simultaneously with deny policies; verify with kubectl exec tests
DNS resolution fails after network policyMissing egress rule for kube-dns/CoreDNSAdd egress policy allowing UDP and TCP port 53 to kube-system namespace
Policy not targeting intended podsLabel mismatch between policy selector and pod labelsVerify labels with kubectl get pods --show-labels; match selectors exactly
Traffic still allowed despite deny policyCNI plugin does not support NetworkPolicy or policy in wrong namespaceVerify CNI support with kubectl get networkpolicy -A; ensure policy is in the correct namespace
Intermittent connection failuresPolicy allows traffic but connection pool or timeout settings too aggressiveCheck if the issue is network policy or application-level; test with kubectl exec during failures

Examples

  • "Create a default-deny policy for the production namespace, then add allow rules so only the ingress controller can reach web pods on port 443."
  • "Generate egress policies that restrict the API pods to communicate only with PostgreSQL (port 5432), Redis (port 6379), and external HTTPS APIs."
  • "Build a complete set of network policies for a 3-tier app: frontend -> API (8080), API -> database (5432), API -> cache (6379), all pods -> DNS (53)."

Resources

When not to use it

  • When not using Kubernetes
  • When the CNI plugin does not support NetworkPolicy

Prerequisites

Kubernetes cluster with a CNI plugin that supports NetworkPolicykubectl configured with permissions to create and manage NetworkPolicy resourcesPod labels consistently defined across deploymentsService communication map documenting which pods need to talk to which pods on which ports

Limitations

  • Requires a Kubernetes cluster with a CNI plugin that supports NetworkPolicy
  • Requires `kubectl` configured with appropriate permissions
  • Relies on consistently defined pod labels for accurate selector targeting

How it compares

This skill provides a structured approach to generating Kubernetes NetworkPolicy manifests following least privilege and zero-trust principles, which is more systematic than manually creating policies.

Compared to similar skills

managing-network-policies side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
managing-network-policies (this skill)125dReviewIntermediate
linkerd-patterns65moReviewAdvanced
azure-stack-edge04moNo flagsIntermediate
azure-kubernetes-automatic-readiness02moNo flagsIntermediate

Try saying

Example prompts that trigger this skill in your AI assistant.

More by jeremylongshore

View all by jeremylongshore

analyzing-logs

jeremylongshore

Analyze application logs to detect performance issues, identify error patterns, and improve stability by extracting key insights.

14123

ollama-setup

jeremylongshore

Configure auto-configure Ollama when user needs local LLM deployment, free AI alternatives, or wants to eliminate hosted API costs. Trigger phrases: "install ollama", "local AI", "free LLM", "self-hosted AI", "replace OpenAI", "no API costs". Use when appropriate context detected. Trigger with relevant phrases based on skill purpose.

1167

backtesting-trading-strategies

jeremylongshore

Backtest crypto and traditional trading strategies against historical data. Calculates performance metrics (Sharpe, Sortino, max drawdown), generates equity curves, and optimizes strategy parameters. Use when user wants to test a trading strategy, validate signals, or compare approaches. Trigger with phrases like "backtest strategy", "test trading strategy", "historical performance", "simulate trades", "optimize parameters", or "validate signals".

1071

generating-database-seed-data

jeremylongshore

Process this skill enables AI assistant to generate realistic test data and database seed scripts for development and testing environments. it uses faker libraries to create realistic data, maintains relational integrity, and allows configurable data volumes. u... Use when working with databases or data models. Trigger with phrases like 'database', 'query', or 'schema'.

1033

cursor-codebase-indexing

jeremylongshore

Execute set up and optimize Cursor codebase indexing. Triggers on "cursor index setup", "codebase indexing", "index codebase", "cursor semantic search". Use when working with cursor codebase indexing functionality. Trigger with phrases like "cursor codebase indexing", "cursor indexing", "cursor".

885

testing-mobile-apps

jeremylongshore

Execute mobile app testing on iOS and Android devices/simulators. Use when performing specialized testing. Trigger with phrases like "test mobile app", "run iOS tests", or "validate Android functionality".

810

Search skills

Search the agent skills registry