본문으로 건너뛰기

CLI 배포 (권장)

keynet-inference push 명령어로 추론 함수를 자동으로 빌드하고 배포합니다.

v0.8.5부터 지원

이 기능은 keynet-inference 0.8.5 버전부터 사용할 수 있습니다.

개요

CLI를 사용하면 복잡한 수동 과정 없이 한 번의 명령어로 배포가 완료됩니다.

자동화되는 작업:

  1. Docker 이미지 빌드
  2. Harbor registry에 push
  3. OpenWhisk 함수 등록
  4. MLflow model 연동

기존 방식 (수동):

# Dockerfile 작성 → 이미지 빌드 → Harbor push → Platform에서 함수 등록

CLI 방식:

keynet login https://gateway.aiplatform.re.kr
keynet-inference push inference.py
Docker 필수

CLI는 내부적으로 Docker를 사용합니다. Docker가 설치되어 있고 실행 중이어야 합니다.

사전 요구사항

  • 추론 함수 작성 완료
  • keynet-inference 0.8.5 이상 설치
  • Docker 설치 및 실행 중
  • KeyNet Platform 계정

CLI 명령어

keynet login

Platform 및 컨테이너 레지스트리 인증을 수행합니다.

keynet login https://gateway.aiplatform.re.kr

출력 예시:

Email: YOUR@EMAIL
Password:

✓ Platform authentication successful
✓ Harbor login successful
✓ Configuration saved

╭────────────────── Login Complete ───────────────────╮
│ │
│ Server: https://gateway.aiplatform.re.kr │
│ User: YOUR@EMAIL │
│ Expires: 2025-12-10T10:53:23.619082Z │
│ Config: /Users/hbjs/.keynet/config.yaml │
│ │
╰─────────────────────────────────────────────────────╯

인증 정보는 ~/.keynet/config.yaml에 저장되며, 이후 push 명령어 실행 시 자동으로 사용됩니다.

keynet-inference push

추론 스크립트를 Docker 이미지로 빌드하고 OpenWhisk 함수로 배포합니다.

keynet-inference push inference.py

추론 스크립트는 @keynet_function 데코레이터로 진입점을 정의해야 합니다. 자세한 내용은 추론 함수 작성을 참조하세요.

CLI 옵션:

# 커스텀 Dockerfile 사용
keynet-inference push inference.py --dockerfile custom.Dockerfile

# 특정 base image 사용
keynet-inference push inference.py --base-image openwhisk/action-python-v3.11:latest

# requirements.txt 경로 지정 (기본값: ./requirements.txt)
keynet-inference push inference.py --requirements ./deps/requirements.txt

# 빌드 컨텍스트 지정 (기본값: 현재 디렉토리)
keynet-inference push inference.py --context ./my-project

# 캐시 없이 빌드
keynet-inference push inference.py --no-cache
기본 동작

옵션을 지정하지 않으면:

  • 빌드 컨텍스트: 현재 디렉토리
  • requirements.txt: 현재 디렉토리의 requirements.txt 자동 사용 (있는 경우)
  • base_image: @keynet_function 데코레이터에서 지정한 값 사용

keynet logout

저장된 인증 정보를 삭제합니다.

keynet logout

자동 생성되는 Dockerfile

--dockerfile 옵션을 지정하지 않으면 다음과 같은 Dockerfile이 자동 생성됩니다:

FROM openwhisk/action-python-v3.12:latest

# requirements.txt 복사 및 설치 (있는 경우에만)
COPY requirements.txt* ./
RUN if [ -f requirements.txt ]; then \
pip install --no-cache-dir -r requirements.txt; \
fi
requirements.txt 처리
  • COPY requirements.txt* ./: 파일이 있으면 복사, 없으면 무시
  • if [ -f requirements.txt ]: 파일 존재 여부를 확인하여 조건부 설치
  • requirements.txt가 없어도 빌드가 실패하지 않습니다

배포 워크플로우

1. 로그인

keynet login https://gateway.aiplatform.re.kr

2. 배포

keynet-inference push inference.py

CLI가 다음을 자동으로 처리합니다:

  1. 추론 스크립트 검증 (@keynet_function 확인)
  2. Docker 이미지 빌드
  3. Harbor registry에 push
  4. OpenWhisk 함수 등록
requirements.txt 자동 인식

빌드 컨텍스트(현재 디렉토리)에 requirements.txt 파일이 있으면 자동으로 Docker 이미지에 포함되어 의존성이 설치됩니다.

배포가 완료되면 Platform에서 함수를 바로 사용할 수 있습니다.

CLI 통합 (v0.8.5)

CLI 명령어 통합 (v0.7.4+)

v0.7.4부터 login/logout 명령어는 keynet-core 패키지에서 공통 keynet CLI로 제공됩니다.

  • keynet login / keynet logout 명령어 사용 (통합됨)
  • Training과 Inference 모두 동일한 인증 사용
  • 인증 정보는 ~/.keynet/config.yaml에 통합 관리
  • 각 CLI(keynet-train, keynet-inference)는 자동으로 올바른 API 엔드포인트로 연결

다음 단계

배포가 완료되었다면 Platform에서 모델을 바인딩하고 이미지를 업로드하여 추론을 테스트할 수 있습니다.

고급 사용: