Skip to content

Commit 8474597

Browse files
authored
Merge pull request #45514 from xenolinux/EDNS-update
No_bug_assigned: Update EDNS Operator content
2 parents 99a023e + 21fe96a commit 8474597

11 files changed

+137
-20
lines changed

_topic_maps/_topic_map.yml

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -984,16 +984,18 @@ Topics:
984984
- Name: External DNS Operator
985985
Dir: external_dns_operator
986986
Topics:
987+
- Name: Understanding the External DNS Operator
988+
File: understanding-external-dns-operator
987989
- Name: Installing the External DNS Operator
988-
File: nw-installing-external-dns-operator
990+
File: nw-installing-external-dns-operator-on-cloud-providers
989991
- Name: External DNS Operator configuration parameters
990-
File: nw-external-dns-operator-configuration-parameters
992+
File: nw-configuration-parameters
991993
- Name: Creating DNS records on an public hosted zone for AWS
992-
File: nw-control-dns-records-public-hosted-zone-aws
994+
File: nw-creating-dns-records-on-aws
993995
- Name: Creating DNS records on an public zone for Azure
994-
File: nw-control-dns-records-public-hosted-zone-azure
996+
File: nw-creating-dns-records-on-azure
995997
- Name: Creating DNS records on an public managed zone for GCP
996-
File: nw-control-dns-records-public-managed-zone-gcp
998+
File: nw-creating-dns-records-on-gcp
997999
- Name: Network policy
9981000
Dir: network_policy
9991001
Topics:
Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ $ aws route53 list-hosted-zones | grep testextdnsoperator.apacshift.support
5858
HOSTEDZONES terraform /hostedzone/Z02355203TNN1XXXX1J6O testextdnsoperator.apacshift.support. 5
5959
----
6060

61-
. Create `ExternalDNS` CR for `route` source:
61+
. Create `ExternalDNS` resource for `route` source:
6262
+
6363
[source,yaml]
6464
----
@@ -77,8 +77,9 @@ spec:
7777
type: OpenShiftRoute <7>
7878
openshiftRouteOptions:
7979
routerName: default <8>
80+
EOF
8081
----
81-
<1> Defines the name of external DNS CR.
82+
<1> Defines the name of external DNS resource.
8283
<2> By default all hosted zones are selected as potential targets. You can include a hosted zone that you need.
8384
<3> The matching of the target zone's domain has to be exact (as opposed to regular expression match).
8485
<4> Specify the exact domain of the zone you want to update. The hostname of the routes must be subdomains of the specified domain.
Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ openshift-console downloads downloads-openshift-console.apps.
6262
$ az network dns zone list --resource-group "${RESOURCE_GROUP}"
6363
----
6464

65-
. Create `ExternalDNS` CR for `route` source:
65+
. Create `ExternalDNS` resource for `route` source:
6666
+
6767
[source,yaml]
6868
----
@@ -79,10 +79,11 @@ spec:
7979
openshiftRouteOptions: <4>
8080
routerName: default <5>
8181
type: OpenShiftRoute <6>
82+
EOF
8283
----
83-
<1> defines the name of External DNS CR.
84+
<1> Specifies the name of External DNS CR.
8485
<2> Define the zone ID.
85-
<3> defines the Azure DNS provider.
86+
<3> Defines the Azure DNS provider.
8687
<4> You can define options for the source of DNS records.
8788
<5> If the source is `OpenShiftRoute` then you can pass the OpenShift Ingress Controller name. External DNS selects the canonical hostname of that router as the target while creating CNAME record.
8889
<6> Defines OpenShift `route` resource as the source for the DNS records which gets created in the previously specified DNS provider.
@@ -93,7 +94,7 @@ spec:
9394
----
9495
$ az network dns record-set list -g "${RESOURCE_GROUP}" -z test.azure.example.com | grep console
9596
----
96-
97+
+
9798
[NOTE]
9899
====
99100
To create records on private hosted zones on private Azure dns, you need to specify the private zone under `zones` which populates the provider type to `azure-private-dns` in the `ExternalDNS` container args.
Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11

