18.3. 在云供应商上安装外部 DNS Operator
您可以在云供应商环境中安装外部 DNS Operator,如 AWS、Azure 和 GCP。
18.3.1. 使用 OperatorHub 安装 External DNS Operator
您可以使用 OpenShift Container Platform OperatorHub 安装外部 DNS Operator。
流程
-
在 OpenShift Container Platform Web 控制台中点 Operators
OperatorHub。 - 点 External DNS Operator。您可以使用 Filter by keyword 文本框或过滤器列表从 Operator 列表中搜索 External DNS Operator。
-
选择
external-dns-operator
命名空间。 - 在 External DNS Operator 页面中,点 Install。
在 Install Operator 页面中,确保选择了以下选项:
- 将频道更新为 stable-v1。
- 安装模式为 A specific name on the cluster。
-
安装的命名空间为
external-dns-operator
。如果命名空间external-dns-operator
不存在,它会在 Operator 安装过程中创建。 - 将 Approval Strategy 选为 Automatic 或 Manual。默认情况下,批准策略设置为 Automatic。
- 点 Install。
如果选择了 Automatic 更新,Operator Lifecycle Manager(OLM)将自动升级 Operator 的运行实例,而无需任何干预。
如果选择 手动 更新,则 OLM 会创建一个更新请求。作为集群管理员,您必须手动批准该更新请求,才可将 Operator 更新至新版本。
验证
验证 External DNS Operator 是否在 Installed Operators 仪表板上显示 Status 为 Succeeded。
18.3.2. 使用 CLI 安装 External DNS Operator
您可以使用 CLI 安装 External DNS Operator
先决条件
-
以具有
cluster-admin
权限的用户身份登录 OpenShift Container Platform Web 控制台。 -
已登陆到 OpenShift CLI (
oc
)。
流程
创建一个
Namespace
对象:创建定义
Namespace
对象的 YAML 文件:namespace.yaml
文件示例apiVersion: v1 kind: Namespace metadata: name: external-dns-operator
运行以下命令来创建
Namespace
对象:$ oc apply -f namespace.yaml
创建一个
OperatorGroup
对象:创建定义
OperatorGroup
对象的 YAML 文件:operatorgroup.yaml
文件示例apiVersion: operators.coreos.com/v1 kind: OperatorGroup metadata: name: external-dns-operator namespace: external-dns-operator spec: upgradeStrategy: Default targetNamespaces: - external-dns-operator
运行以下命令来创建
OperatorGroup
对象:$ oc apply -f operatorgroup.yaml
创建
Subscription
对象:创建定义
Subscription
对象的 YAML 文件:subscription.yaml
文件示例apiVersion: 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
运行以下命令来创建
Subscription
对象:$ oc apply -f subscription.yaml
验证
运行以下命令,从订阅获取安装计划的名称:
$ oc -n external-dns-operator \ get subscription external-dns-operator \ --template='{{.status.installplan.name}}{{"\n"}}'
运行以下命令,验证安装计划的状态是否为
Complete
:$ oc -n external-dns-operator \ get ip <install_plan_name> \ --template='{{.status.phase}}{{"\n"}}'
运行以下命令,验证
external-dns-operator
pod 的状态是否为Running
:$ oc -n external-dns-operator get pod
输出示例
NAME READY STATUS RESTARTS AGE external-dns-operator-5584585fd7-5lwqm 2/2 Running 0 11m
运行以下命令,验证订阅的目录源是否为
redhat-operators
:$ oc -n external-dns-operator get subscription
输出示例
NAME PACKAGE SOURCE CHANNEL external-dns-operator external-dns-operator redhat-operators stable-v1
运行以下命令检查
external-dns-operator
版本:$ 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