Red de conocimiento informático - Problemas con los teléfonos móviles - [k8s Series 6] DNS complementario a la red K8S

[k8s Series 6] DNS complementario a la red K8S

Los dos capítulos anteriores introdujeron el servicio y el servicio de entrada. Hay dos tipos: IP del clúster y puerto de nodo:

Pero, de hecho, la IP del clúster generalmente no se usa directamente dentro del clúster, sino que. El nombre del servicio se utiliza como nombre de dominio y la IP del clúster se obtiene después de la resolución del nombre de dominio a través del componente Core DNS. Los clústeres cruzados generalmente no usan nodePort, pero usan Ingress o el servicio de equilibrio de carga.

DNS (Sistema de nombres de dominio) se utiliza para resolver nombres de dominio en direcciones IP. Por ejemplo,

El primer componente DNS de Kubernetes se llamaba KubeDNS. Posteriormente, la comunidad CNCF presentó el proyecto de código abierto más maduro CoreDNS para reemplazar a KubeDNS. Entonces, cuando mencionamos KubeDNS ahora, en realidad se refiere al proyecto CoreDNS de forma predeterminada.

A cada servicio del clúster (incluido el propio servicio DNS) se le asignará un nombre DNS. El formato es: lt;service_namegt;.lt;namespacegt;.svc.lt;cluster_domainingt;. cluster_domain tiene como valor predeterminado cluster.local.

Cuando se crea cada Pod, el nombre de dominio del servicio kube-dns y la dirección IP correspondiente se agregan automáticamente al archivo /etc/resolv.conf del Pod. Por lo tanto, los Pods pueden encontrar el kube-dns en ejecución a través del componente de servicio llamado kube-dns.

Cree el pod dnsutils según el Apéndice 1 e intente resolver kube-dns (espacio de nombres del sistema kube) y whoami-clusterip (espacio de nombres predeterminado) según el formato DNS. Luego verifique el contenido del archivo de resolución de nombres de dominio del pod /etc/resolv.conf y finalmente intente acceder al servicio whoami-clusterip a través del nombre de dominio y el número de puerto.