22
// Module included in the following assemblies:
33
//
4-
// * networking/external_dns_operator/nw-creating-dns-records-on-gc.adoc
4+
// * networking/external_dns_operator/nw-creating-dns-records-on-gcp.adoc
55

66
:_content-type: PROCEDURE
7-
[id="nw-control-dns-records-public-hosted-zone-gcp_{context}"]
7+
[id="nw-control-dns-records-public-managed-zone-gcp_{context}"]
88
= Creating DNS records on an public managed zone for GCP by using Red Hat External DNS Operator
99

1010
You can create DNS records on a public managed zone for GCP by using Red Hat External DNS Operator.
@@ -31,7 +31,7 @@ system:admin
3131
$ oc get secret gcp-credentials -n kube-system --template='{{$v := index .data "service_account.json"}}{{$v}}' | base64 -d - > decoded-gcloud.json
3232
----
3333

34-
. Export Google credentials by running the following command:
34+
. Export Google credentials:
3535
+
3636
[source,terminal]
3737
----
@@ -45,14 +45,14 @@ $ export GOOGLE_CREDENTIALS=decoded-gcloud.json
4545
$ gcloud auth activate-service-account <client_email as per decoded-gcloud.json> --key-file=decoded-gcloud.json
4646
----
4747

48-
. Set your project by running the following command:
48+
. Set your project:
4949
+
5050
[source,terminal]
5151
----
5252
$ gcloud config set project <project_id as per decoded-gcloud.json>
5353
----
5454

55-
. Get the routes to check the domain by running the following command:
55+
. Get the routes to check the domain:
5656
+
5757
[source,terminal]
5858
----
@@ -74,7 +74,7 @@ $ gcloud dns managed-zones list | grep test.gcp.example.com
7474
qe-cvs4g-private-zone test.gcp.example.com
7575
----
7676

77-
. Create `ExternalDNS` CR for `route` source:
77+
. Create `ExternalDNS` resource for `route` source:
7878
+
7979
[source,yaml]
8080
----
@@ -93,8 +93,9 @@ spec:
9393
openshiftRouteOptions: <6>
9494
routerName: default <7>
9595
type: OpenShiftRoute <8>
96+
EOF
9697
----
97-
<1> Defines the name of External DNS CR.
98+
<1> Specifies the name of External DNS CR.
9899
<2> By default all hosted zones are selected as potential targets. You can include a hosted zone that you need.
99100
<3> The matching of the target zone's domain has to be exact (as opposed to regular expression match).
100101
<4> Specify the exact domain of the zone you want to update. The hostname of the routes must be subdomains of the specified domain.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ source: <1>
7676
- "{{.Name}}.myzonedomain.com" <6>
7777
----
7878
<1> Defines the settings for the source of DNS records.
79-
<2> `ExternalDNS` uses `Service` type as source for creating dns records.
79+
<2> The `ExternalDNS` uses `Service` type as source for creating dns records.
8080
<3> Sets `service-type-filter` flag in `ExternalDNS`. The `serviceType` contains the following fields:
8181
* `default`: `LoadBalancer`
8282
* `expected`: `ClusterIP`
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
// Module included in the following assemblies:
2+
// * networking/understanding-external-dns-operator.adoc
3+
4+
:_content-type: PROCEDURE
5+
[id="nw-external-dns-operator-logs_{context}"]
6+
= External DNS Operator logs
7+
8+
You can view External DNS Operator logs by using the `oc logs` command.
9+
10+
.Procedure
11+
12+
. View the logs of the External DNS Operator:
13+
+
14+
[source,terminal]
15+
----
16+
$ oc logs -n external-dns-operator deployment/external-dns-operator -c external-dns-operator
17+
----

