Skip to content

Instantly share code, notes, and snippets.

@LionelJouin
Last active June 19, 2024 13:44
Show Gist options
  • Save LionelJouin/ae692379fe67d7bf54ada10bffe15ce7 to your computer and use it in GitHub Desktop.
Save LionelJouin/ae692379fe67d7bf54ada10bffe15ce7 to your computer and use it in GitHub Desktop.

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

kubernetes/kubernetes#118376

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment