5.6.2.5.2. 클러스터에서 배포로 실행
Operator 프로젝트를 클러스터에서 배포로 실행할 수 있습니다.
프로세스
다음
make명령을 실행하여 Operator 이미지를 빌드하고 내보냅니다. 액세스할 수 있는 리포지토리를 참조하려면 다음 단계에서IMG인수를 수정합니다. Quay.io와 같은 리포지토리 사이트에 컨테이너를 저장하기 위해 계정을 받을 수 있습니다.이미지를 빌드합니다.
$ make docker-build IMG=<registry>/<user>/<image_name>:<tag>참고Operator용 SDK에서 생성한 Dockerfile은
Go 빌드에대해GOARCH=amd64를 명시적으로 참조합니다. AMD64 이외의 아키텍처의 경우GOARCH=$TARGETARCH로 수정할 수 있습니다. Docker는 자동으로-platform에서 지정한 값으로 환경 변수를 설정합니다. Buildah를 사용하면-build-arg를 목적으로 사용해야 합니다. 자세한 내용은 다중 아키텍처를 참조하십시오.이미지를 리포지토리로 내보냅니다.
$ make docker-push IMG=<registry>/<user>/<image_name>:<tag>참고두 명령 모두 이미지의 이름과 태그(예:
IMG=<registry>/<user>/<image_name>:<tag>)를 Makefile에 설정할 수 있습니다. 기본 이미지 이름을 설정하려면IMG ?= controller:latest값을 수정합니다.
다음 명령을 실행하여 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파일은 이후 단계에서 적용됩니다.다음 명령을 실행하여 Operator를 배포합니다.
$ make deploy IMG=<registry>/<user>/<image_name>:<tag>다음 명령을 실행하여 이전 단계에서 생성한
rbac.yaml파일을 적용하여memcached-quarkus-operator-operator에cluster-admin권한을 부여합니다.$ oc apply -f rbac.yaml다음 명령을 실행하여 Operator가 실행 중인지 확인합니다.
$ oc get all -n default출력 예
NAME READY UP-TO-DATE AVAILABLE AGE pod/memcached-quarkus-operator-operator-7db86ccf58-k4mlm 0/1 Running 0 18s다음 명령을 실행하여
memcached-sample.yaml을 적용하고memcached-samplePod를 생성합니다.$ oc apply -f memcached-sample.yaml출력 예
memcached.cache.example.com/memcached-sample created
검증
다음 명령을 실행하여 Pod가 시작되었는지 확인합니다.
$ oc get all출력 예
NAME READY STATUS RESTARTS AGE pod/memcached-quarkus-operator-operator-7b766f4896-kxnzt 1/1 Running 1 79s pod/memcached-sample-6c765df685-mfqnz 1/1 Running 0 18s