modules/nw-external-dns-operator.adoc

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
// Module included in the following assemblies:
2+
// * networking/understanding-external-dns-operator.adoc
3+
4+
:_content-type: PROCEDURE
5+
[id="nw-dns-operator_{context}"]
6+
= External DNS Operator
7+
8+
The External DNS Operator implements the External DNS API from the `olm.openshift.io` API group. The External DNS Operator deploys the `ExternalDNS` using a deployment resource. The ExternalDNS deployment watches the resources such as services and routes in the cluster and updates the external DNS providers.
9+
10+
.Procedure
11+
12+
You can deploy the ExternalDNS Operator on demand from the OperatorHub, this creates a `Subscription` object.
13+
14+
. Check the name of an install plan:
15+
+
16+
[source,terminal]
17+
----
18+
$ oc -n external-dns-operator get sub external-dns-operator -o yaml | yq '.status.installplan.name'
19+
----
20+
+
21+
.Example output
22+
[source,terminal]
23+
----
24+
install-zcvlr
25+
----
26+
27+
. Check the status of an install plan, the status of an install plan must be `Complete`:
28+
+
29+
[source,terminal]
30+
----
31+
$ oc -n external-dns-operator get ip <INSTALL_PLAN_NAME> -o yaml | yq .status.phase'
32+
----
33+
+
34+
.Example output
35+
[source,terminal]
36+
----
37+
Complete
38+
----
39+
40+
. Use the `oc get` command to view the `Deployment` status:
41+
+
42+
[source,terminal]
43+
----
44+
$ oc get -n external-dns-operator deployment/external-dns-operator
45+
NAME READY UP-TO-DATE AVAILABLE AGE
46+
external-dns-operator 1/1 1 1 23h
47+
----
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
// Module included in the following assemblies:
2+
//
3+
// * networking/external_dns_operator/nw-installing-external-dns-operator-on-cloud-providers.adoc
4+
5+
:_content-type: PROCEDURE
6+
[id="nw-installing-external-dns-operator_{context}"]
7+
= Installing the External DNS Operator
8+
9+
You can install the External DNS Operator using the {product-title} OperatorHub.
10+
11+
.Procedure
12+
13+
. Click *Operators**OperatorHub* in the {product-title} Web Console.
14+
. Click *External DNS Operator*.
15+
You can use the *Filter by keyword* text box or the filter list to search for External DNS Operator from the list of Operators.
16+
. Select the `external-dns-operator` namespace.
17+
. On the External DNS Operator page, click *Install*.
18+
. On the *Install Operator* page, ensure that you selected the following options:
19+
.. Update the channel as *stable-v1.0*.
20+
.. Installation mode as *A specific name on the cluster*.
21+
.. Installed namespace as `external-dns-operator`. If namespace `external-dns-operator` does not exist, it gets created during the Operator installation.
22+
.. Select *Approval Strategy* as *Automatic* or *Manual*. Approval Strategy is set to *Automatic* by default.
23+
.. Click *Install*.
24+
25+
If you select *Automatic* updates, the Operator Lifecycle Manager (OLM) automatically upgrades the running instance of your Operator without any intervention.
26+
27+
If you select *Manual* updates, the OLM creates an update request. As a cluster administrator, you must then manually approve that update request to have the Operator updated to the new version.
28+
29+
30+
.Verification
31+
32+
Verify that External DNS Operator shows the *Status* as *Succeeded* on the Installed Operators dashboard.

networking/external_dns_operator/nw-creating-dns-records-on-gcp.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,4 @@ toc::[]
88

99
You can create DNS records on GCP using External DNS Operator.
1010

11-
include::modules/nw-control-dns-records-public-hosted-zone-gcp.adoc[leveloffset=+1]
11+
include::modules/nw-control-dns-records-public-managed-zone-gcp.adoc[leveloffset=+1]

networking/external_dns_operator/nw-installing-external-dns-operator-on-cloud-providers.adoc

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,7 @@ toc::[]
88

99
You can install External DNS Operator on cloud providers such as AWS, Azure and GCP.
1010

11+
:FeatureName: External DNS Operator deployment
12+
include::snippets/technology-preview.adoc[leveloffset=+1]
13+
1114
include::modules/nw-installing-external-dns-operator.adoc[leveloffset=+1]

0 commit comments

Comments
 (0)