This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.Dieser Inhalt ist in der von Ihnen ausgewählten Sprache nicht verfügbar.
Chapter 16. External DNS Operator
16.1. External DNS Operator in OpenShift Container Platform
				The External DNS Operator deploys and manages ExternalDNS to provide the name resolution for services and routes from the external DNS provider to OpenShift Container Platform.
			
16.1.1. External DNS Operator
					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.
				
Procedure
						You can deploy the ExternalDNS Operator on demand from the OperatorHub, this creates a Subscription object.
					
- Check the name of an install plan: - oc -n external-dns-operator get sub external-dns-operator -o yaml | yq '.status.installplan.name' - $ oc -n external-dns-operator get sub external-dns-operator -o yaml | yq '.status.installplan.name'- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - Example output - install-zcvlr - install-zcvlr- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Check the status of an install plan, the status of an install plan must be - Complete:- oc -n external-dns-operator get ip <install_plan_name> -o yaml | yq '.status.phase' - $ oc -n external-dns-operator get ip <install_plan_name> -o yaml | yq '.status.phase'- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - Example output - Complete - Complete- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Use the - oc getcommand to view the- Deploymentstatus:- oc get -n external-dns-operator deployment/external-dns-operator - $ oc get -n external-dns-operator deployment/external-dns-operator- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - Example output - NAME READY UP-TO-DATE AVAILABLE AGE external-dns-operator 1/1 1 1 23h - NAME READY UP-TO-DATE AVAILABLE AGE external-dns-operator 1/1 1 1 23h- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
16.1.2. External DNS Operator logs
					You can view External DNS Operator logs by using the oc logs command.
				
Procedure
- View the logs of the External DNS Operator: - oc logs -n external-dns-operator deployment/external-dns-operator -c external-dns-operator - $ oc logs -n external-dns-operator deployment/external-dns-operator -c external-dns-operator- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
16.1.2.1. External DNS Operator domain name limitations
						External DNS Operator uses the TXT registry, which follows the new format and adds the prefix for the TXT records. This reduces the maximum length of the domain name for the TXT records. A DNS record cannot be present without a corresponding TXT record, so the domain name of the DNS record must follow the same limit as the TXT records. For example, DNS record is <domain-name-from-source> and the TXT record is external-dns-<record-type>-<domain-name-from-source>.
					
The domain name of the DNS records generated by External DNS Operator has the following limitations:
| Record type | Number of characters | 
|---|---|
| CNAME | 44 | 
| Wildcard CNAME records on AzureDNS | 42 | 
| A | 48 | 
| Wildcard A records on AzureDNS | 46 | 
If the domain name generated by External DNS exceeds the domain name limitation, the External DNS instance gives the following error:
oc -n external-dns-operator logs external-dns-aws-7ddbd9c7f8-2jqjh
$ oc -n external-dns-operator logs external-dns-aws-7ddbd9c7f8-2jqjh - 1
- Theexternal-dns-aws-7ddbd9c7f8-2jqjhparameter specifies the name of the External DNS pod.
Example output
time="2022-09-02T08:53:57Z" level=info msg="Desired change: CREATE external-dns-cname-hello-openshift-aaaaaaaaaa-bbbbbbbbbb-ccccccc.test.example.io TXT [Id: /hostedzone/Z06988883Q0H0RL6UMXXX]" time="2022-09-02T08:53:57Z" level=info msg="Desired change: CREATE external-dns-hello-openshift-aaaaaaaaaa-bbbbbbbbbb-ccccccc.test.example.io TXT [Id: /hostedzone/Z06988883Q0H0RL6UMXXX]" time="2022-09-02T08:53:57Z" level=info msg="Desired change: CREATE hello-openshift-aaaaaaaaaa-bbbbbbbbbb-ccccccc.test.example.io A [Id: /hostedzone/Z06988883Q0H0RL6UMXXX]" time="2022-09-02T08:53:57Z" level=error msg="Failure in zone test.example.io. [Id: /hostedzone/Z06988883Q0H0RL6UMXXX]" time="2022-09-02T08:53:57Z" level=error msg="InvalidChangeBatch: [FATAL problem: DomainLabelTooLong (Domain label is too long) encountered with 'external-dns-a-hello-openshift-aaaaaaaaaa-bbbbbbbbbb-ccccccc']\n\tstatus code: 400, request id: e54dfd5a-06c6-47b0-bcb9-a4f7c3a4e0c6"
time="2022-09-02T08:53:57Z" level=info msg="Desired change: CREATE external-dns-cname-hello-openshift-aaaaaaaaaa-bbbbbbbbbb-ccccccc.test.example.io TXT [Id: /hostedzone/Z06988883Q0H0RL6UMXXX]"
time="2022-09-02T08:53:57Z" level=info msg="Desired change: CREATE external-dns-hello-openshift-aaaaaaaaaa-bbbbbbbbbb-ccccccc.test.example.io TXT [Id: /hostedzone/Z06988883Q0H0RL6UMXXX]"
time="2022-09-02T08:53:57Z" level=info msg="Desired change: CREATE hello-openshift-aaaaaaaaaa-bbbbbbbbbb-ccccccc.test.example.io A [Id: /hostedzone/Z06988883Q0H0RL6UMXXX]"
time="2022-09-02T08:53:57Z" level=error msg="Failure in zone test.example.io. [Id: /hostedzone/Z06988883Q0H0RL6UMXXX]"
time="2022-09-02T08:53:57Z" level=error msg="InvalidChangeBatch: [FATAL problem: DomainLabelTooLong (Domain label is too long) encountered with 'external-dns-a-hello-openshift-aaaaaaaaaa-bbbbbbbbbb-ccccccc']\n\tstatus code: 400, request id: e54dfd5a-06c6-47b0-bcb9-a4f7c3a4e0c6"16.2. Installing External DNS Operator on cloud providers
You can install External DNS Operator on cloud providers such as AWS, Azure and GCP.
16.2.1. Installing the External DNS Operator
You can install the External DNS Operator using the OpenShift Container Platform OperatorHub.
Procedure
- 
							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-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.0.
