Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,8 @@ include::modules/installation-dns-user-infra.adoc[leveloffset=+2]

* xref:../../../installing/installing_bare_metal/upi/installing-bare-metal-network-customizations.adoc#installation-user-provisioned-validating-dns_installing-bare-metal-network-customizations[Validating DNS resolution for user-provisioned infrastructure]

include::modules/installation-bare-metal-dns-record-type.adoc[leveloffset=+2]

include::modules/installation-load-balancing-user-infra.adoc[leveloffset=+2]

// Creating a manifest object that includes a customized `br-ex` bridge
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,8 @@ include::modules/installation-dns-user-infra.adoc[leveloffset=+2]

* xref:../../../installing/installing_bare_metal/upi/installing-bare-metal.adoc#installation-user-provisioned-validating-dns_installing-bare-metal[Validating DNS resolution for user-provisioned infrastructure]

include::modules/installation-bare-metal-dns-record-type.adoc[leveloffset=+2]

// Load balancing requirements for user-provisioned infrastructure
include::modules/installation-load-balancing-user-infra.adoc[leveloffset=+2]

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,8 @@ include::modules/installation-dns-user-infra.adoc[leveloffset=+2]

* xref:../../../installing/installing_bare_metal/upi/installing-restricted-networks-bare-metal.adoc#installation-user-provisioned-validating-dns_installing-restricted-networks-bare-metal[Validating DNS resolution for user-provisioned infrastructure]

include::modules/installation-bare-metal-dns-record-type.adoc[leveloffset=+2]

include::modules/installation-load-balancing-user-infra.adoc[leveloffset=+2]

// Creating a manifest object that includes a customized `br-ex` bridge
Expand Down
62 changes: 62 additions & 0 deletions modules/installation-bare-metal-dns-record-type.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
// Module included in the following assemblies:
//
// * installing/installing_bare_metal/upi/installing-bare-metal-network-customizations.adoc
// * installing/installing_bare_metal/upi/installing-bare-metal.adoc
// * installing/installing_bare_metal/upi/installing-restricted-networks-bare-metal.adoc

:_mod-docs-content-type: CONCEPT
[id="installation-bare-metal-dns-record-type_{context}"]
= Configuring the DnsRecordsType parameter

[role="_abstract"]
You can use the `DnsRecordsType` parameter in your `infrastructure.config.openshift.io` custom resource (CR) to set if the internal DNS service or an external source provides the necessary records for `api`, `api-int`, and `ingress` DNS records.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This can't be configured via the CR. It can only be set at install time in install-config.yaml.


:FeatureName: Configuring the DnsRecordsType parameter
include::snippets/technology-preview.adoc[]

To use the parameter, you must enable the `OnPremDNSRecords` feature gate in the `config.yaml` file.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The featuregate is part of the TechPreview featureset. There's no explicit enablement required.


The `dnsRecordsType` parameter supports the following values:

* `Internal`: The default value. Setting this value causes the cluster infrastructure to automatically create and maintain the necessary DNS records.
* `External`: You can use this value only if you set the `loadBalancer.type` parameter to `UserManaged`. The cluster does not manage the DNS records. You must manually configure DNS records on an external DNS server.

.Prerequisites
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 [error] AsciiDocDITA.BlockTitle: Block titles can only be assigned to examples, figures, and tables in DITA.


* You created DNS records, such as `api`, `api-int`, or `\*.apps`.
* You configured a user-managed load balancer for your cluster.
* If you intend on setting `dnsRecordsType.External` in the `infrastructure.config.openshift.io` CR , you must initially configure cluster nodes to use the specific external server for DNS resolution.

.Procedure
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 [error] AsciiDocDITA.BlockTitle: Block titles can only be assigned to examples, figures, and tables in DITA.


. Edit the `featuregate.config.openshift.io/cluster` CR and set the `featureSet.customNoUpgrade.enabled` parameter to the `OnPremDNSRecords` value:
+
[source,yaml]
----
apiVersion: config.openshift.io/v1
kind: FeatureGate
metadata:
name: cluster
spec:
featureSet: CustomNoUpgrade
customNoUpgrade:
enabled:
- OnPremDNSRecords
# ...
----

* Edit your `infrastructure.config.openshift.io` CR by setting the `dnsRecordsType` parameter to the `External` value:
+
[source,yaml]
----
apiVersion: config.openshift.io/v1
kind: Infrastructure
metadata:
name: cluster
spec:
platformSpec:
baremetal:
dnsRecordsType: External
# ...
----

6 changes: 4 additions & 2 deletions modules/nw-dns-forward.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,11 @@ endif::openshift-rosa,openshift-rosa-hcp,openshift-dedicated[]
* Provide a list of upstream DNS servers (`spec.upstreamResolvers`).
* Change the default forwarding policy.
[NOTE]
====
A DNS forwarding configuration for the default domain can have both the default servers specified in the `/etc/resolv.conf` file and the upstream DNS servers.

[IMPORTANT]
====
During pod creation, Kubernetes uses the `/etc/resolv.conf` file that exists on a node. If you modify the `/etc/resolv.conf` file on a host node, the changes do not propagate to the `/etc/resolv.conf` file that exists in a container. You must recreate the container for changes to take effect.
====

.Procedure
Expand Down
5 changes: 5 additions & 0 deletions modules/virt-example-nmstate-IP-management.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -139,6 +139,11 @@ The following example shows a default situation that stores DNS values globally:

* Configure a static DNS without a network interface. Note that when updating the `/etc/resolv.conf` file on a host node, you do not need to specify an interface, IPv4 or IPv6, in the `NodeNetworkConfigurationPolicy` (NNCP) manifest.
+
[IMPORTANT]
====
During pod creation, Kubernetes uses the `/etc/resolv.conf` file that exists on a node. If you modify the `/etc/resolv.conf` file on a host node, the changes do not propagate to the `/etc/resolv.conf` file that exists in a container. You must recreate the container for changes to take effect.
====
+
Example of a DNS configuration for a network interface that globally stores DNS values:
+
[source,yaml]
Expand Down