Todos os produtos
Search
Central de documentação

Container Compute Service:Use unmanaged CoreDNS in an ACS cluster

Última atualização: Jun 29, 2026

Em cenários específicos, é necessário gerencie e manter o CoreDNS manualmente devido a requisitos de negócios altamente personalizados. Os clusters do Alibaba Cloud Container Compute Service (ACS) oferecem suporte ao CoreDNS não gerenciado, o que permite aplicar configurações personalizadas. Este tópico descreve como usar o plug-in CoreDNS não gerenciado em um cluster ACS.

Pré-requisitos

  • Crie um cluster ACS. Para mais informações, consulte Criar um cluster ACS. Se o plug-in CoreDNS já estiver instalado no cluster ACS, desinstale a versão gerenciada seguindo o procedimento de instalação descrito neste tópico.

  • Ao criar um novo cluster, acesse Component Configurations > Service Discovery e selecione Disable.

Importante
  • O plug-in CoreDNS não gerenciado é um plug-in padrão de código aberto. Você é responsável pelos custos de recursos e pela operação e manutenção (O&M) do componente, além de resolver quaisquer problemas que surjam durante seu uso.

  • Por padrão, o modelo de plug-in fornecido pelo ACS usa o mecanismo de anti-afinidade para distribuir pods entre zonas. Se você configurar apenas uma zona para o ACS, somente uma réplica do CoreDNS será executada conforme esperado. Recomendamos configurar múltiplas zonas para garantir recuperação de desastres e alta disponibilidade.

Procedimento de instalação

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

  2. Na página Clusters, clique no nome do cluster desejado. No painel de navegação à esquerda, clique em Add-ons.

  3. (Opcional) Na aba Networking, localize o CoreDNS (com o rótulo Managed) e clique em Uninstall. Se o CoreDNS (Managed) não aparecer na lista de componentes, ignore esta etapa.

    Aviso

    A desinstalação do CoreDNS (Managed) torna o recurso de resolução de Domain Name System (DNS) do cluster indisponível. Certifique-se de que não há tráfego de negócios ativo no cluster antes de prosseguir com a desinstalação.

  4. Ainda na aba Networking, localize o CoreDNS (sem o rótulo Managed) e clique em Install.

  5. Configure os parâmetros conforme suas necessidades. Após confirme as definições, clique em OK para instale o componente.

    Importante

    Se você não defina o parâmetro CpuRequest durante a instalação, o pod correspondente no cluster ACS terá apenas 250m de recursos de CPU disponíveis. Defina um valor adequado para CpuRequest para evitar exceções no cluster causadas por sobrecarga no pod.

    O formulário de configuração inclui os seguintes parâmetros: MemoryRequest (padrão: 100Mi), CpuRequest (padrão: 100m), MemoryLimit (padrão: 2Gi) e CpuLimit (padrão: vazio). Para NodeSelector, a chave padrão é kubernetes.io/os e o valor é linux. O campo Tolerations vem vazio por padrão e pode ser ajustado conforme necessário.

  6. Conecte-se ao cluster via kubectl e execute o comando abaixo para consultar o pod:

    kubectl get po -n kube-system|grep coredns

    Saída esperada:

    NAMESPACE     NAME                       READY   STATUS    RESTARTS   AGE
    kube-system   coredns-85dc775876-sh558   1/1     Running   0          3m35s
    kube-system   coredns-85dc775876-xzcpp   1/1     Running   0          3m35s

    O início do pod CoreDNS indica que o plug-in não gerenciado foi instalado com sucesso.

  7. Para verificar se a resolução de DNS funciona corretamente, execute o seguinte comando dentro de um pod no cluster ACS:

    nslookup kubernetes

    Saída esperada:

    Server:         10.0.0.10
    Address:        10.0.0.10#53
    Name:   kubernetes.default.svc.cluster.local
    Address: 10.0.0.1

    Essa saída confirma que a resolução de nomes de domínio foi bem-sucedida e que o CoreDNS opera normalmente.

Configurações personalizadas do CoreDNS

Personalize o comportamento do CoreDNS edite as configurações do Corefile, armazenadas no cluster ACS como um ConfigMap. Modifique diretamente o conteúdo do Corefile para ajustar o funcionamento do serviço. Exemplo:

  1. Execute o comando a seguir para edite as configurações do Corefile do CoreDNS:

    kubectl -n kube-system edit cm coredns
  2. Altere as configurações do Corefile tomando como base o conteúdo abaixo:

    Corefile: |
      .:53 {
          errors
          health {
             lameduck 15s
          }
          ready
          kubeapi
          k8s_event {
            level info error warning
          }
          kubernetes cluster.local in-addr.arpa ip6.arpa {
            pods verified
            ttl 30
            fallthrough in-addr.arpa ip6.arpa
          }
          prometheus :9153
          # forward . /etc/resolv.conf {
          # Change the forward DNS server from the default in resolv.conf to 192.168.1.10.
          forward . 192.168.1.10 {
            prefer_udp
          }
          cache 30
          log
          loop
          reload
          loadbalance
      }

    Após a modificação, o CoreDNS encaminhará automaticamente nomes de domínio externos ao cluster para o servidor DNS com endereço IP 192.168.1.10. Altere esse endereço IP conforme as necessidades do seu ambiente.

Referências