Todos os produtos
Search
Central de documentação

Container Service for Kubernetes:Expose an application with an existing SLB instance

Última atualização: Oct 12, 2026

Associe um CLB ou NLB existente a um LoadBalancer Service para manter um IP fixo ou compartilhar o balanceador entre vários Services.

Para acesso externo ao cluster, utilize <SLB-IP>:<Service port> ou o nome de domínio do SLB. Para acesso interno, use <Service name>:<Service port>.

Pré-requisitos

Verifique os seguintes requisitos:

Importante

Se você planeja reutilizar uma instância SLB existente, não selecione Install Ingresses durante a criação do cluster. Especifique a instância manualmente depois. Consulte Use an existing CLB instance e Use an existing NLB instance.

Observações de uso

O gerenciamento de listeners depende da versão do cloud-controller-manager, e algumas instâncias SLB não podem ser reutilizadas.

Comportamento dos listeners por versão do cloud-controller-manager

A configuração dos listeners varia conforme a versão do cloud-controller-manager:

  • v1.9.3.59-ge3bc999-aliyun e posteriores: o cloud-controller-manager não configura listeners por padrão. Adicione service.beta.kubernetes.io/alibaba-cloud-loadbalancer-force-override-listeners: "true" para permitir que o ACK gerencie os listeners ou configure-os manualmente.

  • Anteriores à v1.9.3.59-ge3bc999-aliyun: o cloud-controller-manager cria e gerencia grupos de servidores backend, associando todos os listeners — inclusive os configurados manualmente — a esses grupos.

Verificar a versão do cloud-controller-manager

  • Console: No ACK console, acesse a página Operations > Add-ons do seu cluster. Na aba Core Components, verifique a versão do Cloud Controller Manager.

  • kubectl (apenas clusters dedicados ACK):

    kubectl delete service my-nginx-svc

Limites de uso

Implantar uma aplicação

Implante uma aplicação NGINX stateless como backend do LoadBalancer Service.

Usar o ACK console

  1. Faça login no ACK console. No painel de navegação à esquerda, clique em Clusters.

  2. Na página Clusters, clique no nome do seu cluster. No painel esquerdo, escolha Workloads > Deployments.

  3. Na página Deployments, clique em Create from Image e configure o Deployment:

    1. Na página Basic Information, defina Name como my-nginx e clique em Next.

    2. Na página Container, configure a imagem e a porta:

      Parâmetro

      Valor

      Image Name

      Clique em Select images. Na aba Artifact Center, pesquise por nginx e selecione openanolis/nginx. Clique em Select Image Tag, defina uma tag e clique em Confirm.

      Port

      Nome: nginx, Porta do contêiner: 80

    3. Na página Advanced, mantenha os padrões e clique em Create.

Usar kubectl

  1. Crie um arquivo chamado my-nginx.yaml com o seguinte conteúdo:

    kubectl delete service my-nginx-svc
  2. Implante a aplicação:

    kubectl delete service my-nginx-svc
  3. Verifique se o Deployment está pronto:

    kubectl delete service my-nginx-svc

    Saída esperada:

    kubectl delete service my-nginx-svc

Criar um LoadBalancer Service

Aponte o Service para sua instância SLB existente para rotear tráfego externo aos pods NGINX.

Usar o ACK console

  1. Faça login no ACK console. No painel de navegação à esquerda, clique em Clusters.

  2. Na página Clusters, clique no nome do seu cluster. No painel esquerdo, escolha Network > Services.

  3. Na página Services, clique em Create. Na caixa de diálogo Create Service, configure estes parâmetros:

    Parâmetro

    Descrição

    Exemplo

    Name

    Nome do Service

    my-nginx-svc

    Service Type

    Selecione LoadBalancer, defina SLB Type como CLB e selecione Use Existing Resource. Escolha uma instância CLB. Para instâncias sem listeners, ative Create port listener.

    SLB > CLB > Use Existing Resource

    External Traffic Policy

    Local roteia tráfego apenas para pods no nó atual. Cluster roteia tráfego para pods em todos os nós.

    Local

    Backend

    A aplicação a ser associada ao Service

    Nome: app, Valor: nginx

    Port Mapping

    Mapeia a porta do Service para a porta do contêiner

    Porta do Service: 80, Porta do contêiner: 80, Protocolo: TCP

    Annotations

    Adicione annotations para configurar a instância SLB. Consulte Use annotations to configure CLB instances e Use annotations to configure NLB instances.

    N/A

  4. Clique em OK. Clique no nome do Service para abrir os detalhes e, em seguida, clique no External IP (por exemplo, 39.106.XX.XX:80) para verificar o acesso.

    image