- Installation mode as A specific name on the cluster.
- 
									Installed namespace as external-dns-operator. If namespaceexternal-dns-operatordoes 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.
Verification
Verify that External DNS Operator shows the Status as Succeeded on the Installed Operators dashboard.
16.3. External DNS Operator configuration parameters
The External DNS Operators includes the following configuration parameters:
16.3.1. External DNS Operator configuration parameters
The External DNS Operator includes the following configuration parameters:
| Parameter | Description | 
|---|---|
| 
									 | Enables the type of a cloud provider. | 
| 
									 | 
									Enables you to specify DNS zones by their domains. If you do not specify zones,  zones: - "myzoneid" 
 | 
| 
									 | 
									Enables you to specify AWS zones by their domains. If you do not specify domains,  
 | 
| 
									 | 
									Enables you to specify the source for the DNS records,  
 | 
16.4. Creating DNS records on AWS
You can create DNS records on AWS and AWS GovCloud by using External DNS Operator.
16.4.1. Creating DNS records on an public hosted zone for AWS by using Red Hat External DNS Operator
You can create DNS records on a public hosted zone for AWS by using the Red Hat External DNS Operator. You can use the same instructions to create DNS records on a hosted zone for AWS GovCloud.
Procedure
- Check the user. The user must have access to the - kube-systemnamespace. If you don’t have the credentials, as you can fetch the credentials from the- kube-systemnamespace to use the cloud provider client:- oc whoami - $ oc whoami- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - Example output - system:admin - system:admin- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Fetch the values from aws-creds secret present in - kube-systemnamespace.- export AWS_ACCESS_KEY_ID=$(oc get secrets aws-creds -n kube-system --template={{.data.aws_access_key_id}} | base64 -d) export AWS_SECRET_ACCESS_KEY=$(oc get secrets aws-creds -n kube-system --template={{.data.aws_secret_access_key}} | base64 -d)- $ export AWS_ACCESS_KEY_ID=$(oc get secrets aws-creds -n kube-system --template={{.data.aws_access_key_id}} | base64 -d) $ export AWS_SECRET_ACCESS_KEY=$(oc get secrets aws-creds -n kube-system --template={{.data.aws_secret_access_key}} | base64 -d)- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Get the routes to check the domain: - oc get routes --all-namespaces | grep console - $ oc get routes --all-namespaces | grep console- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - Example output - openshift-console console console-openshift-console.apps.testextdnsoperator.apacshift.support console https reencrypt/Redirect None openshift-console downloads downloads-openshift-console.apps.testextdnsoperator.apacshift.support downloads http edge/Redirect None - openshift-console console console-openshift-console.apps.testextdnsoperator.apacshift.support console https reencrypt/Redirect None openshift-console downloads downloads-openshift-console.apps.testextdnsoperator.apacshift.support downloads http edge/Redirect None- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Get the list of dns zones to find the one which corresponds to the previously found route’s domain: - aws route53 list-hosted-zones | grep testextdnsoperator.apacshift.support - $ aws route53 list-hosted-zones | grep testextdnsoperator.apacshift.support- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - Example output - HOSTEDZONES terraform /hostedzone/Z02355203TNN1XXXX1J6O testextdnsoperator.apacshift.support. 5 - HOSTEDZONES terraform /hostedzone/Z02355203TNN1XXXX1J6O testextdnsoperator.apacshift.support. 5- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Create - ExternalDNSresource for- routesource:- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- Defines the name of external DNS resource.
- 2
- By default all hosted zones are selected as potential targets. You can include a hosted zone that you need.
- 3
- The matching of the target zone’s domain has to be exact (as opposed to regular expression match).
- 4
- Specify the exact domain of the zone you want to update. The hostname of the routes must be subdomains of the specified domain.
- 5
- Defines theAWS Route53DNS provider.
- 6
- Defines options for the source of DNS records.
- 7
- Defines OpenShiftrouteresource as the source for the DNS records which gets created in the previously specified DNS provider.
- 8
- If the source isOpenShiftRoute, then you can pass the OpenShift Ingress Controller name. External DNS Operator selects the canonical hostname of that router as the target while creating CNAME record.
 
