19.2. クラウドプロバイダーへの External DNS Operator のインストール
AWS、Azure、GCP などのクラウドプロバイダーに External DNS Operator をインストールできます。
19.2.1. OperatorHub を使用した External DNS Operator のインストール
OpenShift Container Platform OperatorHub を使用して、External DNS Operator をインストールできます。
手順
-
OpenShift Container Platform Web コンソールで、Operators
OperatorHub をクリックします。 - External DNS Operator をクリックします。Filter by keyword のテキストボックスまたはフィルターリストを使用して、Operator のリストから External DNS Operator を検索できます。
-
external-dns-operator
namespace を選択します。 - External DNS Operator ページで Install をクリックします。
Install Operator ページで、次のオプションを選択していることを確認してください。
- チャネルを stable-v1.0 として更新している。
- インストールモードに A specific name on the cluster を選択している。
-
namespace を
external-dns-operator
としてインストールしている。namespaceexternal-dns-operator
が存在しない場合は、Operator のインストール中に作成されます。 - 承認ストラテジー を Automatic または Manual として選択している。承認ストラテジーはデフォルトで Automatic に設定されます。
- Install をクリックします。
Automatic (自動) 更新を選択した場合、Operator Lifecycle Manager (OLM) は介入なしに、Operator の実行中のインスタンスを自動的にアップグレードします。
Manual 更新を選択した場合、OLM は更新要求を作成します。クラスター管理者は、Operator が新規バージョンに更新されるように更新要求を手動で承認する必要があります。
検証
Installed Operators ダッシュボードで、External DNS Operator の Status が Succeeded と表示されることを確認します。
19.2.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