Como configuro um encaminhador condicional em um cluster do Amazon EKS usando o CoreDNS?

2 minuto de leitura
0

Quero usar o CoreDNS para configurar um encaminhador condicional no meu cluster do Amazon Elastic Kubernetes Service (Amazon EKS).

Breve descrição

Com o CoreDNS, é possível encaminhar para um servidor DNS personalizado todas as consultas ao DNS enviadas a um domínio específico. Para mais informações, consulte Customizing DNS Service (Personalizando o Serviço DNS) no site do Kubernetes.

Importante: aplique as modificações a seguir somente ao CoreDNS autogerenciado. Para alterar as configurações do complemento CoreDNS do Amazon EKS, saiba quais configurações o Amazon EKS gerencia conferindo a página Gerenciamento de campos do Amazon EKS. Verifique a configuração do complemento antes de fazer qualquer alteração. Modificar um campo gerenciado pelo Amazon EKS impede que o serviço gerencie o complemento, e suas alterações podem ser substituídas quando um complemento for atualizado.

Resolução

1.    Modifique o ConfigMap do CoreDNS e adicione a configuração do encaminhador condicional:

$ kubectl -n kube-system edit configmap coredns

Saída:

apiVersion: v1
kind: ConfigMap
metadata:
  annotations:
  labels:
    eks.amazonaws.com/component: coredns
    k8s-app: kube-dns
  name: coredns
  namespace: kube-system
data:
  Corefile: |
    .:53 {
        errors
        health
        kubernetes cluster.local in-addr.arpa ip6.arpa {
          pods insecure
          fallthrough in-addr.arpa ip6.arpa
        }
        prometheus :9153
        forward . /etc/resolv.conf
        cache 30
        loop
        reload
        loadbalance
    }
    domain-name:53 {
        errors
        cache 30
        forward . custom-dns-server
        reload
    }

Observação: substitua domain-name pelo nome de domínio desejado. Substitua custom-dns-server pelo endereço IP do servidor DNS personalizado.

2.    Verifique se a resolução do nome de domínio funciona:

$ kubectl run busybox --restart=Never --image=busybox:1.28 -- sleep 3600
$ kubectl exec busybox -- nslookup domain-name

Observação: substitua domain-name pelo nome de domínio desejado.


AWS OFICIAL
AWS OFICIALAtualizada há 3 anos