- Check the records created for OCP routes using the following command: - aws route53 list-resource-record-sets --hosted-zone-id Z02355203TNN1XXXX1J6O --query "ResourceRecordSets[?Type == 'CNAME']" | grep console - $ aws route53 list-resource-record-sets --hosted-zone-id Z02355203TNN1XXXX1J6O --query "ResourceRecordSets[?Type == 'CNAME']" | grep console- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
16.5. Creating DNS records on Azure
You can create DNS records on Azure using External DNS Operator.
16.5.1. Creating DNS records on an public DNS zone for Azure by using Red Hat External DNS Operator
You can create DNS records on a public DNS zone for Azure by using Red Hat External DNS Operator.
Procedure
- Check the user. The user must have access to the - kube-systemnamespace. If you don’t have the credentials, as you can fetch the credentials from the- kube-systemnamespace to use the cloud provider client:- oc whoami - $ oc whoami- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - Example output - system:admin - system:admin- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Fetch the values from azure-credentials secret present in - kube-systemnamespace.- CLIENT_ID=$(oc get secrets azure-credentials -n kube-system --template={{.data.azure_client_id}} | base64 -d) CLIENT_SECRET=$(oc get secrets azure-credentials -n kube-system --template={{.data.azure_client_secret}} | base64 -d) RESOURCE_GROUP=$(oc get secrets azure-credentials -n kube-system --template={{.data.azure_resourcegroup}} | base64 -d) SUBSCRIPTION_ID=$(oc get secrets azure-credentials -n kube-system --template={{.data.azure_subscription_id}} | base64 -d) TENANT_ID=$(oc get secrets azure-credentials -n kube-system --template={{.data.azure_tenant_id}} | base64 -d)- $ CLIENT_ID=$(oc get secrets azure-credentials -n kube-system --template={{.data.azure_client_id}} | base64 -d) $ CLIENT_SECRET=$(oc get secrets azure-credentials -n kube-system --template={{.data.azure_client_secret}} | base64 -d) $ RESOURCE_GROUP=$(oc get secrets azure-credentials -n kube-system --template={{.data.azure_resourcegroup}} | base64 -d) $ SUBSCRIPTION_ID=$(oc get secrets azure-credentials -n kube-system --template={{.data.azure_subscription_id}} | base64 -d) $ TENANT_ID=$(oc get secrets azure-credentials -n kube-system --template={{.data.azure_tenant_id}} | base64 -d)- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Login to azure with base64 decoded values: - az login --service-principal -u "${CLIENT_ID}" -p "${CLIENT_SECRET}" --tenant "${TENANT_ID}"- $ az login --service-principal -u "${CLIENT_ID}" -p "${CLIENT_SECRET}" --tenant "${TENANT_ID}"- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Get the routes to check the domain: - oc get routes --all-namespaces | grep console - $ oc get routes --all-namespaces | grep console- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - Example output - openshift-console console console-openshift-console.apps.test.azure.example.com console https reencrypt/Redirect None openshift-console downloads downloads-openshift-console.apps.test.azure.example.com downloads http edge/Redirect None - openshift-console console console-openshift-console.apps.test.azure.example.com console https reencrypt/Redirect None openshift-console downloads downloads-openshift-console.apps.test.azure.example.com downloads http edge/Redirect None- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Get the list of dns zones to find the one which corresponds to the previously found route’s domain: - az network dns zone list --resource-group "${RESOURCE_GROUP}"- $ az network dns zone list --resource-group "${RESOURCE_GROUP}"- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Create - ExternalDNSresource for- routesource:- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- Specifies the name of External DNS CR.
- 2
- Define the zone ID.
- 3
- Defines the Azure DNS provider.
- 4
- You can define options for the source of DNS records.
- 5
- If the source isOpenShiftRoutethen you can pass the OpenShift Ingress Controller name. External DNS selects the canonical hostname of that router as the target while creating CNAME record.
- 6
- Defines OpenShiftrouteresource as the source for the DNS records which gets created in the previously specified DNS provider.
 
