Neste documento, mostramos como configurar as opções de provedor do Sistema de Nomes de Domínio (DNS)
no GKE em Bare Metal. A configuração de DNS de um cluster é mantida em um recurso personalizado de ClusterDNS
chamado default
. Este recurso está disponível em todo o cluster. Ou seja, sem
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
como quiser. 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.0.1
- name: my-own-personal-domain.com
- serverIP: 203.0.113.1
- serverIP: 203.0.113.2
serverPort: 54
googleAccess: default
Salve o manifesto em um arquivo chamado my-dns.yaml
e aplique o recurso ao
cluster:
kubectl --kubeconfig KUBECONFIG apply -f my-dns.yaml
Substitua KUBECONFIG
pelo caminho para o arquivo Kubeconfig do cluster
de usuário.
Ver o recurso ClusterDNS
Para ver o recurso ClusterDNS:
kubectl --kubeconfig KUBECONFIG get clusterdns default --output yaml
Substitua 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
Especifique os servidores de nomes upstream padrão com uma matriz de objetos, cada um com um endereço IP e, opcionalmente, uma porta do servidor. O valor padrão da porta do servidor é 53. Solicitações para domínios que não são de cluster são encaminhadas para essa matriz de endereços de servidor por padrão.
Veja um exemplo de configuração 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/resolve.conf
no nó para encontrar a lista de
servidores de nomes upstream.
spec.domains
Configuração para domínios específicos. Use esta seção 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 a geração de registros de consultas para qualquer domínio especificado ou o domínio do cluster, cluster.local.
Exemplo:
spec:
domains:
- name: altostrat.com
nameservers:
- serverIP: 203.0.113.1
- name: my-own-personal-domain.com
nameservers:
- serverIP: 198.51.100.1
- serverIP: 198.51.100.2
serverPort: 50000
- name: cluster.local
queryLogging: true
spec.googleAccess
Enumeração (private
, restricted
ou default
). 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 campogoogleAccess
tem 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
Se você quiser mais informações, consulte Como configurar o Acesso privado do Google para hosts locais.