---
# System prepended metadata

title: 'Title: What is a Kuberentes Endpoint, Anyway ?'

---

# Title: What is a Kuberentes Endpoint, Anyway ?

# Authors: Pallavi Jaini, Jay Vyas, Amim Knabben

https://github.com/kubernetes/kubernetes/issues/107927 <-- interesting bug w/ endpointSlice Controller when nodes dissapear  ? 

# What is an Endpoint "Slice" ?

When kubernetes process the service description and if the service selector matches a pod label, kuberentes automatically creates the endpoints object with same name as service.

Taking a look at a fresh cluster, you might notice that there are both endpoints, and endpoint slices for your services:

```
~  kubectl get services -A
NAMESPACE     NAME         TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)                  AGE
default       kubernetes   ClusterIP   10.96.0.1      <none>        443/TCP                  9h
kube-system   antrea       ClusterIP   10.96.40.142   <none>        443/TCP                  9h
kube-system   kube-dns     ClusterIP   10.96.0.10     <none>        53/UDP,53/TCP,9153/TCP   9h
```

```
~  kubectl get endpoints -A
NAMESPACE            NAME                    ENDPOINTS                                            AGE
default              kubernetes              172.19.0.7:6443                                      9h
kube-system          antrea                  172.19.0.5:10349                                     9h
kube-system          kube-dns                10.10.0.2:53,10.10.0.3:53,10.10.0.2:53 + 3 more...   9h
```

The same services have corresponding...
```
-> % kubectl get endpointslices -A
NAMESPACE     NAME             ADDRESSTYPE   PORTS        ENDPOINTS             AGE
default       kubernetes       IPv4          6443         172.18.0.2            2m35s
kube-system   antrea-gllz8     IPv4          10349        172.18.0.3            78s
kube-system   kube-dns-sfk96   IPv4          9153,53,53   10.10.0.2,10.10.0.3   2m19s
```

When do endpointSlices get made? (look at maxEpPerSlice, will that result in more epslices???)

The control plane automatically creates EndpointSlices for any Kubernetes Service that has a selector specified.

How can we configure it?

Why would we configure it ?

## History 


# what happens when an endpoint is created? 

- Sequence diagram
- ...

# What is the difference between and endpoint and a pod

...

# how do endpointSlice controllers work ? 

# how does the kube-proxy deal w/ endpoints and endpointSlices?

# how does KPNG deal w/ endpoints, endpointSlices? 

# how do Nodes respond to changing endpoints in a cluster

# What about CNI providers ?

## NetworkPolicies ?
...
## CNI based proxying 
...
