CloudsArk
Basics and Core Concepts Kubernetes

Kubernetes Service Vs Ingress

Learn practical kubernetes service vs ingress with kubectl commands, manifests, verification steps, common mistakes, and production-focused guidance.

Kubernetes Service Vs Ingress

Introduction

This guide explains kubernetes service vs ingress with practical kubectl commands, realistic output, and production-focused checks. The goal is to connect the concept to what you can observe with kubectl in a real cluster.

What It Means

In Kubernetes, this topic is part of the desired-state model: users submit objects to the API server, controllers reconcile actual state, and kubelets run containers on nodes.

Why It Matters

Understanding kubernetes service vs ingress helps you troubleshoot faster because you know which object owns the behavior: pod, workload controller, service, node, scheduler, kubelet, or storage object.

Key Commands

kubectl get svc,endpoints -A
kubectl describe svc web -n app
kubectl get ingress -A
kubectl run curl --rm -it --image=curlimages/curl --restart=Never -- curl -I http://web.app.svc.cluster.local
kubectl get events -n app --sort-by=.lastTimestamp

Expected output:

NAME          TYPE        CLUSTER-IP    EXTERNAL-IP   PORT(S)   AGE
service/web   ClusterIP   10.96.42.10   <none>        80/TCP    2d

Example Manifest

apiVersion: v1
kind: Service
metadata:
  name: web
  namespace: app
spec:
  selector:
    app: web
  ports:
  - port: 80
    targetPort: 8080

How to Verify It

kubectl get all -n app
kubectl describe deployment web -n app
kubectl get events -n app --sort-by=.lastTimestamp

Common Mistakes

  • Memorizing definitions without checking the real object relationships.
  • Confusing desired state in the manifest with actual state running on nodes.
  • Ignoring namespace, labels, and owner references when tracing resources.

Quick Checklist

  • Identify the Kubernetes object involved.
  • Check owner references and labels.
  • Read events for reconciliation errors.
  • Verify actual pods, endpoints, or node placement.

Summary

Kubernetes Service Vs Ingress is easiest to understand through live objects. Use kubectl to connect the concept to manifests, events, controllers, and running pods.