Add IPv6 DNS records to the dns pod service docs (#19079)

This commit is contained in:
Antonio Ojea
2020-02-12 20:48:50 +01:00
committed by GitHub
parent c8eb9126e9
commit 5ae479fc4d
@@ -38,14 +38,16 @@ For more up-to-date specification, see
## Services ## Services
### A records ### A/AAAA records
"Normal" (not headless) Services are assigned a DNS A record for a name of the "Normal" (not headless) Services are assigned a DNS A or AAAA record,
form `my-svc.my-namespace.svc.cluster-domain.example`. This resolves to the cluster IP depending on the IP family of the service, for a name of the form
`my-svc.my-namespace.svc.cluster-domain.example`. This resolves to the cluster IP
of the Service. of the Service.
"Headless" (without a cluster IP) Services are also assigned a DNS A record for "Headless" (without a cluster IP) Services are also assigned a DNS A or AAAA record,
a name of the form `my-svc.my-namespace.svc.cluster-domain.example`. Unlike normal depending on the IP family of the service, for a name of the form
`my-svc.my-namespace.svc.cluster-domain.example`. Unlike normal
Services, this resolves to the set of IPs of the pods selected by the Service. Services, this resolves to the set of IPs of the pods selected by the Service.
Clients are expected to consume the set or else use standard round-robin Clients are expected to consume the set or else use standard round-robin
selection from the set. selection from the set.
@@ -128,22 +130,22 @@ spec:
``` ```
If there exists a headless service in the same namespace as the pod and with If there exists a headless service in the same namespace as the pod and with
the same name as the subdomain, the cluster's KubeDNS Server also returns an A the same name as the subdomain, the cluster's DNS Server also returns an A or AAAA
record for the Pod's fully qualified hostname. record for the Pod's fully qualified hostname.
For example, given a Pod with the hostname set to "`busybox-1`" and the subdomain set to For example, given a Pod with the hostname set to "`busybox-1`" and the subdomain set to
"`default-subdomain`", and a headless Service named "`default-subdomain`" in "`default-subdomain`", and a headless Service named "`default-subdomain`" in
the same namespace, the pod will see its own FQDN as the same namespace, the pod will see its own FQDN as
"`busybox-1.default-subdomain.my-namespace.svc.cluster-domain.example`". DNS serves an "`busybox-1.default-subdomain.my-namespace.svc.cluster-domain.example`". DNS serves an
A record at that name, pointing to the Pod's IP. Both pods "`busybox1`" and A or AAAA record at that name, pointing to the Pod's IP. Both pods "`busybox1`" and
"`busybox2`" can have their distinct A records. "`busybox2`" can have their distinct A or AAAA records.
The Endpoints object can specify the `hostname` for any endpoint addresses, The Endpoints object can specify the `hostname` for any endpoint addresses,
along with its IP. along with its IP.
{{< note >}} {{< note >}}
Because A records are not created for Pod names, `hostname` is required for the Pod's A Because A or AAAA records are not created for Pod names, `hostname` is required for the Pod's A or AAAA
record to be created. A Pod with no `hostname` but with `subdomain` will only create the record to be created. A Pod with no `hostname` but with `subdomain` will only create the
A record for the headless service (`default-subdomain.my-namespace.svc.cluster-domain.example`), A or AAAA record for the headless service (`default-subdomain.my-namespace.svc.cluster-domain.example`),
pointing to the Pod's IP address. Also, Pod needs to become ready in order to have a pointing to the Pod's IP address. Also, Pod needs to become ready in order to have a
record unless `publishNotReadyAddresses=True` is set on the Service. record unless `publishNotReadyAddresses=True` is set on the Service.
{{< /note >}} {{< /note >}}