:_mod-docs-content-type: ASSEMBLY
[id="ingress-controller-dnsmgt"]
= Understanding DNS management policies
include::_attributes/common-attributes.adoc[]
:context: ingress-controller-dnsmgt

toc::[]

[role="_abstract"]
As a cluster administrator, when you create an Ingress Controller, the Operator manages the DNS records automatically. This approach has some limitations when the required DNS zone is different from the cluster DNS zone or when the DNS zone is hosted outside the cloud provider.

The following list details key aspects for a managed DNS management policy:

* The Managed DNS management policy for Ingress Controllers ensures that the lifecycle of the wildcard DNS record on the cloud provider is automatically managed by the Operator. This is the default behavior.

* When you change an Ingress Controller from `Managed` to `Unmanaged` DNS management policy, the Operator does not clean up the previous wildcard DNS record provisioned on the cloud.

* When you change an Ingress Controller from `Unmanaged` to `Managed` DNS management policy, the Operator attempts to create the DNS record on the cloud provider if it does not exist or updates the DNS record if it already exists.

The following list details key aspects for a unmanaged DNS management policy:

* The Unmanaged DNS management policy for Ingress Controllers ensures that the lifecycle of the wildcard DNS record on the cloud provider is not automatically managed; instead, it becomes the responsibility of the cluster administrator.
+
[NOTE]
====
For {gcp-first} installations, you can use a custom DNS solution. Refer to the `DNSRecord` CR for information on what you need to include in the DNS record. For more information, see xref:../../../installing/installing_gcp/installing-gcp-customizations.adoc#installation-gcp-enabling-user-managed-DNS_installing-gcp-customizations[Enabling a user-managed DNS] and xref:../../../installing/installing_gcp/installing-gcp-customizations.adoc#installation-gcp-provisioning-own-dns-records_installing-gcp-customizations[Provisioning your own DNS records].
====

include::modules/creating-a-custom-ingress-controller.adoc[leveloffset=+1]

include::modules/modifying-an-existing-ingress-controller.adoc[leveloffset=+1]

[role="_additional-resources"]
[id="configuring-ingress-controller-dns-management-additional-resources"]
== Additional resources
* xref:../../../networking/networking_operators/ingress-operator.adoc#nw-ingress-controller-configuration-parameters_configuring-ingress[Ingress Controller configuration parameters]
