Create a deployment + a ClusterIP service selecting the pod
cat <<EOF | kubectl apply -f -
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: demo-pod
labels:
app: demo-pod
spec:
replicas: 2
selector:
matchLabels:
app: demo-pod
template:
metadata:
labels:
app: demo-pod
spec:
containers:
- name: alpine
image: alpine:latest
imagePullPolicy: IfNotPresent
command:
- sleep
- infinity
---
apiVersion: v1
kind: Service
metadata:
name: demo-service
labels:
service: demo-service
spec:
selector:
app: demo-pod
type: ClusterIP
ports:
- protocol: TCP
port: 5000
targetPort: 5000
EOF
Check the endpointslices:
$ kubectl get endpointslice
NAME ADDRESSTYPE PORTS ENDPOINTS AGE
demo-service-2frv9 IPv4 5000 10.244.1.3,10.244.2.3 9s
Update this service by removing the selector:
cat <<EOF | kubectl apply -f -
---
apiVersion: v1
kind: Service
metadata:
name: demo-service
labels:
service: demo-service
spec:
type: ClusterIP
ports:
- protocol: TCP
port: 5000
targetPort: 5000
EOF
Check the emdpointslices:
$ kubectl get endpointslice
NAME ADDRESSTYPE PORTS ENDPOINTS AGE
demo-service-2frv9 IPv4 5000 10.244.1.3,10.244.2.3 37s
demo-service-tn7zt IPv4 5000 10.244.1.3,10.244.2.3 3s