Este documento mostra como configurar as opções do fornecedor do Sistema de Nomes de Domínio (DNS) para o Google Distributed Cloud. A configuração de DNS de um cluster é mantida num recurso personalizado ClusterDNS
denominado default
. Este recurso é ao nível do cluster, ou seja, não tem espaço de nomes. O recurso personalizado ClusterDNS aplica-se a todos os tipos de clusters.
Crie o recurso ClusterDNS
Crie um manifesto para um recurso ClusterDNS denominado default
. Preencha o spec
conforme pretendido. Por 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
- serverIP: 203.0.113.1
- serverIP: 203.0.113.2
serverPort: 54
googleAccess: default
Guarde o manifesto num ficheiro denominado my-dns.yaml
e aplique o recurso ao cluster:
kubectl --kubeconfig KUBECONFIG apply -f my-dns.yaml
Substitua KUBECONFIG
pelo caminho para o ficheiro kubeconfig do cluster.
Veja o recurso ClusterDNS
Para ver o recurso ClusterDNS:
kubectl --kubeconfig KUBECONFIG get clusterdns default --output yaml
Substitua KUBECONFIG
pelo caminho para o ficheiro kubeconfig do cluster.
A especificação ClusterDNS
As secções seguintes descrevem as partes da definição de recurso personalizado ClusterDNS que usa para configurar o DNS para os seus clusters. Pode atualizar o recurso ClusterDNS para um cluster em qualquer altura.
spec.upstreamNameservers
Especifique os seus servidores de nomes upstream predefinidos com uma matriz de objetos, cada um dos quais tem um endereço IP do servidor e, opcionalmente, uma porta do servidor. O valor predefinido da porta do servidor é 53. Os pedidos de domínios não pertencentes a clusters são encaminhados para esta matriz de endereços de servidores por predefinição.
Segue-se um exemplo de upstreamNameservers
configuração:
spec:
upstreamNameservers:
- serverIP: 8.8.8.8
- serverIP: 1.2.3.4
serverPort: 54
Se não especificar valores para upstreamNameservers
, o fornecedor de DNS usa o ficheiro /etc/resolv.conf
no nó para encontrar a lista de servidores de nomes a montante.
spec.domains
Configuração para domínios específicos. Use esta secção para configurar diferentes servidores de nomes a montante para domínios específicos. Estas definições de servidor de nomes específicas do domínio substituem a configuração em upstreamNameservers
.
Também pode ativar o registo de consultas para um domínio. Pode ativar o registo de consultas para qualquer domínio especificado ou para o domínio do cluster, cluster.local.
Por exemplo:
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
Enumeração (private
, restricted
ou default
). Especifica como tratar os domínios Google. Os valores googleAccess
especificam o seguinte comportamento:
default
: nenhum tratamento especial para domínios Google. A remoção do campogoogleAccess
tem o mesmo efeito.private
: resolve domínios Google apenas para endereços IP de acesso privado.restricted
: resolve domínios Google apenas para endereços IP de acesso restrito.
O exemplo de definição seguinte resolve os domínios Google apenas para endereços IP de acesso privado:
spec:
googleAccess: private
Para mais informações, consulte o artigo Configurar o acesso privado à Google para anfitriões no local.
spec.orderPolicy
String. Se quiser especificar a política de ordenação pela qual os servidores a montante são selecionados. A predefinição é "random"
. Os tipos suportados são "random"
,"round_robin"
e "sequential"
. Tenha em atenção que esta política de ordenação também se aplica aos domínios definidos. Consulte a documentação do coredns para obter mais informações sobre o policy
e o que cada configuração faz.
Por exemplo:
spec: orderPolicy: sequential