5.4.3.3.2. 클러스터에서 Ansible 기반 Operator 테스트
Ansible 기반 Operator 내부에서 로컬로 Ansible 논리를 실행하는 방법을 익히면 OpenShift Container Platform과 같은 Kubernetes 클러스터의 Pod 내부에서 Operator를 테스트할 수 있습니다. 프로덕션 환경에서는 클러스터에서 포드로 실행하는 것이 좋습니다.
절차
test1-operator
이미지를 빌드하여 레지스트리로 내보냅니다.$ operator-sdk build quay.io/example/test1-operator:v0.0.1
$ podman push quay.io/example/test1-operator:v0.0.1
배포 매니페스트는
deploy/operator.yaml
파일에 생성됩니다. 이 파일의 배포 이미지는 플레이스 홀더REPLACE_IMAGE
에서 이전에 빌드된 이미지로 수정해야 합니다. 이를 수행하려면 다음 명령을 실행합니다.$ sed -i 's|REPLACE_IMAGE|quay.io/example/test1-operator:v0.0.1|g' deploy/operator.yaml
macOS에서 이러한 단계를 수행하는 경우 대신 다음 명령을 사용합니다.
$ sed -i "" 's|REPLACE_IMAGE|quay.io/example/test1-operator:v0.0.1|g' deploy/operator.yaml
test1-operator
를 배포합니다.$ oc create -f deploy/crds/test1_v1alpha1_test1_crd.yaml 1
- 1
- CRD가 아직 없는 경우에만 필요합니다.
$ oc create -f deploy/service_account.yaml
$ oc create -f deploy/role.yaml
$ oc create -f deploy/role_binding.yaml
$ oc create -f deploy/operator.yaml
test1-operator
가 실행 중인지 확인합니다.$ oc get deployment
출력 예
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE test1-operator 1 1 1 1 1m
이제
test1-operator
에 대한 Ansible 로그를 볼 수 있습니다.$ oc logs deployment/test1-operator