- Check the records created for OCP routes using the following command: - az network dns record-set list -g "${RESOURCE_GROUP}" -z test.azure.example.com | grep console- $ az network dns record-set list -g "${RESOURCE_GROUP}" -z test.azure.example.com | grep console- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow Note- To create records on private hosted zones on private Azure dns, you need to specify the private zone under - zoneswhich populates the provider type to- azure-private-dnsin the- ExternalDNScontainer args.
16.6. Creating DNS records on GCP
You can create DNS records on GCP using External DNS Operator.
16.6.1. Creating DNS records on an public managed zone for GCP by using Red Hat External DNS Operator
You can create DNS records on a public managed zone for GCP by using Red Hat External DNS Operator.
Procedure
- Check the user. The user must have access to the - kube-systemnamespace. If you don’t have the credentials, as you can fetch the credentials from the- kube-systemnamespace to use the cloud provider client:- oc whoami - $ oc whoami- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - Example output - system:admin - system:admin- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Copy the value of service_account.json in gcp-credentials secret in a file encoded-gcloud.json by running the following command: - oc get secret gcp-credentials -n kube-system --template='{{$v := index .data "service_account.json"}}{{$v}}' | base64 -d - > decoded-gcloud.json- $ oc get secret gcp-credentials -n kube-system --template='{{$v := index .data "service_account.json"}}{{$v}}' | base64 -d - > decoded-gcloud.json- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Export Google credentials: - export GOOGLE_CREDENTIALS=decoded-gcloud.json - $ export GOOGLE_CREDENTIALS=decoded-gcloud.json- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Activate your account by using the following command: - gcloud auth activate-service-account <client_email as per decoded-gcloud.json> --key-file=decoded-gcloud.json - $ gcloud auth activate-service-account <client_email as per decoded-gcloud.json> --key-file=decoded-gcloud.json- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Set your project: - gcloud config set project <project_id as per decoded-gcloud.json> - $ gcloud config set project <project_id as per decoded-gcloud.json>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Get the routes to check the domain: - oc get routes --all-namespaces | grep console - $ oc get routes --all-namespaces | grep console- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - Example output - openshift-console console console-openshift-console.apps.test.gcp.example.com console https reencrypt/Redirect None openshift-console downloads downloads-openshift-console.apps.test.gcp.example.com downloads http edge/Redirect None - openshift-console console console-openshift-console.apps.test.gcp.example.com console https reencrypt/Redirect None openshift-console downloads downloads-openshift-console.apps.test.gcp.example.com downloads http edge/Redirect None- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Get the list of managed zones to find the zone which corresponds to the previously found route’s domain: - gcloud dns managed-zones list | grep test.gcp.example.com - $ gcloud dns managed-zones list | grep test.gcp.example.com qe-cvs4g-private-zone test.gcp.example.com- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Create - ExternalDNSresource for- routesource:- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- Specifies the name of External DNS CR.
- 2
- By default all hosted zones are selected as potential targets. You can include a hosted zone that you need.
- 3
- The matching of the target zone’s domain has to be exact (as opposed to regular expression match).
- 4
- Specify the exact domain of the zone you want to update. The hostname of the routes must be subdomains of the specified domain.
- 5
- Defines Google Cloud DNS provider.
- 6
- You can define options for the source of DNS records.
- 7
- If the source isOpenShiftRoutethen you can pass the OpenShift Ingress Controller name. External DNS selects the canonical hostname of that router as the target while creating CNAME record.
- 8
- Defines OpenShiftrouteresource as the source for the DNS records which gets created in the previously specified DNS provider.
 
