Skip to content
Merged
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
Comment thread
dfitzmau marked this conversation as resolved.
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 @@ -74,6 +74,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
Comment thread
dfitzmau marked this conversation as resolved.
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
56 changes: 56 additions & 0 deletions modules/installation-bare-metal-dns-record-type.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
// 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
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This needs to be changed to PROCEDURE

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Good catch, Joe!

[id="installation-bare-metal-dns-record-type_{context}"]
= Configuring the dnsRecordsType parameter

[role="_abstract"]
During cluster installation, you can specify the `dnsRecordsType` parameter in the `install-config.yaml` file to set if the internal DNS service or an external source provides the necessary records for `api`, `api-int`, and `ingress` DNS records.

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

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
Comment thread
dfitzmau marked this conversation as resolved.

* You created DNS records, such as `api`, `api-int`, or `\*.apps`.
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

\*.apps the backslash is for shell usage, is it normal style usage? I guess it's a style question.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I'll remove. I sometimes need to add the escape character () to prevent build errors.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I'm also curious about this line. Do you want the backslash to be visible?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

✔️

* 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
Comment thread
dfitzmau marked this conversation as resolved.

* During cluster installation, specify `TechPreviewNoUpgrade` for the `featureSet` parameter and specify `External` for the `dnsRecordsType` parameter in the `install-config.yaml` file:
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Suggested change
* During cluster installation, specify `TechPreviewNoUpgrade` for the `featureSet` parameter and specify `External` for the `dnsRecordsType` parameter in the `install-config.yaml` file:
* During cluster installation, in the `install-config.yaml` file, specify `TechPreviewNoUpgrade` for the `featureSet` parameter and specify `External` for the `dnsRecordsType` parameter:

Just a suggestion. It's a good practice to tell the user where they need to do something before you tell them what they need to do.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

✔️

+
[source,yaml]
----
apiVersion: v1
baseDomain: example.com
metadata:
name: dev-cluster
# ...
platform:
baremetal:
# ...
loadBalancer:
type: UserManaged
dnsRecordsType: External
# ...
featureSet: TechPreviewNoUpgrade
pullSecret: '{"auths":{"<local_registry>": {"auth": "<credentials>","email": "you@example.com"}}}'
sshKey: 'ssh-ed25519 AAAA...'
# ...
----
+
where:
+
`type.UserManaged`:: Specifies an external load balancer for your cluster.
`dnsRecordsType.External`:: Specifies that the cluster does not create internal DNS records for the core infrastructure.
`featureSet.TechPreviewNoUpgrade`:: Specifies the enablement of non-default features for your cluster.
6 changes: 4 additions & 2 deletions modules/nw-dns-forward.adoc
Comment thread
dfitzmau marked this conversation as resolved.
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.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Suggested change
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.
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 re-create the container for changes to take effect.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

✔️

====

.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.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Suggested change
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.
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 re-create the container for changes to take effect.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

✔️

====
+
Example of a DNS configuration for a network interface that globally stores DNS values:
+
[source,yaml]
Expand Down