13.5. External DNS Operator のインストール
新しいプロジェクトを作成します。
$ oc new-project external-dns-operator
OperatorHub から
External DNS
Operator をインストールします。$ cat << EOF | oc apply -f - apiVersion: operators.coreos.com/v1 kind: OperatorGroup metadata: name: external-dns-group namespace: external-dns-operator spec: targetNamespaces: - external-dns-operator --- apiVersion: operators.coreos.com/v1alpha1 kind: Subscription metadata: name: external-dns-operator namespace: external-dns-operator spec: channel: stable-v1.1 installPlanApproval: Automatic name: external-dns-operator source: redhat-operators sourceNamespace: openshift-marketplace EOF
External DNS
Operator が実行されるまで待ちます。$ oc rollout status deploy external-dns-operator --timeout=300s
AWS IAM ユーザー認証情報からシークレットを作成します。
$ oc -n external-dns-operator create secret generic external-dns \ --from-file "${SCRATCH}/credentials"
ExternalDNS
コントローラーをデプロイします。$ cat << EOF | oc apply -f - apiVersion: externaldns.olm.openshift.io/v1beta1 kind: ExternalDNS metadata: name: ${DOMAIN} spec: domains: - filterType: Include matchType: Exact name: ${DOMAIN} provider: aws: credentials: name: external-dns type: AWS source: openshiftRouteOptions: routerName: external-dns-ingress type: OpenShiftRoute zones: - ${ZONE_ID} EOF
コントローラーが実行されるまで待ちます。
$ oc rollout status deploy external-dns-${DOMAIN} --timeout=300s