Neste documento, mostramos como configurar as opções de provedor do Sistema de Nomes de Domínio (DNS) para o Google Distributed Cloud Connected. A configuração de DNS de um cluster é mantida em um recurso personalizado de ClusterDNS chamado default. Esse recurso está disponível em todo o cluster, o que significa que ele não tem namespace. O recurso personalizado do ClusterDNS se aplica a todos os tipos de cluster.
Criar o recurso ClusterDNS
Crie um manifesto para um recurso ClusterDNS chamado default. Preencha o spec para configurar as definições de recursos desejadas. Exemplo:
apiVersion: networking.gke.io/v1alpha1
kind: ClusterDNS
metadata:
name: default
spec:
upstreamNameservers:
- serverIP: 8.8.8.8
- serverIP: 8.8.4.4
domains:
- name: altostrat.com
nameservers:
- serverIP: 198.51.100.1
- name: my-own-personal-domain.com
nameservers:
- serverIP: 203.0.113.1
- serverIP: 203.0.113.2
serverPort: 54
googleAccess: default
Para salvar o manifesto em um arquivo chamado my-dns.yaml e aplicar o recurso ao cluster, execute o seguinte comando:
kubectl --kubeconfig KUBECONFIG apply -f my-dns.yamlSubstitua KUBECONFIG pelo caminho para o arquivo Kubeconfig do cluster de usuário.
Ver o recurso ClusterDNS
Para ver o recurso ClusterDNS, execute o seguinte comando:
kubectl --kubeconfig KUBECONFIG get clusterdns default --output yamlSubstitua KUBECONFIG pelo caminho para o arquivo Kubeconfig do cluster de usuário.
Especificação do ClusterDNS
As seções a seguir descrevem as partes da definição de recurso personalizado do ClusterDNS usada para configurar o DNS nos clusters. Atualize o recurso ClusterDNS de um cluster a qualquer momento.
spec.upstreamNameservers
Use o campo spec.upstreamNameservers para especificar os servidores de nomes upstream padrão com uma matriz de objetos. Cada objeto tem um endereço IP de servidor e, opcionalmente, uma porta de servidor. O valor padrão da porta do servidor é 53.
Por padrão, as solicitações de domínios que não são de cluster são encaminhadas para esse conjunto de servidores.
Confira um exemplo de configuração de upstreamNameservers:
spec:
upstreamNameservers:
- serverIP: 8.8.8.8
- serverIP: 1.2.3.4
serverPort: 54
Se você não especificar nenhum valor para upstreamNameservers, o provedor de DNS usará o arquivo /etc/resolv.conf no nó para encontrar a lista de servidores de nomes upstream.
spec.domains
Use o campo spec.domains para configurar diferentes servidores de nomes upstream para determinados domínios. Essas configurações de servidor de nomes específicas do domínio modificam a configuração em upstreamNameservers.
Também é possível ativar o registro de consultas de um domínio. É possível ativar o registro de consultas para qualquer domínio especificado ou o domínio do cluster, cluster.local.
Confira um exemplo de configuração de spec.domains:
spec:
domains:
- name: altostrat.com
nameservers:
- serverIP: 198.51.100.1
- name: my-own-personal-domain.com
nameservers:
- serverIP: 203.0.113.1
- serverIP: 203.0.113.2
serverPort: 50000
- name: cluster.local
queryLogging: true
spec.googleAccess
O campo spec.googleAccess é uma string que especifica como tratar os domínios do Google. Os valores googleAccess especificam o seguinte comportamento:
default: nenhum tratamento especial para os domínios do Google. Remover o campogoogleAccesstem o mesmo efeito.private: resolve domínios do Google apenas para endereços IP de acesso privado.restricted: resolve domínios do Google apenas para endereços IP de acesso restrito.
O exemplo de configuração a seguir resolve apenas domínios do Google para endereços IP de acesso particular:
spec:
googleAccess: private
Para mais informações, consulte Configurar o Acesso privado do Google para hosts locais.