ClusterIP – Kubernetes

ClusterIP – Kubernetes

ClusterIP –> The default service type, accessible only within the cluster. It’s used for internal communication between services.
For example, communication between the front-end and back-end components of your application.

Create a 3 file

nginx-pod.yml
nginx-deployment.yml
nginx-svc.yml

apiVersion: v1
kind: Pod
metadata:
name: nginx-pod
spec:
containers:
– image: nginx
name: nginx-ctr

Execute the pod

kubectl apply -f nginx-pod.yml
kubectl get pods

Get the pod full details

kubectl get pods -o wide

Create a deployment file

apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
replicas: 2
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
– image: nginx
name: nginx-ctr

Execute the deployment file

kubectl apply -f nginx-deployment.yml
kubectl get pods

Create a service file

apiVersion: v1
kind: Service
metadata:
name: nginx-svc
spec:
selector:
app: nginx
ports:
– name: nginx-port
protocol: TCP
port: 32767
targetPort: 80

Get the full information on pods

kubectl get all

Get the pod IP address

kubectl get pods -o wide (or)
kubectl get endpoints

POD → 1

POD → 2

Login to the container and change the Nginx file

kubectl -it exec nginx-deployment-7bb9945d7c-75nc5 — /bin/sh

Get the services IP

kubectl get svc

Automatically load balancing selected

Accessible only within the cluster → ClusterIP → Internal load balancer.

Cluster IP service identifies pods using the selector → How pods are identified.

Target port helps in identifying pod port → how port is identified.

Please follow and like us:
Pin Share