En este documento, se muestra cómo configurar las opciones del proveedor de DNS del sistema de nombres de dominio para clústeres de Anthos en equipos físicos. La configuración de DNS para un clúster se guarda en un recurso personalizado ClusterDNS llamado default
. Este recurso está en todo el clúster. es decir, sin espacio de nombres. El recurso personalizado ClusterDNS se aplica a todos los tipos de clústeres.
Crea el recurso ClusterDNS
Crea un manifiesto para un recurso ClusterDNS llamado default
. Completa el spec
como desees. Por ejemplo:
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: private
Guarda el manifiesto en un archivo llamado my-dns.yaml
y aplica el recurso al clúster:
kubectl --kubeconfig ADMIN_KUBECONFIG apply -f my-dns.yaml
Reemplaza ADMIN_KUBECONFIG
por la ruta de acceso al archivo kubeconfig del clúster de administrador.
Visualiza el recurso ClusterDNS
Para ver el recurso ClusterDNS, haz lo siguiente:
kubectl --kubeconfig ADMIN_KUBECONFIG get clusterdns default --output yaml
Reemplaza ADMIN_KUBECONFIG
por la ruta de acceso al archivo kubeconfig del clúster de administrador.
La especificación ClusterDNS
En las siguientes secciones, se describen las partes de la definición de recursos personalizados de ClusterDNS que usas para configurar DNS en tus clústeres. Puedes actualizar el recurso ClusterDNS para un clúster en cualquier momento.
spec.upstreamNameservers
Especifica tus servidores de nombres ascendentes predeterminados con un array de objetos, cada uno de los cuales tiene una dirección IP de servidor y, de forma opcional, un puerto del servidor. El valor predeterminado para el puerto del servidor es 53. Las solicitudes para dominios que no son de clúster se reenvían a este array de direcciones de servidor de forma predeterminada.
Esta es una configuración de upstreamNameservers
de ejemplo:
spec:
upstreamNameservers:
- serverIP: 8.8.8.8
- serverIP: 1.2.3.4
serverPort: 54
Si no especificas ningún valor para upstreamNameservers
, el proveedor de DNS usa el archivo /etc/resolve.conf
en el nodo a fin de buscar la lista de servidores de nombres ascendentes.
spec.domains
Configuración para dominios específicos. Usa esta sección para configurar diferentes servidores de nombres ascendentes para dominios particulares. Esta configuración del servidor de nombres específica del dominio anula la configuración en upstreamNameservers
.
También puedes activar el registro de consultas para un dominio. Puedes habilitar el registro de consultas para cualquier dominio especificado o el clúster, cluster.local.
Por ejemplo:
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
Enumeración (private
, restricted
o default
). Especifica cómo tratar Google domains. Los valores googleAccess
especifican el siguiente comportamiento:
default
: sin tratamiento especial para Google Domains. Quitar el campogoogleAccess
tiene el mismo efecto.private
: resuelve Google domains solo en direcciones IP de acceso privado.restricted
: resuelve Google domains solo en direcciones IP de acceso restringido.
En el siguiente ejemplo de configuración, se resuelven los Google domains solo en direcciones IP de acceso privado:
spec:
googleAccess: private
Si deseas obtener más información, consulta Configura el Acceso privado a Google de los hosts locales.