5.6.2.5. Operator 실행
다음 세 가지 방법으로 Operator SDK CLI를 사용하여 Operator를 빌드하고 실행할 수 있습니다.
- Go 프로그램으로 클러스터 외부에서 로컬로 실행합니다.
- 클러스터에서 배포로 실행합니다.
- Operator를 번들로 제공하고 OLM(Operator Lifecycle Manager)을 사용하여 클러스터에 배포합니다.
5.6.2.5.1. 클러스터 외부에서 로컬로 실행 링크 복사링크가 클립보드에 복사되었습니다!
Operator 프로젝트를 클러스터 외부의 Go 프로그램으로 실행할 수 있습니다. 이는 배포 및 테스트 속도를 높이기 위한 개발 목적에 유용합니다.
프로세스
다음 명령을 실행하여 Operator를 컴파일합니다.
$ mvn clean install출력 예
[INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 11.193 s [INFO] Finished at: 2021-05-26T12:16:54-04:00 [INFO] ------------------------------------------------------------------------다음 명령을 실행하여 CRD를 기본 네임스페이스에 설치합니다.
$ oc apply -f target/kubernetes/memcacheds.cache.example.com-v1.yml출력 예
customresourcedefinition.apiextensions.k8s.io/memcacheds.cache.example.com created다음 예와 같이
rbac.yaml이라는 파일을 생성합니다.apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: memcached-operator-admin subjects: - kind: ServiceAccount name: memcached-quarkus-operator-operator namespace: <operator_namespace> roleRef: kind: ClusterRole name: cluster-admin apiGroup: ""다음 명령을 실행하여
rbac.yaml파일을 적용하여memcached-quarkus-operator-operator에cluster-admin권한을 부여합니다.$ oc apply -f rbac.yaml다음 명령을 입력하여 Operator를 실행합니다.
$ java -jar target/quarkus-app/quarkus-run.jar참고java명령은 Operator를 실행하고 프로세스를 종료할 때까지 계속 실행됩니다. 이러한 명령의 나머지 부분을 완료하려면 다른 터미널이 필요합니다.다음 명령을 사용하여
memcached-sample.yaml파일을 적용합니다.$ kubectl apply -f memcached-sample.yaml출력 예
memcached.cache.example.com/memcached-sample created
검증
다음 명령을 실행하여 Pod가 시작되었는지 확인합니다.
$ oc get all출력 예
NAME READY STATUS RESTARTS AGE pod/memcached-sample-6c765df685-mfqnz 1/1 Running 0 18s