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 OpenShift Container Platform OperatorHub.
Click Operators → OperatorHub 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-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 OpenShift Container Platform 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