Your Kubernetes cluster comes with ExternalDNS, which enables you to manage DNS records through simple annotations on an Ingress resource.
ExternalDNS runs in a pod and talks directly to the cloud provider so that Ingress resources can manage the records of any zone delegated to your cloud's DNS service.
You can view the ExternalDNS logs by running the following command:
$ kubectl logs deployments/external-dns -n rackspace-system
There are currently no specific implementation details for the Rackspace KaaS DNS management service.
Specific usage instructions#
In this example, a Pod runs and exposes an application on port
through a Service named
my-app-service. The following code sample shows a
possible Ingress resource for this application. Note the
external-dns.alpha.kubernetes.io/hostname annotation, which ExternalDNS looks for in its control loops.
apiVersion: extensions/v1beta1 kind: Ingress metadata: name: my-app-ingress annotations: kubernetes.io/ingress.class: nginx external-dns.alpha.kubernetes.io/hostname: my-app.my-domain.com spec: rules: - host: my-app.my-domain.com http: paths: - path: / backend: serviceName: my-app-service servicePort: 8080