apiVersion: v1
kind: Namespace
metadata:
name: external-dns-operator
You can install the External DNS Operator on cloud providers such as AWS, Azure, and GCP.
You can install the External DNS Operator by using the OKD OperatorHub.
Click Operators → OperatorHub in the OKD 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-operator namespace.
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 namespace external-dns-operator does not exist, it gets created during the Operator installation.
Select Approval Strategy as Automatic or Manual. Approval Strategy is set to Automatic by default.
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.
You can install the External DNS Operator by using the CLI.
You are logged in to the OKD web console as a user with cluster-admin permissions.
You are logged into the OpenShift CLI (oc).
Create a Namespace object:
Create a YAML file that defines the Namespace object:
namespace.yaml fileapiVersion: v1
kind: Namespace
metadata:
name: external-dns-operator
Create the Namespace object by running the following command:
$ oc apply -f namespace.yaml
Create an OperatorGroup object:
Create a YAML file that defines the OperatorGroup object:
operatorgroup.yaml fileapiVersion: operators.coreos.com/v1
kind: OperatorGroup
metadata:
name: external-dns-operator
namespace: external-dns-operator
spec:
upgradeStrategy: Default
targetNamespaces:
- external-dns-operator
Create the OperatorGroup object by running the following command:
$ oc apply -f operatorgroup.yaml
Create a Subscription object:
Create a YAML file that defines the Subscription object:
subscription.yaml fileapiVersion: 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 Subscription object 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 Complete by 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-operator pod is Running by running the following command:
$ oc -n external-dns-operator get pod
NAME READY STATUS RESTARTS AGE
external-dns-operator-5584585fd7-5lwqm 2/2 Running 0 11m
Verify that the catalog source of the subscription is redhat-operators by running the following command:
$ oc -n external-dns-operator get subscription
NAME PACKAGE SOURCE CHANNEL
external-dns-operator external-dns-operator redhat-operators stable-v1
Check the external-dns-operator version by running the following command:
$ oc -n external-dns-operator get csv
NAME DISPLAY VERSION REPLACES PHASE
external-dns-operator.v<1.y.z> ExternalDNS Operator <1.y.z> Succeeded