OpenShift

OpenShift

OpenShift를 사용해서 Haystack 파이프라인을 실행하는 애플리케이션을 배포하는 방법을 배워요.

출처: 문서

본문

소개

Red Hat의 OpenShift는 Kubernetes 위에 구축된 애플리케이션을 만들고 관리하는 데 도움을 주는 플랫폼이에요. Haystack 파이프라인을 실행하는 애플리케이션을 빌드·업데이트·실행·관리하는 데 쓸 수 있죠. 개발자 샌드박스(developer sandbox)가 제공되는데, 플랫폼에 익숙해지고 퍼블릭 클라우드·사설 네트워크·하이브리드 클라우드·엣지 컴퓨팅을 통해 매끄럽게 운영 환경으로 옮길 수 있는 프로토타입을 만드는 데 이상적이에요.

사전 요구 사항

Haystack 파이프라인을 배포하는 가장 빠른 방법은 Hayhooks를 실행하는 OpenShift 애플리케이션을 배포하는 거예요. 시작하기 전에 다음 사전 요구 사항을 확인하세요.

  • OpenShift 프로젝트 접근 권한: RedHat의 지침을 따라 만들고 바로 실험을 시작하세요.
  • Hayhooks 설치: pip install hayhooks 실행 후 hayhooks --version으로 동작을 확인하세요. Hayhooks에 대한 자세한 내용은 우리의 overview 또는 공식 Hayhooks 문서에서 확인하세요.
  • 선택적으로 OpenShift CLI 유틸리티 oc를 설치할 수 있어요. 플랫폼별 설치 지침을 따라 oc -h로 동작을 확인하세요.

더 알아보기 (Learn more)

Hayhooks 애플리케이션 만들기

이 가이드에서는 oc 명령줄을 사용할 건데, OpenShift 콘솔이 제공하는 사용자 인터페이스로도 같은 작업을 할 수 있어요.

  1. 첫 단계는 oc로 OpenShift 계정에 로그인하는 거예요. OpenShift 콘솔 오른쪽 위에서 사용자 이름을 클릭하고 메뉴를 연 뒤 Copy login command를 클릭하고 지침을 따르세요.

  2. 콘솔이 터미널에서 실행할 정확한 로그인 명령을 보여줘요. 대략 다음과 같은 형태예요.

oc login --token=<your-token> --server=https://<your-server-url>:6443
  1. 프로젝트가 이미 있다고 가정하고(개발자 샌드박스가 그렇죠), Docker Hub에서 제공되는 Hayhooks Docker 이미지를 실행하는 애플리케이션을 만들어요. 애플리케이션이 실행 시 사용할 환경 변수를 넘길 수 있다는 점을 눈여겨보세요. 여기서는 Haystack 내부 텔레메트리를 끄고, 나중에 Hayhooks에 배포할 파이프라인이 사용할 OpenAI 키를 설정해요.
oc new-app deepset/hayhooks:v1.23.0 -e HAYSTACK_TELEMETRY_ENABLED=false -e OPENAI_API_KEY=$OPENAI_API_KEY
  1. OpenShift의 애플리케이션 수명주기 관리 능력을 최대한 활용하려면 liveness probe를 설정할 수 있어요.
oc set probe deployment/hayhooks --liveness --get-url=http://:1416/status
  1. 마지막으로 Hayhooks 인스턴스를 공개 인터넷에 노출할 수 있어요.
oc expose service/hayhooks
  1. 애플리케이션에 할당된 공개 주소는 다음으로 얻을 수 있어요.
oc status

출력에서 다음과 같은 형태를 찾아보세요.

In project <your-project-name> on server https://<your-server-url>:6443

  http://hayhooks-XXX.openshiftapps.com to pod port 1416-tcp (svc/hayhooks)
  1. http://hayhooks-XXX.openshiftapps.com이 Hayhooks 인스턴스를 서비스하는 공개 URL이에요. 이 시점에서 Hayhooks 상태를 이렇게 조회할 수 있어요.
HAYHOOKS_HOST=hayhooks-XXX.openshiftapps.com HAYHOOKS_PORT=80 hayhooks status
  1. 마지막으로 평소처럼 파이프라인을 배포해요.
HAYHOOKS_HOST=hayhooks-XXX.openshiftapps.com HAYHOOKS_PORT=80 hayhooks pipeline deploy-files -n my_pipeline /path/to/my_pipeline_dir