5장. 함수 빌드

함수를 실행하려면 먼저 함수 프로젝트를 빌드해야 합니다. 이 작업은 kn func run 명령을 사용할 때 자동으로 수행되지만 실행하지 않고 함수를 빌드할 수도 있습니다.

5.1. 함수 빌드

함수를 실행하려면 먼저 함수 프로젝트를 빌드해야 합니다. kn func run 명령을 사용하는 경우 함수가 자동으로 빌드됩니다. 그러나 kn func build 명령을 사용하여 실행하지 않고 함수를 빌드할 수 있으며 고급 사용자 또는 디버깅 시나리오에 유용할 수 있습니다.

kn func build 명령은 컴퓨터 또는 OpenShift Container Platform 클러스터에서 로컬로 실행할 수 있는 OCI 컨테이너 이미지를 생성합니다. 이 명령은 함수 프로젝트 이름과 이미지 레지스트리 이름을 사용하여 함수의 정규화된 이미지 이름을 구성합니다.

5.1.1. 이미지 컨테이너 유형

기본적으로 kn func build 는 Red Hat S2I(Source-to-Image) 기술을 사용하여 컨테이너 이미지를 생성합니다.

Red Hat S2I(Source-to-Image)를 사용하는 빌드 명령 예

$ kn func build

5.1.2. 이미지 레지스트리 유형

OpenShift Container Registry는 기본적으로 함수 이미지를 저장하기 위해 이미지 레지스트리로 사용됩니다.

OpenShift Container Registry를 사용하는 빌드 명령 예

$ kn func build

출력 예

Building function image
Function image has been built, image: registry.redhat.io/example/example-function:latest

--registry 플래그를 사용하여 OpenShift Container Registry를 기본 이미지 레지스트리로 사용하여 재정의할 수 있습니다.

quay.io를 사용하도록 OpenShift Container Registry를 재정의하는 빌드 명령의 예

$ kn func build --registry quay.io/username

출력 예

Building function image
Function image has been built, image: quay.io/username/example-function:latest

5.1.3. push 플래그

kn func build 명령에 --push 플래그를 추가하여 성공적으로 빌드된 후 함수 이미지를 자동으로 푸시할 수 있습니다.

OpenShift Container Registry를 사용하는 빌드 명령 예

$ kn func build --push

5.1.4. 도움말 명령

help 명령을 사용하여 kn func build 명령 옵션에 대해 자세히 알아볼 수 있습니다.

빌드 도움말 명령

$ kn func help build