# 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
...