Usar kubectl

  1. Crie um arquivo chamado my-nginx-svc.yaml com o seguinte conteúdo:

    Campo

    Descrição

    metadata.annotations

    alibaba-cloud-loadbalancer-id: o ID da instância SLB existente. alibaba-cloud-loadbalancer-force-override-listeners: 'true': permite que o ACK gerencie os listeners. Omita para manter a configuração existente dos listeners.

    spec.selector

    Seleciona os pods que receberão tráfego. Deve corresponder ao matchLabels no Deployment (app: nginx).

    spec.ports.port

    A porta exposta no IP do cluster. Acesso dentro do cluster via clusterIP:port.

    spec.ports.targetPort

    A porta do pod backend. O kube-proxy encaminha o tráfego de port para targetPort.

    kubectl delete service my-nginx-svc
  2. Aplique o Service:

    kubectl delete service my-nginx-svc
  3. Confirme se o Service possui um IP externo:

    kubectl delete service my-nginx-svc

    Saída esperada:

    kubectl delete service my-nginx-svc
  4. Acesse a aplicação:

    kubectl delete service my-nginx-svc

    Saída esperada:

    kubectl delete service my-nginx-svc

Gerenciar Services

Usar o ACK console

  1. Faça login no ACK console. No painel de navegação à esquerda, clique em Clusters.

  2. Na página Clusters, clique no nome do seu cluster. No painel esquerdo, escolha Network > Services.

  3. Na página Services, clique no nome de um Service para visualizar detalhes ou clique em Update ou Delete na coluna Actions.

Usar kubectl

Atualizar um Service

kubectl delete service my-nginx-svc

Ou edite my-nginx-svc.yaml e reaplique:

kubectl delete service my-nginx-svc

Visualizar um Service

kubectl delete service my-nginx-svc

Saída esperada:

kubectl delete service my-nginx-svc

Excluir um Service

kubectl delete service my-nginx-svc

Referência de configuração do CLB

Configure estes parâmetros ao criar ou reutilizar uma instância CLB no ACK console.

Criar uma nova instância CLB

Parâmetro

Descrição

Name

Nome da instância CLB

Access Method

Public Access ou Internal Access

Billing Method

Pay-by-specification ou Pay-as-you-go (Pay-by-CU). Consulte CLB billing.

IP Version

IPv4 ou IPv6

Scheduling Algorithm

Round Robin (RR) (padrão): distribui solicitações sequencialmente. Weighted Round Robin (WRR): servidores com maior peso recebem mais solicitações.

Access Control

Ative ou desative o controle de acesso no nível do listener. Consulte Access control.

Health Check

TCP ou HTTP. Consulte CLB health checks.

Others

Configure com annotations. Consulte Use annotations to configure CLB instances.

Usar uma instância CLB existente

Selecione a instância e, opcionalmente, ative Create port listener. Consulte Use an existing CLB instance and forcefully overwrite the listeners of the CLB instance.

Importante

Revise os limites de uso antes de reutilizar um CLB. Consulte Usage notes em "Considerations for configuring a LoadBalancer Service."

Configurações avançadas

Parâmetro

Descrição

Scheduling Algorithm

Round Robin (RR) (padrão) ou Weighted Round Robin (WRR)

Access Control

Ativar ou desativar o controle de acesso do listener

Health Check

TCP ou HTTP. Consulte CLB health checks.

Others

Configure com annotations. Consulte Use annotations to configure CLB instances.

Referência de configuração do NLB

Configure estes parâmetros ao criar ou reutilizar uma instância NLB no ACK console.

Criar uma nova instância NLB

Parâmetro

Descrição

Name

Nome da instância NLB

Access Method

Public Access ou Internal Access

Billing Method

Pay-as-you-go (Pay-by-CU). Consulte NLB billing.

IP Version

IPv4 ou Dual-stack

Scheduling Algorithm

Round-Robin: distribui sequencialmente. Weighted Round-Robin (padrão): servidores com maior peso recebem mais solicitações. Source IP Hashing: mesmo IP de origem roteia para o mesmo servidor. Four-Element Hashing: roteia por IP de origem, IP de destino, porta de origem e porta de destino. QUIC ID Hashing: mesmo QUIC ID roteia para o mesmo servidor. Weighted Least Connections: roteia por peso e contagem de conexões.

Health Check

  • TCP (padrão): sonda SYN. Configure Health Check Response Timeout, Health Check Interval, Healthy Threshold e Unhealthy Threshold.

  • HTTP: sonda HEAD/GET. Configure Domain Name (Backend Server Internal IP ou Custom Domain Name), Path e Health Check Status Codes (http_2xx, http_3xx, http_4xx, http_5xx; padrão: http_2xx).

VPC

Região da VPC e ID da VPC do cluster

Vswitch

Selecione um vSwitch em uma zona suportada ou crie um novo

Others

Configure com annotations. Consulte Use annotations to configure NLB instances.

Usar uma instância NLB existente

Selecione a instância e, opcionalmente, ative Create port listener. Consulte Use an existing NLB instance.

Importante

Revise os limites de uso antes de reutilizar um NLB. Consulte Usage notes em "Considerations for configuring a LoadBalancer Service."

Configurações avançadas

Parâmetro

Descrição

Scheduling Algorithm

Mesmas opções da tabela de criação de instância NLB acima

Health Check

Mesmas opções da tabela de criação de instância NLB acima

VPC

Região da VPC e ID da VPC do cluster

Vswitch

Selecione um vSwitch em uma zona suportada ou crie um novo

Others

Configure com annotations. Consulte Use annotations to configure NLB instances.

Próximos passos