Networking Question #019e3a4f
O que é um Service Endpoint do Kubernetes?
É o Endpoint da API do nosso cluster Kubernetes.
É o nome de um Pod especial no namespace kube-system.
É um endereço IP que podemos acessar da Internet.
É um objeto que recebe endereços IP de Pods individuais atribuídos a ele.
Official Explanation / Community Explanations
Um Service Endpoint do Kubernetes é um objeto que recebe endereços IP de Pods individuais atribuídos a ele. No Kubernetes, um Service fornece um endereço IP estável e um nome DNS para um conjunto de Pods. O objeto Service Endpoints (frequentemente referido como Endpoints) é atualizado automaticamente pelo control plane para conter os endereços IP dos Pods que correspondem ao seletor do Service. Quando um Pod é criado ou excluído, os Endpoints são atualizados de acordo. Isso permite que o tráfego enviado ao IP do Service seja balanceado entre os Pods listados nos Endpoints.
Como funciona:
- Um Service é definido com um seletor que corresponde aos labels dos Pods.
- O control plane do Kubernetes monitora continuamente os Pods e atualiza o objeto Endpoints com os endereços IP dos Pods que correspondem ao seletor.
- O componente kube-proxy em cada nó observa os Endpoints e configura regras iptables ou IPVS para encaminhar o tráfego do IP do Service para os IPs dos Pods.
- Isso garante que, mesmo que os Pods sejam reagendados ou escalados, o Service permaneça acessível através de seu IP estável.
Por que a resposta correta está certa:
A afirmação "É um objeto que recebe endereços IP de Pods individuais atribuídos a ele" descreve com precisão o objeto Endpoints. É um recurso de API separado que contém a lista de IPs de Pods para um determinado Service.
Por que as respostas incorretas estão erradas:
- "É o Endpoint da API do nosso cluster Kubernetes" está incorreto porque o endpoint da API se refere à URL usada para acessar o servidor da API do Kubernetes, não a um Service Endpoint.
- "É o nome de um Pod especial no namespace kube-system" está incorreto porque não existe um Pod especial chamado "Service Endpoint"; os Endpoints são objetos da API, não Pods.
- "É um endereço IP que podemos acessar da Internet" está incorreto porque um Service Endpoint não é um único endereço IP; é uma coleção de IPs de Pods, e pode ou não ser acessível da Internet dependendo do tipo de Service (por exemplo, NodePort, LoadBalancer).