Claude Skills Guide

Claude Code Kubernetes Ingress Configuration

Kubernetes Ingress configuration remains one of the most challenging aspects of deploying applications to production clusters. Setting up proper routing, TLS termination, path-based rules, and load balancing requires understanding both Kubernetes primitives and your specific cluster’s ingress controller. Claude Code simplifies this process by generating correct configurations, validating syntax, and explaining complex networking concepts when you need them.

This guide covers practical Ingress configuration patterns you can implement immediately, with examples that work across major ingress controllers like nginx-ingress, Traefik, and cloud-provider load balancers.

Understanding Ingress Resources

An Ingress resource defines how external traffic reaches your services. Before writing configurations, ensure your cluster has an ingress controller installed. Claude Code can verify this and recommend appropriate configurations for your environment.

A basic Ingress configuration routes traffic based on host and path rules:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: myapp-ingress
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /
spec:
  ingressClassName: nginx
  rules:
  - host: myapp.example.com
    http:
      paths:
      - path: /api
        pathType: Prefix
        backend:
          service:
            name: api-service
            port:
              number: 80
      - path: /
        pathType: Prefix
        backend:
          service:
            name: web-service
            port:
              number: 80

Claude Code can generate this configuration from a simple description. Ask it to create an Ingress that routes /api to your backend service and / to your frontend, and you’ll receive a properly formatted manifest.

Configuring TLS Termination

Securing traffic with TLS requires a certificate and the appropriate Ingress annotations. Claude Code handles certificate generation through cert-manager automatically, or you can provide existing certificates.

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: secure-ingress
  annotations:
    cert-manager.io/cluster-issuer: letsencrypt-prod
    nginx.ingress.kubernetes.io/ssl-redirect: "true"
spec:
  ingressClassName: nginx
  tls:
  - hosts:
    - myapp.example.com
    secretName: myapp-tls
  rules:
  - host: myapp.example.com
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: web-service
            port:
              number: 80

For environments requiring custom TLS settings, Claude Code can configure specific cipher suites, minimum TLS versions, and certificate verification options through appropriate annotations.

Path-Based and Host-Based Routing

Production applications often require complex routing rules. Claude Code excels at generating configurations that handle multiple services, API versions, or microservices under a single domain.

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: multi-service-ingress
  annotations:
    nginx.ingress.kubernetes.io/proxy-body-size: "50m"
    nginx.ingress.kubernetes.io/proxy-read-timeout: "300"
spec:
  ingressClassName: nginx
  rules:
  - host: api.example.com
    http:
      paths:
      - path: /v1
        pathType: Prefix
        backend:
          service:
            name: api-v1-service
            port:
              number: 8080
      - path: /v2
        pathType: Prefix
        backend:
          service:
            name: api-v2-service
            port:
              number: 8080
  - host: app.example.com
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: frontend-service
            port:
              number: 80

This configuration demonstrates versioned API routing alongside a separate frontend host. Claude Code can generate similar configurations when you describe your routing requirements in plain language.

Load Balancing and Performance Tuning

Ingress controllers provide numerous options for tuning load balancing behavior. These settings matter significantly for applications with specific performance requirements.

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: optimized-ingress
  annotations:
    nginx.ingress.kubernetes.io/upstream-hash-by: "$request_uri"
    nginx.ingress.kubernetes.io/affinity: "cookie"
    nginx.ingress.kubernetes.io/session-cookie-name: "route"
    nginx.ingress.kubernetes.io/session-cookie-expires: "172800"
    nginx.ingress.kubernetes.io/session-cookie-max-age: "172800"
spec:
  ingressClassName: nginx
  defaultBackend:
    service:
      name: default-service
      port:
        number: 80
  rules:
  - host: myapp.example.com
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: app-service
            port:
              number: 80

The affinity configuration ensures sticky sessions using cookies, while upstream hashing provides consistent hashing for cache-friendly load distribution. Claude Code can recommend appropriate settings based on your application’s session requirements.

Working with Claude Code Skills

Several Claude skills enhance Ingress configuration workflows. The kubernetes-mcp-server skill provides direct cluster interaction for applying and verifying Ingress resources. The k6-load-testing skill helps validate Ingress performance under traffic conditions.

For documentation workflows, the pdf skill can generate Ingress configuration guides for team members who need visual references. The frontend-design skill assists when Ingress configurations affect frontend routing behavior.

When managing Ingress across multiple environments, the supermemory skill maintains context about environment-specific configurations, making it easier to track differences between staging and production setups.

The tdd skill proves valuable when writing tests for Ingress-dependent functionality, ensuring your routing rules work as expected before deployment.

Common Configuration Patterns

Claude Code handles several frequently needed Ingress patterns:

** websocket support:

annotations:
  nginx.ingress.kubernetes.io/proxy-read-timeout: "3600"
  nginx.ingress.kubernetes.io/proxy-send-timeout: "3600"

** CORS configuration:

annotations:
  nginx.ingress.kubernetes.io/enable-cors: "true"
  nginx.ingress.kubernetes.io/cors-allow-origin: "https://example.com"
  nginx.ingress.kubernetes.io/cors-allow-methods: "GET, POST, OPTIONS"
  nginx.ingress.kubernetes.io/cors-allow-credentials: "true"

** Rate limiting:

annotations:
  nginx.ingress.kubernetes.io/limit-connections: "50"
  nginx.ingress.kubernetes.io/limit-rps: "100"

Each pattern addresses specific production requirements. Claude Code can explain why each annotation matters and suggest which ones your specific application needs.

Validation and Troubleshooting

Before applying Ingress configurations, validate them using standard Kubernetes tooling:

kubectl apply --dry-run=server -f ingress.yaml
kubectl get ingress
kubectl describe ingress myapp-ingress

Claude Code can generate troubleshooting commands when you’re debugging routing issues. Describe the symptoms—requests returning 404s or timeouts—and receive specific diagnostic steps.

For complex debugging scenarios, the ingress controller’s logs provide detailed information about how requests are being processed. Claude Code can help interpret these logs and identify misconfigurations.

Best Practices

Follow these practices when configuring Ingress with Claude Code assistance:

Claude Code accelerates implementing these practices by generating compliant configurations from your requirements and flagging potential issues before deployment.


Built by theluckystrike — More at zovo.one