Installing the External DNS Operator
To manage DNS records on your cloud infrastructure, install the External DNS Operator. This Operator supports deployment on major cloud providers, including Amazon Web Services (AWS), Microsoft Azure, and Google Cloud.
Installing the External DNS Operator with the Software Catalog
You can install the External DNS Operator by using the OpenShift Container Platform Software Catalog. You can then manage the Operator lifecycle directly from the web console.
-
Click Ecosystem → Software Catalog in the OpenShift Container Platform web console.
-
Click External DNS Operator. You can use the Filter by keyword text box or the filter list to search for External DNS Operator from the list of Operators.
-
Select the
external-dns-operatornamespace. -
On the External DNS Operator page, click Install.
-
On the Install Operator page, ensure that you selected the following options:
-
Update the channel as stable-v1.
-
Installation mode as A specific name on the cluster.
-
Installed namespace as
external-dns-operator. If namespaceexternal-dns-operatordoes not exist, the Operator gets created during the Operator installation. -
Select Approval Strategy as Automatic or Manual. The Approval Strategy defaults to Automatic.
-
Click Install.
If you select Automatic updates, the Operator Lifecycle Manager (OLM) automatically upgrades the running instance of your Operator without any intervention.
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.
-
-
Verify that the External DNS Operator shows the Status as Succeeded on the Installed Operators dashboard.
Installing the External DNS Operator by using the CLI
You can use the OpenShift CLI (oc) to install the External DNS Operator. The Operator manages the installation process directly from your terminal without you having to use the web console.
-
You are logged in to the OpenShift CLI (
oc).
-
Create a
Namespaceobject:-
Create a YAML file that defines the
Namespaceobject:Examplenamespace.yamlfileapiVersion: v1 kind: Namespace metadata: name: external-dns-operator # ... -
Create the
Namespaceobject by running the following command:$ oc apply -f namespace.yaml
-
-
Create an
OperatorGroupobject:-
Create a YAML file that defines the
OperatorGroupobject:Exampleoperatorgroup.yamlfileapiVersion: operators.coreos.com/v1 kind: OperatorGroup metadata: name: external-dns-operator namespace: external-dns-operator spec: upgradeStrategy: Default targetNamespaces: - external-dns-operator # ... -
Create the
OperatorGroupobject by running the following command:$ oc apply -f operatorgroup.yaml
-
-
Create a
Subscriptionobject:-
Create a YAML file that defines the
Subscriptionobject:Examplesubscription.yamlfileapiVersion: operators.coreos.com/v1alpha1 kind: Subscription metadata: name: external-dns-operator namespace: external-dns-operator spec: channel: stable-v1 installPlanApproval: Automatic name: external-dns-operator source: redhat-operators sourceNamespace: openshift-marketplace # ... -
Create the
Subscriptionobject by running the following command:$ oc apply -f subscription.yaml
-
-
Get the name of the install plan from the subscription by running the following command:
$ oc -n external-dns-operator \ get subscription external-dns-operator \ --template='{{.status.installplan.name}}{{"\n"}}' -
Verify that the status of the install plan is
Completeby running the following command:$ oc -n external-dns-operator \ get ip <install_plan_name> \ --template='{{.status.phase}}{{"\n"}}' -
Verify that the status of the
external-dns-operatorpod isRunningby running the following command:$ oc -n external-dns-operator get podExample outputNAME READY STATUS RESTARTS AGE external-dns-operator-5584585fd7-5lwqm 2/2 Running 0 11m -
Verify that the catalog source of the subscription is
redhat-operatorsby running the following command:$ oc -n external-dns-operator get subscription -
Check the
external-dns-operatorversion by running the following command:$ oc -n external-dns-operator get csv