- Check the records created for OCP routes using the following command: - gcloud dns record-sets list --zone=qe-cvs4g-private-zone | grep console - $ gcloud dns record-sets list --zone=qe-cvs4g-private-zone | grep console- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
16.7. Creating DNS records on Infoblox
You can create DNS records on Infoblox using the Red Hat External DNS Operator.
16.7.1. Creating DNS records on a public DNS zone on Infoblox
You can create DNS records on a public DNS zone on Infoblox by using the Red Hat External DNS Operator.
Prerequisites
- 
							You have access to the OpenShift CLI (oc).
- You have access to the Infoblox UI.
Procedure
- Create a - secretobject with Infoblox credentials by running the following command:- oc -n external-dns-operator create secret generic infoblox-credentials --from-literal=EXTERNAL_DNS_INFOBLOX_WAPI_USERNAME=<infoblox_username> --from-literal=EXTERNAL_DNS_INFOBLOX_WAPI_PASSWORD=<infoblox_password> - $ oc -n external-dns-operator create secret generic infoblox-credentials --from-literal=EXTERNAL_DNS_INFOBLOX_WAPI_USERNAME=<infoblox_username> --from-literal=EXTERNAL_DNS_INFOBLOX_WAPI_PASSWORD=<infoblox_password>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Get the routes objects to check your cluster domain by running the following command: - oc get routes --all-namespaces | grep console - $ oc get routes --all-namespaces | grep console- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - Example Output - openshift-console console console-openshift-console.apps.test.example.com console https reencrypt/Redirect None openshift-console downloads downloads-openshift-console.apps.test.example.com downloads http edge/Redirect None - openshift-console console console-openshift-console.apps.test.example.com console https reencrypt/Redirect None openshift-console downloads downloads-openshift-console.apps.test.example.com downloads http edge/Redirect None- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Create an - ExternalDNSresource YAML file, for example, sample-infoblox.yaml, as follows:- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Create an - ExternalDNSresource on Infoblox by running the following command:- oc create -f sample-infoblox.yaml - $ oc create -f sample-infoblox.yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- From the Infoblox UI, check the DNS records created for - consoleroutes:- 
									Click Data Management DNS Zones. 
- Select the zone name.
 
- 
									Click Data Management 
16.8. Configuring the cluster-wide proxy on the External DNS Operator
				You can configure the cluster-wide proxy in the External DNS Operator. After configuring the cluster-wide proxy in the External DNS Operator, Operator Lifecycle Manager (OLM) automatically updates all the deployments of the Operators with the environment variables such as HTTP_PROXY, HTTPS_PROXY, and NO_PROXY.
			
16.8.1. Configuring the External DNS Operator to trust the certificate authority of the cluster-wide proxy
You can configure the External DNS Operator to trust the certificate authority of the cluster-wide proxy.
Procedure
- Create the config map to contain the CA bundle in the - external-dns-operatornamespace by running the following command:- oc -n external-dns-operator create configmap trusted-ca - $ oc -n external-dns-operator create configmap trusted-ca- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- To inject the trusted CA bundle into the config map, add the - config.openshift.io/inject-trusted-cabundle=truelabel to the config map by running the following command:- oc -n external-dns-operator label cm trusted-ca config.openshift.io/inject-trusted-cabundle=true - $ oc -n external-dns-operator label cm trusted-ca config.openshift.io/inject-trusted-cabundle=true- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Update the subscription of the External DNS Operator by running the following command: - oc -n external-dns-operator patch subscription external-dns-operator --type='json' -p='[{"op": "add", "path": "/spec/config", "value":{"env":[{"name":"TRUSTED_CA_CONFIGMAP_NAME","value":"trusted-ca"}]}}]'- $ oc -n external-dns-operator patch subscription external-dns-operator --type='json' -p='[{"op": "add", "path": "/spec/config", "value":{"env":[{"name":"TRUSTED_CA_CONFIGMAP_NAME","value":"trusted-ca"}]}}]'- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
Verification
- After the deployment of the External DNS Operator is completed, verify that the trusted CA environment variable is added to the - external-dns-operatordeployment by running the following command:- oc -n external-dns-operator exec deploy/external-dns-operator -c external-dns-operator -- printenv TRUSTED_CA_CONFIGMAP_NAME - $ oc -n external-dns-operator exec deploy/external-dns-operator -c external-dns-operator -- printenv TRUSTED_CA_CONFIGMAP_NAME- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - Example output - trusted-ca - trusted-ca- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow