Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Central de ajuda/ Cloud Container Engine/ Perguntas frequentes/ Carga de trabalho/ Outros/ O que é um Serviço headless quando criar um StatefulSet?
Atualizado em 2025-05-23 GMT+08:00

O que é um Serviço headless quando criar um StatefulSet?

O serviço de descoberta entre pods do CCE corresponde ao Serviço headless do Kubernetes. Serviços sem cabeçalho especificam None para o IP do cluster (spec:clusterIP) em YAML, o que significa que nenhum IP do cluster está alocado.

Diferenças entre Serviços headless e Serviços comuns

  • Serviços comuns:

    Um Serviço pode ser apoiado por vários pontos de extremidade (pods). Um cliente acessa o endereço IP do cluster e a solicitação é encaminhada para o servidor real usando iptables ou IPVS para implementar o balanceamento de carga. Por exemplo, um Serviço tem dois pontos de extremidade, mas apenas o endereço do serviço é retornado durante a consulta de DNS. O iptables ou IPVS determina o servidor real que o cliente acessa. O cliente não pode acessar o ponto de extremidade especificado.

  • Serviços headless:

    Quando um Serviço sem cabeça é acessado, o ponto de extremidade real (endereços IP do pod) é retornado. O Serviço headless aponta diretamente para cada ponto de extremidade, ou seja, cada pod tem um nome de domínio do DNS. Desta forma, os pods podem acessar uns aos outros, alcançando a descoberta e o acesso entre pods.

Cenários de aplicação de Serviço headless

Se não houver diferença entre vários pods de uma carga de trabalho, você poderá usar um Serviço comum e usar o kube-proxy de cluster para implementar o balanceamento de carga, por exemplo, uma implementação do Nginx.

No entanto, em alguns cenários de aplicações, os pods de uma carga de trabalho têm funções diferentes. Por exemplo, em um cluster do Redis, cada pod do Redis é diferente. Eles têm uma relação principal/secundária e precisam se comunicar uns com os outros. Nesse caso, um Serviço comum não pode acessar um pod especificado por meio do endereço IP do cluster. Portanto, você precisa definir o Serviço headless para acessar diretamente o endereço IP real do pod para implementar o acesso mútuo entre os pods.

Os Serviços headless funcionam com o StatefulSet para implementar aplicações Stateful, como Redis e MySQL.