19.2. 클라우드 공급자에 외부 DNS Operator 설치
AWS, Azure 및 GCP와 같은 클라우드 공급자에 외부 DNS Operator를 설치할 수 있습니다.
19.2.1. OperatorHub를 사용하여 외부 DNS Operator 설치
OpenShift Container Platform OperatorHub를 사용하여 외부 DNS Operator를 설치할 수 있습니다.
프로세스
-
OpenShift Container Platform 웹 콘솔에서 Operators
OperatorHub 를 클릭합니다. - External DNS Operator 를 클릭합니다. 키워드로 필터링 텍스트 상자 또는 필터 목록을 사용하여 Operator 목록에서 외부 DNS Operator를 검색할 수 있습니다.
-
external-dns-operator
네임스페이스를 선택합니다. - 외부 DNS Operator 페이지에서 설치를 클릭합니다.
Operator 설치 페이지에서 다음 옵션을 선택했는지 확인합니다.
- 채널을 stable-v1 로 업데이트합니다.
- 설치 모드를 클러스터의 특정 이름으로 설정합니다.
-
네임스페이스를
external-dns-operator
로 설치했습니다.external-dns-operator
네임스페이스가 없으면 Operator 설치 중에 생성됩니다. - 자동 또는 수동으로 승인 전략을 선택합니다. 승인 전략은 기본적으로 자동으로 설정됩니다.
- 설치를 클릭합니다.
자동 업데이트를 선택하면 OLM(Operator Lifecycle Manager)에서 개입 없이 Operator의 실행 중인 인스턴스를 자동으로 업그레이드합니다.
수동 업데이트를 선택하면 OLM에서 업데이트 요청을 생성합니다. 클러스터 관리자는 Operator를 새 버전으로 업데이트하려면 OLM 업데이트 요청을 수동으로 승인해야 합니다.
검증
External DNS Operator에 설치된 Operator 대시보드에서 상태가 성공으로 표시되는지 확인합니다.
19.2.2. CLI를 사용하여 외부 DNS Operator 설치
CLI를 사용하여 외부 DNS Operator를 설치할 수 있습니다.
사전 요구 사항
-
cluster-admin
권한이 있는 사용자로 OpenShift Container Platform 웹 콘솔에 로그인되어 있습니다. -
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